Skip to content

Experiment with native implementations#1171

Open
ecraig12345 wants to merge 39 commits intomainfrom
ecraig/native
Open

Experiment with native implementations#1171
ecraig12345 wants to merge 39 commits intomainfrom
ecraig/native

Conversation

@ecraig12345
Copy link
Member

@ecraig12345 ecraig12345 commented Mar 6, 2026

This is not intended to be checked in--it's just an experiment to see how Claude does at porting TS to Rust and Go, and how easily the code translates to each language. (Benefits of a native version of beachball are more questionable compared to some other tools like Lage or Cloudpack, but I chose beachball to experiment since it's simpler and has decent test coverage.)

To start out, I had it only implement the check command and a non-interactive version of the change command.

go/README.md and rust/README.md outline the commands to build/test/lint each language.

For Claude specifically, I created a general CLAUDE.md which points to .claude skills for Rust and Go. Turns out it's important to be VERY firm in the instructions that the TS source is authoritative and it must not change or remove behavior.

See the presentation outline for more on the prompting issues and other takeaways. The biggest issue is that since I don't know the languages, I can't meaningfully evaluate the code quality--it passes the tests, but I have no idea if it's full of anti-patterns or the architecture is just weird for the language.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant