diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..6377948 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,29 @@ +name: Tests + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.11", "3.12"] + + steps: + - uses: actions/checkout@v4 + + - name: Install uv + uses: astral-sh/setup-uv@v4 + + - name: Set up Python ${{ matrix.python-version }} + run: uv python install ${{ matrix.python-version }} + + - name: Install dependencies + run: uv sync --dev + + - name: Run tests + run: uv run pytest tests/ -v --tb=short diff --git a/README.md b/README.md index f2b618f..7bdd476 100644 --- a/README.md +++ b/README.md @@ -319,6 +319,24 @@ CONFIG_DEFAULTS = { | `/todo show` | 查看当前计划 | | `/skills list` | 列出可用 Skill | +## 项目亮点 + +| 指标 | 数值 | +|------|------| +| 代码规模 | **7K LOC** | +| 模块数 | **71 modules** | +| 测试数 | **44 tests** | +| 内置工具 | **30+ built-in tools** | + +**为什么选择 LangCode:** + +- **对标 Claude Code 工程水准** — 六层架构(Layer 0–5),层间依赖严格单向,零循环引用 +- **纯 tool calling 路由** — 无脆弱的文本解析,LLM 输出结构化 tool_calls 直接驱动分发 +- **代码修改后强制验证** — auto_verify 不靠提示词"请检查",而是图节点强制跑 compile/import/lint/test +- **AST 语义级编辑** — 基于 tree-sitter 的重命名、加参数、加方法,比纯文本替换更安全 +- **生产级错误恢复** — 截断升级、prompt 压缩、模型 fallback、断路器,长会话不崩溃 +- **内存安全** — PythonTool 有内存看门狗,BashTool 有命令分类器,路径沙箱锁定工作目录 + ## 技术栈 - Python 3.11+ diff --git a/pyproject.toml b/pyproject.toml index 745df32..d88d3cb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "langcode" version = "0.1.0" -description = "Add your description here" +description = "Production-grade AI Code Agent on LangGraph" readme = "README.md" requires-python = ">=3.11" dependencies = [