Codecrafter's "Build your own Claude Code" challenge
  • Rust 92.4%
  • Shell 7.6%
Find a file
2026-03-19 18:29:14 -03:00
.codecrafters chore: add a confirmation bypass for codecrafters runner 2026-03-19 18:29:14 -03:00
src chore: add a confirmation bypass for codecrafters runner 2026-03-19 18:29:14 -03:00
.gitattributes init [skip ci] 2026-03-16 00:01:39 +00:00
.gitignore Add .env to .gitignore 2026-03-16 01:12:43 -03:00
Cargo.lock feat: add user agreement to use tools via promt 2026-03-19 02:51:43 -03:00
Cargo.toml feat: add user agreement to use tools via promt 2026-03-19 02:51:43 -03:00
codecrafters.yml init [skip ci] 2026-03-16 00:01:39 +00:00
README.md init [skip ci] 2026-03-16 00:01:39 +00:00
your_program.sh init [skip ci] 2026-03-16 00:01:39 +00:00

progress-banner

This is a starting point for Rust solutions to the "Build Your own Claude Code" Challenge.

Claude Code is an AI coding assistant that uses Large Language Models (LLMs) to understand code and perform actions through tool calls. In this challenge, you'll build your own Claude Code from scratch by implementing an LLM-powered coding assistant.

Along the way you'll learn about HTTP RESTful APIs, OpenAI-compatible tool calling, agent loop, and how to integrate multiple tools into an AI assistant.

Note: If you're viewing this repo on GitHub, head over to codecrafters.io to try the challenge.

Passing the first stage

The entry point for your claude-code implementation is in src/main.rs. Study and uncomment the relevant code, and submit to pass the first stage:

codecrafters submit

Stage 2 & beyond

Note: This section is for stages 2 and beyond.

  1. Ensure you have cargo (1.93) installed locally.
  2. Run ./your_program.sh to run your program, which is implemented in src/main.rs. This command compiles your Rust project, so it might be slow the first time you run it. Subsequent runs will be fast.
  3. Run codecrafters submit to submit your solution to CodeCrafters. Test output will be streamed to your terminal.