{"id":50726984,"url":"https://github.com/kuberwastaken/claurst","last_synced_at":"2026-06-27T06:00:59.430Z","repository":{"id":348378466,"uuid":"1197043989","full_name":"Kuberwastaken/claurst","owner":"Kuberwastaken","description":"Agentic Coding for Builders who Ship","archived":false,"fork":false,"pushed_at":"2026-06-26T08:05:06.000Z","size":9945,"stargazers_count":9863,"open_issues_count":35,"forks_count":7779,"subscribers_count":120,"default_branch":"main","last_synced_at":"2026-06-26T08:17:49.656Z","etag":null,"topics":["claude","claude-code","claurst","cli","codex","gemini","rust","tui"],"latest_commit_sha":null,"homepage":"https://claurst.kuber.studio/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kuberwastaken.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-31T09:23:58.000Z","updated_at":"2026-06-26T07:56:19.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Kuberwastaken/claurst","commit_stats":null,"previous_names":["kuberwastaken/claude-code","kuberwastaken/claurst"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/Kuberwastaken/claurst","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuberwastaken%2Fclaurst","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuberwastaken%2Fclaurst/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuberwastaken%2Fclaurst/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuberwastaken%2Fclaurst/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kuberwastaken","download_url":"https://codeload.github.com/Kuberwastaken/claurst/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuberwastaken%2Fclaurst/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34843147,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude","claude-code","claurst","cli","codex","gemini","rust","tui"],"created_at":"2026-06-10T05:00:35.181Z","updated_at":"2026-06-27T06:00:59.423Z","avatar_url":"https://github.com/Kuberwastaken.png","language":"Rust","funding_links":[],"categories":["CLIs"],"sub_categories":["Usage"],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003ch1\u003eCLAURST\u003c/h1\u003e\n\u003ch2\u003e\u003cem\u003eAgentic Coding for Builders who Ship\u003c/em\u003e\u003c/h2\u003e\n\u003cimg src=\"public/Ship.png\" alt=\"Rustle on the ship\" width=\"350\" /\u003e\n\n\u003cp\u003e\n    \u003ca href=\"https://github.com/kuberwastaken/claurst\"\u003e\u003cimg src=\"https://img.shields.io/badge/Built_with-Rust-CE4D2B?style=for-the-badge\u0026logo=rust\u0026logoColor=white\" alt=\"Built with Rust\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/kuberwastaken/claurst\"\u003e\u003cimg src=\"https://img.shields.io/badge/Version-0.1.6-2E8B57?style=for-the-badge\" alt=\"Version 0.1.6\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/kuberwastaken/claurst/blob/main/LICENSE.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-GPL--3.0-blue?style=for-the-badge\" alt=\"GPL-3.0 License\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr /\u003e\n\n\u003cimg src=\"public/screenshot.png\" alt=\"CLAURST in action\" width=\"1080\" /\u003e\n\u003c/div\u003e\n\n---\n\nClaurst is an **open-source, multi-provider terminal coding agent** built from the ground up in Rust. It started as a clean-room reimplementation of Claude Code's behavior (from [spec](https://github.com/kuberwastaken/claurst/tree/main/spec)) and has since evolved into an amazing TUI pair programmer with multi-provider support, a rich UI, plugin system, a companion named Rustle, chat forking, memory consolidation, and much more.\n\nIt's fast, it's memory-efficient, it's yours to run however you want, and there's no tracking or telemetry.\n\n---\n\n\u003e [!IMPORTANT]\n\u003e **Claurst is now officially in Beta (v0.1.6).** The core agent, multi-provider routing, and TUI are stable enough for daily driving — expect rough edges around experimental features (flagged below). Bug reports and PRs welcome.\n\n\u003e [!NOTE]\n\u003e **Recent Updates:**\n\u003e\n\u003e - **/share support:** Use `/share` to share chat sessions with others via unlisted GitHub Gists. `[EXPERIMENTAL]`\n\u003e\n\u003e - **Free Mode:** Try out Free in '/connect' to get a great agentic coding experience in Claurst for absolutely free (or as good as free gets you :P). `[EXPERIMENTAL]` \n\u003e\n\u003e - **/goal support:** Try out `/goal \u003cobjective\u003e` to see claurst keep working an objective, spanning multiple turns instead of stopping after one normal turn. `[EXPERIMENTAL]`\n\n---\n\n# Getting Started\n\n## Quick install (one-liner)\n\n**Linux / macOS:**\n\n```bash\ncurl -fsSL https://github.com/kuberwastaken/claurst/releases/latest/download/install.sh | bash\n```\n\n**Windows (PowerShell):**\n\n```powershell\nirm https://github.com/kuberwastaken/claurst/releases/latest/download/install.ps1 | iex\n```\n\nThis drops `claurst` into `~/.claurst/bin` (or `%USERPROFILE%\\.claurst\\bin` on Windows) and adds it to your `PATH` automatically. Open a new terminal and run `claurst`.\n\n## Via npm / bun\n\nIf you have Node.js or Bun installed, you can install Claurst as a global package. The postinstall script automatically downloads the right pre-built binary for your platform.\n\n```bash\n# npm\nnpm install -g claurst\n\n# bun\nbun install -g claurst\n\n# or run without installing\nnpx claurst\nbunx claurst\n```\n\nTo upgrade later, run:\n\n```bash\nclaurst upgrade\n```\n\n\u003e Pin a specific version with `--version 0.1.0` on either installer, or `claurst upgrade --version 0.1.0`.\n\n## Manual download\n\nIf you'd rather grab the binary yourself, the latest archives are on [**GitHub Releases**](https://github.com/kuberwastaken/claurst/releases):\n\n| Platform | Archive |\n|----------|---------|\n| **Windows** x86_64 | `claurst-windows-x86_64.zip` |\n| **Linux** x86_64 | `claurst-linux-x86_64.tar.gz` |\n| **Linux** aarch64 | `claurst-linux-aarch64.tar.gz` |\n| **macOS** Intel | `claurst-macos-x86_64.tar.gz` |\n| **macOS** Apple Silicon | `claurst-macos-aarch64.tar.gz` |\n\nEach archive contains a single `claurst` (or `claurst.exe`) binary. Extract it and put it on your `PATH`.\n\n## Build from source\n\n```bash\ngit clone https://github.com/kuberwastaken/claurst.git\ncd claurst/src-rust\ncargo build --release --package claurst\n\n# Binary is at target/release/claurst\n```\n\n**Raspberry Pi / systems without ALSA** (e.g. Debian Trixie, headless servers):\n\n```bash\n# Build without voice/microphone support — no libasound2-dev required\ncargo build --release --package claurst --no-default-features\n```\n\n## First run\n\n```bash\n# Set your API key (or use /connect inside Claurst to configure)\nexport ANTHROPIC_API_KEY=sk-ant-...\n\n# Start Claurst\nclaurst\n\n# Or run a one-shot headless query\nclaurst -p \"explain this codebase\"\n```\n\n## Devcontainer setup\n\nAfter cloning this repository, open it in VS Code and use Reopen in Container to start the development environment.\n\nPrerequisites:\n- Docker installed on your host machine: https://www.docker.com/products/docker-desktop/\n\nGPG and SSH forwarding is enabled in the devcontainer, given you have it set up on your host machine. Follow [this guide](https://code.visualstudio.com/remote/advancedcontainers/sharing-git-credentials) if you need help with that.\n\n### Devcontainer features\n\n- Base image: `rust:1-bullseye`.\n- Preinstalled build dependencies: `gnupg2`, `libasound2-dev`, `libxdo-dev`, and `pkg-config`.\n- Devcontainer features enabled: `common-utils` (with `vscode` user `uid/gid 1000` and Zsh install disabled), `git`, and `docker-outside-of-docker` (`moby: false`).\n- Runs as `vscode` user by default.\n- Persistent Cargo caches via named volumes for `/usr/local/cargo/registry` and `/usr/local/cargo/git`.\n- Binds local `.claurst` into `/home/vscode/.claurst` for local settings/session history access.\n- Sets `GNUPGHOME=/home/vscode/.gnupg` and prepends `src-rust/target/debug` and `src-rust/target/release` to `PATH`.\n- Post-create setup creates and permissions `.gnupg`, and fixes ownership for `/usr/local/cargo`.\n- VS Code setting `terminal.integrated.inheritEnv` is enabled.\n\n## Editor integration (Agent Client Protocol)\n\nClaurst speaks the [**Agent Client Protocol (ACP)**](https://agentclientprotocol.com) — the open protocol pioneered by Zed for editor-to-agent communication. Any ACP-compatible editor (Zed, Neovim, JetBrains plugins, …) can drive Claurst as a subprocess and present it in the editor's native chat UI.\n\nTo use Claurst as the agent in your editor, point its ACP integration at:\n\n```\ncommand: claurst\nargs:    [\"acp\"]\n```\n\n**Zed example** (`~/.config/zed/settings.json`):\n\n```jsonc\n{\n  \"agent_servers\": {\n    \"claurst\": {\n      \"command\": \"claurst\",\n      \"args\": [\"acp\"]\n    }\n  }\n}\n```\n\nClaurst will run in JSON-RPC 2.0 mode over stdio. It implements `initialize`, `session/new`, `session/prompt`, and `session/cancel`, streams `session/update` notifications (text deltas, agent thinking, tool calls with their progress + results), and routes every tool permission through `session/request_permission` so the editor can show a native approval dialog.\n\nConfigure your provider / API key in `~/.claurst/settings.json` (or `claurst auth login` / `claurst /connect`) before launching — the ACP agent uses the same credentials and providers as the interactive TUI.\n\nEnable verbose ACP logging (to stderr — never stdout, which would corrupt the protocol) by setting `CLAURST_ACP_LOG=debug`.\n\n### Listing on the ACP Registry\n\nThe [Agent Client Protocol registry](https://github.com/agentclientprotocol/registry) is the canonical directory editors look up when offering \"available agents\". To get Claurst listed:\n\n1. Fork [`agentclientprotocol/registry`](https://github.com/agentclientprotocol/registry).\n2. Create a `claurst/` folder at the repo root and drop in the prepared manifest from this repo: [`src-rust/crates/acp/registry-template/agent.json`](src-rust/crates/acp/registry-template/agent.json). Bump the `version` and release-archive URLs to match the latest GitHub release.\n3. Add `claurst/icon.svg` (16×16 recommended) — the Rustle logo from [`public/`](public/) is a fine starting point.\n4. Open a PR to the registry. The registry CI validates `agent.json` against [the schema](https://github.com/agentclientprotocol/registry/blob/main/agent.schema.json) before merge.\n\nAfter merge, Zed and other ACP-aware editors will pick up Claurst on their next registry refresh.\n\n## Documentation\n\nFor more info on how to configure Claurst, [head over to our docs](https://claurst.kuber.studio/docs).\n\n\u003e**PS:** The original breakdown of the findings from Claude Code's source that started this project is on [my blog](https://kuber.studio/blog/AI/Claude-Code's-Entire-Source-Code-Got-Leaked-via-a-Sourcemap-in-npm,-Let's-Talk-About-it) - the full technical writeup of what was found, how the leak happened, and what it revealed.\n\n---\n\n## Contributing\n\nClaurst is built for the community, by the community and we'd love your help making it better.\nPlease see and include AGENTS.md for project-specific rules (for both humans and agents).\n\n[Open an issue](https://github.com/Kuberwastaken/claurst/issues/new) for bugs, ideas, or questions, or [Raise a PR](https://github.com/Kuberwastaken/claurst/pulls/new) to fix bugs, add features, or improve documentation.\n\n---\n\n## Important Notice\n\nThis repository does not hold a copy of the proprietary Claude Code TypeScript source code.\nThis is a **clean-room Rust reimplementation** of Claude Code's behavior.\n\nThe process was explicitly two-phase:\n\n**Specification** [`spec/`](https://github.com/kuberwastaken/claurst/tree/main/spec) — An AI agent analyzed the source and produced exhaustive behavioral specifications and improvements, deviated from the original: architecture, data flows, tool contracts, system designs. No source code was carried forward.\n\n**Implementation** [`src-rust/`](https://github.com/kuberwastaken/claurst/tree/main/src-rust) — A separate AI agent implemented from the spec alone, never referencing the original TypeScript. The output is idiomatic Rust that reproduces the behavior, not the expression.\n\nThis mirrors the legal precedent established by Phoenix Technologies v. IBM (1984) — clean-room engineering of the BIOS — and the principle from Baker v. Selden (1879) that copyright protects expression, not ideas or behavior.\n\n---\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkuberwastaken%2Fclaurst","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkuberwastaken%2Fclaurst","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkuberwastaken%2Fclaurst/lists"}