Agents In Use
What’s new todayLast update
160 use cases added today

How to use Claude to build a typed shell language

Claude helped build Shady's language tooling and converted its parser from pest to tree-sitter with existing tests passing. The author retained design responsibility and described the result as a buggy learning project.

Source published news.ycombinator.comAgent: Claude
OUR ADAPTATION

Suggested prompt

Suggested prompt written by Agents In Use, not the source author. Replace bracketed inputs and review tool permissions first.

Convert [language project's] parser from [current parser] to tree-sitter to support incremental parsing for [LSP server]. Preserve existing language behavior and run [test suite]. Explain any failures or unsupported behavior so I can review the design.

Evidence at a glance

Sourced account
Source poster / publisher
l9o
Original account
Read the source ↗
Published
Source link checked
Reported result
The project gained an LSP server, type checker and a tree-sitter parser with all existing tests passing. It remained a buggy toy with a broken autoformatter.
Human involvement
The author maintained tests, made design decisions and understood enough of the implementation to fix bugs and add features.

A linked account supports attribution. It does not mean we independently reproduced its result.

Report an issue with this caseOpen correction email

Opens your email app with the case link included. Nothing is sent automatically.

How the agent did it

  1. Make design decisions for the typed shell language while Claude writes code.
  2. Build language tooling including a type checker and LSP server.
  3. Identify incremental parsing as necessary during LSP development.

The author used Claude to build Shady, a typed shell scripting language, while retaining responsibility for its design. They describe it as a learning experiment and estimate that Claude wrote almost all the code. The project includes a type checker, an LSP server with autocompletion and go-to-definition, and an autoformatter that remains badly broken.

Shady functions manipulate processes and strings. Public functions automatically become CLI commands by converting their signatures into clap commands, including help output. Development exposed process pipeline deadlocks and type errors associated with incorrect source spans. The author also reports fixing a hanging three-process pipeline that required understanding pipe handles.

A specific change came when LSP development made incremental parsing necessary. The project originally used pest. With existing test coverage in place, Sonnet 4.5 converted the entire parser to tree-sitter, and the author says every test passed.

Despite the working features, the author calls Shady a toy with many bugs and says they would not use it for practical work. They credit the project with teaching them tree-sitter and the LSP protocol.

Who it's for: Developers exploring language tooling who want to learn through an experimental project and remain responsible for design and debugging.

Prompt
Suggested prompt (written by Agents In Use, not the author's)

Source: Hacker News · l9o

Frequently asked questions

How was the parser migration checked?

The author had maintained test coverage before asking Sonnet 4.5 to replace pest with tree-sitter. They report that the entire parser was converted and all tests passed.

Was Shady ready for practical use?

No. The author describes it as a toy with many bugs, calls the autoformatter badly broken and says it is not something they would use for anything.

More details

Remaining steps

  1. Have Sonnet 4.5 convert the parser from pest to tree-sitter.
  2. Run the existing tests and observe that all pass.

About this account

Claude wrote most of the code, including the parser conversion, while the author supplied guidance and made design decisions.

Platform: Hacker News. Attribution: https://news.ycombinator.com/item?id=46006184. Prompt: Suggested (written by Agents In Use, not the author's). Sourced by the Agents In Use pipeline.

Credit: l9o on Hacker News

Source published

Added to Agents In Use

Source checked

Tools and topics

Claude · Sonnet 4.5 · pest · tree-sitter · clap

Language tooling · Rust · Parser migration

Editorial completeness: 100/100. Measures documented fields, not agent performance or verified outcomes.