Claude Code does our releases now

2025-05-263:226978www.aluxian.com

Since Anthropic launched we've been using it at a lot. It's the best programming agent I've seen so far: it gives concise answers, it can run shell tools a...

aluxian

Since Anthropic launched Claude Code we've been using it at Molin a lot. It's the best programming agent I've seen so far: it gives concise answers, it can run shell tools as well as edit files, and it's smart enough to make the right call — most of the time. The UX is excellent, too: most times you just press Enter to approve or Esc to give it a new instruction.

Recently I've started automating some processes from our engineering team. Some of them were already optimised and thus quick, but less manual work is always better.

We release 1-3 times per week. This involves creating a PR, checking the diff, and then deploying our backend. If we modified the widget script that gets embedded on our merchants' websites then we need to publish that JS bundle too. Not that slow, but not that quick either.

Now Claude can do everything for us thanks to this file stored in .claude/release.md:

I need your help to create a new release PR. Releases always happen from branch `staging` into branch `main`.
Release PRs are always prefixed with `Release: ` and include a succinct but exhaustive list of what changed, e.g. `Release: refactored A, new B, fixed C`.
To generate the list of changes, simply look at the commit messages that are new in `staging` since `main` was last updated.
Do not create a new branch for the release, unless instructed. So please: 1. Check if there exists a release PR already. When you check, do not grep, just list ALL PRs.
2. If not, create a new PR from `staging` to `main` as explained above and show me the PR URL. Then stop and ask me if I want to merge it.
3. If I say "next" or "merge", then you must check if the PR has been merged. If it has been merged already, just say so.
4. If it has not been merged, then you must also check if all checks pass. List them for me.
5. If all checks passed, or I tell you to merge it anyway, then you must merge it.
6. If I say "deploy", then you must deploy the `main` branch to production. Do so by triggering the GitHub Actions workflow called `Deploy worker`.

Note: Edited for brevity. Claude always reads our README.md first for extra context.

When I run it, Claude will use gh and git and follow our checklist. Leverage!

We have similar commands for debugging product feeds, deployments, and more. Here's bootstrap.md:

We need to verify that the current dev environment is correctly set up. - verify that we have `node` + `npm` installed and which versions — if not installed then run `brew install node`
- ensure the `OrbStack.app` macOS app is installed - if not installed, then suggest the user to install it using `brew install orbstack` because it's the best way to run Docker on macOS
...

#engineering


Read the original article

Comments

  • By SCdF 2025-05-267:313 reply

    Is this not a bash script, but run through a "maybe it won't work this time" randomizer?

    Sometimes I feel like I live on another planet. Wouldn't you at least get Claude to write the bash script, confirm it works how you like, then run that? Why get an LLM to guess how to do it each and every time?

    At least they are still manually approving, which the title made sound like something they'd move on from.

    • By alanfranz 2025-05-267:441 reply

      We're moving fast from "we do this with AI because it's useful" to "we do this with AI because it's cool despite the fact that it's slower, more expensive, and non-deterministic"

      It's like the "we made over our product in order to use technology X because it's cool and modern" that we've seen multiple times with node, go, rust, k8s, blockchain, <enter technology here>.

      • By NekkoDroid 2025-05-268:221 reply

        > non-deterministic

        Counterpoint: temperature = 0 /s

        On a more serious note: I personally only found LLMs really interesting to double check my code if there might be something I overlooked in the general implementation (a different approach or so), never really for it to write code directly for me. I feel like this is just becoming less and less common nowadays and it kinda makes me worry for the quality of code that was already questionable at times...

        • By mchonedev 2025-05-2617:231 reply

          I know you used the /s but it's quite common that 0 temperature is believed to be deterministic. For others coming across this thread, it's not deterministic, it is simply less likely to return different tokens (it still absolutely will)

          • By lostmsu 2025-05-2623:35

            AFAIK it shouldn't.

    • By tarsinge 2025-05-2610:001 reply

      You are not the target. This is marketing content for their tool, aimed at semi technical people with buying power but not actual developers.

      • By alanfranz 2025-05-2611:36

        Oh, it is now flagged. I admit I didn't notice that was marketing content, I thought it was a genuine blogpost.

    • By blahgeek 2025-05-267:50

      And the bash script would be shorter and easier to write than the prompt.

  • By danw1979 2025-05-266:293 reply

    This is a fine example of a process you really want to be deterministic being automated using something that is definitely not.

    • By M4v3R 2025-05-266:401 reply

      I did something similar in my hobby project - the agent was promoted, among the other things, to copy a signature from a build artifact into a json file. It worked fine until it didn’t - one day Claude 4 Sonnet randomly flipped one letter in the signature to something else. It wasn’t the end of the world, I catched the error because I always manually test if the release worked, but it shows that AI tools should not be used as execution engines for CI/CD workflows. It’s slow, inefficient and error prone. Just ask the AI to help you write a proper workflow with code.

      • By littlestymaar 2025-05-266:491 reply

        > It’s slow, inefficient and error prone.

        And really expensive, which is why AI companies want you to do that.

        > Just ask the AI to help you write a proper workflow with code.

        This.

        • By CoolCold 2025-05-269:04

          I'm with you here and likely the next step would be yelling to to Cloud - basically the same and as we see how widespread Clouds are

    • By wg0 2025-05-267:23

      Thanks for pointing out something which by some is considered unpopular. Use AI tools all you want but wherever you want deterministic outcome - current generation isn't up to that level.

      We must acknowledge, understand and work around a technology's limitations.

    • By shermantanktop 2025-05-266:413 reply

      What is the deterministic alternative you suggest?

      I’m not endorsing this release practice in particular, it scares me. But I have been involved in a lot of automation projects where perfection was the initial goal, and then abandoned because it was obvious that non-automated work was so imperfect. Human error is a fact of life.

      • By ygouzerh 2025-05-267:02

        I am a DevOps Engineer, all the thing that he described in the prompt can be just done by Github Actions except the summary of the PR.

        I don't condemn using LLM, but at least they could have use it in order to write better Github Actions instead.

      • By forty 2025-05-266:53

        If you really have to use an IA, at least use it to generate code once and use that. This way it's deterministic and you get a chance to understand what happens and to debug issues.

        Not sure why IA could create something you couldn't however. And at least understanding what happens if part of the bundle.

      • By forkerenok 2025-05-266:521 reply

        The sibling comment from M4v3R covered this well.

        • By shermantanktop 2025-05-2615:571 reply

          Did it? I didn’t see a claim that doing this work manually had a zero error rate.

          Again, I would probably not do this. But let’s not pretend that non-AI release processes prevent all issues. We’re really talking different kinds of errors, and the ai driven ones tend to be obviously wrong. At least right now.

          • By danw1979 2025-05-278:25

            What I didn’t say was that “all devops release pipelines that use traditional scripted approaches are error free”.

  • By geuis 2025-05-266:461 reply

    We have a very small team and release at will. Some days multiple times, sometimes days between.

    We don't use AI, just have a well tested codebase and basic bash script automation mixed in with GitHub actions.

    Not bashing AI tools in particular, but just learning some basic decades old tooling and processes gets you pretty much all of the way there.

    • By beAbU 2025-05-267:22

      I tell my teams and stakeholders that releasing software is like exercising a muscle. It more it's automated, and the more frequently we do it, the less of a "thing" it becomes. Releasing should not be reserved for a single senior dev: any dev in the team should be able to release at any time, and the system should be set up with the appropriate guard rails to avoid stupid mistakes. Rollbacks should be trivial and everyone should know how to do it.

HackerNews