npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

allthecodes

v0.1.10

Published

allthecodes CLI — AI-powered coding assistant

Downloads

4,394

Readme

allthecodes

allthecodes 是一个参考 Claude Code 的交互模型、工具系统和 agent 工作流,用 Rust 重新构建的高性能 AI 编程助手。它不是 Claude Code 的官方版本,也不是对原实现的逐文件翻译;这个项目在对照 Claude Code 行为的基础上,重新整理工程结构、运行时边界、IPC、Rust TUI、权限模型和工具系统,并融合了作者自己对 coding agent 的理解。

源项目地址:https://github.com/Crsei/claude-code-rust.git

创建这个新项目的直接原因很简单:原来的项目在长期快速迭代后,工程结构、模块边界和前后端耦合都变得比较混乱。继续在原结构里堆功能会让维护成本越来越高,所以 allthecodes 选择另开一个 Rust workspace,把核心能力重新梳理一遍,用更清晰的类型边界、更强的路径隔离和更可维护的模块组织来承载后续功能。

项目状态

allthecodes 目标是尽可能完整地覆盖 Claude Code 类工具的核心体验,并在 Rust 实现中补齐高性能、强类型、可观测和可扩展的工程基础。

目前功能完整度已经非常高,覆盖了日常 agent 编程工作所需的大部分能力。项目仍在持续更新,后续会继续对齐核心体验,并开发新的功能和自己的扩展能力。

这个项目仍可能存在 bug、边界行为不一致或平台相关问题。如果你在使用中遇到问题,可以通过 Issue 或 PR 反馈。

反馈入口:https://github.com/Crsei/claude-code-rust/issues

核心目标

  • 用 Rust 构建高性能、可维护的 coding agent 运行时。
  • 参考 Claude Code 的成熟交互体验,但不被原项目的历史包袱限制。
  • 保持完整功能取向,不以 Lite 或 Demo 为边界。
  • 强化工具执行、权限控制、会话恢复、路径隔离和 Rust TUI 的工程质量。
  • 在兼容主流工作流的同时,逐步加入 allthecodes 自己的新功能。

主要能力

  • 流式对话引擎:负责消息提交、上下文管理、工具调用、预算控制和结果输出。
  • Rust TUI:基于 ratatui/crossterm 的终端交互界面。
  • Headless IPC:支持 JSONL over stdio,方便外部前端、自动化测试和集成场景接入。
  • 工具系统:覆盖文件、搜索、Shell、任务、Agent、LSP、Web、MCP、Computer Use 等能力。
  • 权限与沙箱:按工具和运行模式控制高风险操作,降低误执行风险。
  • Skills 与插件:支持内置能力、用户技能和插件扩展。
  • 多后端模型接入:支持 Anthropic、OpenAI、Google、Azure、OpenAI Codex 等提供商相关路径。
  • 会话与记忆:支持会话持久化、恢复、上下文压缩和长期记忆相关能力。
  • Daemon/Web 模式:为后台任务、服务化运行和 Web UI 预留并持续完善运行时基础。

路径隔离

allthecodes 与 Claude Code/Codex 等工具可以共存在同一台机器上。为了避免互相污染,持久化路径默认使用 allthecodes 自己的目录。

| 用途 | 路径 | | --- | --- | | 全局数据目录 | ~/.allthecodes/ | | 项目配置 | .allthecodes/settings.json | | 项目技能 | .allthecodes/skills/ | | 凭据文件 | ~/.allthecodes/credentials.json | | Keychain 服务名 | allthecodes |

也可以通过 ALLTHECODES_HOME 指定全局数据目录。

通过 npm 安装

请先确保本机已安装 Node.js 18 或更高版本:

node --version
npm --version

Linux:

npm install -g [email protected]
allthecodes --version
allthecodes

macOS:

npm install -g [email protected]
allthecodes --version
allthecodes

Windows PowerShell:

npm install -g [email protected]
allthecodes --version
allthecodes

非交互式执行:

allthecodes -p "summarize this repository"

Web 后端模式:

allthecodes --web --web-port 17322 --no-open

npm 发布包只内置后端 API/WS 服务,不内置浏览器 SPA。需要本地 Web 前端时, 在独立的 sibling 前端仓库中启动开发服务器:

cd ../allthecodes-web
npm install
npm run dev

默认前端地址是 http://127.0.0.1:17321,它会把 /api/* 和 WebSocket 请求 代理到 http://127.0.0.1:17322

如果后端使用非默认端口,启动前端时同步设置代理目标:

# Terminal 1
allthecodes --web --web-port 18080 --no-open

# Terminal 2
cd ../allthecodes-web
ALLTHECODES_BACKEND_PORT=18080 npm run dev

临时运行,不全局安装:

npx [email protected] --help

构建

请先确保本机已安装 Rust toolchain,并且 cargorustcrustup 可在当前 shell 中使用:

cargo --version
rustc --version
rustup show active-toolchain

从仓库根目录构建:

cargo build --workspace --release

上面的命令会构建后端、TUI 和 Web API/WS 服务,默认包含剪贴板图片处理 (image) 和 TUI 代码块语法高亮 (syntect)。浏览器 SPA 不内置在二进制中; 需要 Web 前端时请运行独立的 sibling ../allthecodes-web 仓库。

运行版本检查:

target/release/allthecodes --version

交互式启动:

target/release/allthecodes

非交互式执行:

target/release/allthecodes -p "summarize this repository"

Web 后端模式:

target/release/allthecodes --web --web-port 17322 --no-open

发布构建使用 GitHub Actions 的 release workflow。推送 vX.Y.Z tag 时,tag 版本必须与 crates/allthecodes/Cargo.toml 一致;手动 workflow_dispatch 设置 dry_run=true 时只构建并暂存 npm tarball,不创建 GitHub Release,也不发布 npm。

本地验证 npm staging 时使用:

npm_config_cache=/tmp/allthecodes-npm-cache \
python3 scripts/stage_npm_packages.py \
  --release-version 0.1.0-test.1 \
  --package allthecodes-linux-x64 \
  --output-dir /tmp/allthecodes-npm-host-stage

stage_npm_packages.py 只构建后端 native binary,不构建或嵌入 ../allthecodes-web。 如果只发布 root wrapper 而不发布对应平台 native 包,用户安装后无法启动本机二进制。 npm_config_cache 只在当前机器的默认 npm cache/log 目录不可写时需要。

开发说明

仓库按 Rust workspace 拆分,核心 crate 位于 crates/ 下。

| 模块 | 说明 | | --- | --- | | crates/allthecodes | CLI、TUI、模式选择和应用入口 | | crates/allthecodes-engine | QueryEngine、agent runtime 和核心生命周期 | | crates/allthecodes-query | 流式查询循环 | | crates/allthecodes-tools | 工具注册、工具实现和工具策略 | | crates/allthecodes-commands | Slash command 系统 | | crates/allthecodes-config | 配置、路径和环境变量管理 | | crates/allthecodes-auth | API key、OAuth、credentials 和 keychain 相关逻辑 | | crates/allthecodes-permissions | 权限模式和危险操作控制 | | crates/allthecodes-session | 会话持久化与恢复 | | crates/allthecodes-ipc* | IPC 协议、传输和适配层 | | crates/allthecodes-skills | Skills 加载、定义和使用统计 | | crates/allthecodes-plugins | 插件发现、安装和运行时接入 | | crates/allthecodes-daemon | 常驻后台模式和任务运行时 | | crates/allthecodes-web | Web UI 服务和静态资源入口 |

开发时建议优先运行:

cargo fmt --all --check
cargo build --workspace --release

针对具体 crate 的测试示例:

cargo test -p allthecodes
cargo test -p allthecodes-tools

兼容与差异

allthecodes 会参考 Claude Code 的核心体验,但不会把原项目的历史结构照搬进 Rust。对于上游已有但当前实现仍有差异的部分,会按完整实现目标逐步补齐;如果某些缩减是有意保留,会在文档或变更说明中明确标注。

这意味着 allthecodes 的方向不是做一个最小可用替代品,而是做一个长期维护的 Rust 高性能版本。功能对齐、架构整理和新功能开发会同时推进。

Bug 反馈

如果遇到问题,请尽量提供以下信息:

  • 使用的系统和终端环境。
  • allthecodes --version 输出。
  • 触发问题的命令或操作步骤。
  • 相关配置路径是否使用了 ALLTHECODES_HOME
  • 可公开的错误日志、截图或最小复现仓库。

Issue 地址:https://github.com/Crsei/claude-code-rust/issues

License

allthecodes is licensed under the Apache License 2.0.