★ 206 Rust Apache-2.0 http 更新 1小时前

Tracey

CLI, Web, LSP, and MCP toolkit to measure spec coverage in Rust codebases

安装配置

暂未识别到可直接复制的 MCP 配置,请查看 GitHub README。后台管理员可以补充配置。

README 摘要

# tracey > **Note:** Looking for Tracy, the frame profiler? That's a different project: [wolfpld/tracy](https://github.com/wolfpld/tracy) Spec coverage for codebases. Tracks traceability between requirements (in markdown or StrictDoc) and implementations/tests (in source code). Catches spec drift before it becomes a problem. ## What it does Specs, implementations, and tests drift apart — code changes without updating specs, specs describe unimplemented features, tests cover different scenarios than requirements specify. Tracey uses lightweight annotations in source code comments to link specification requirements — written in markdown or StrictDoc (`.sdoc`) — with the implementing code and tests. This enables: - Verifying multiple implementations (different languages, platforms) match the same spec - Finding which requirements lack implementation or tests - Seeing which requirement justifies each piece of code - Analyzing impact when requirements or code changes - Detecting stale references when spec text changes but code annotations haven't been updated For the full specification, see [docs/spec/tracey.md](docs/spec/tracey.md). ## Installation ```bash # Pre-built binary (fast, from GitHub Releases) curl --proto '=https' --tlsv1.2 -LsSf https://github.com/bearcove/tracey/releases/latest/download/tracey-installer.sh | sh # Or build from source (main branch) cargo install --locked --git https://github.com/bearcove/tracey --branch main tracey ``` Pre-built binaries are available for `aarch64-apple-darwin`, `aarch64-unknown-linux-gnu`, `x86_64-unknown-linux-gnu`, `x86_64-pc-windows-msvc`, and `aarch64-pc-windows-msvc`. ## Quick Start ### 1. Define requirements in your spec Use the `r[req.id]` syntax to define requirements in a markdown specification document: ```markdown # Channel Management r[channel.id.allocation] Channel IDs MUST be allocated sequentially starting from 0. r[channel.id.parity] Client-initiated channels MUST use odd IDs, server-initiated channels MUST use even IDs. ``` The prefix (`r` in this case) can be any lowercase alphanumeric marker. Tracey infers it from the spec files. Specs authored in [StrictDoc](https://strictdoc.readthedocs.io/) (`.sdoc`) are loaded the same way — see [Writing Specs](docs/content/guide/writing-specs.md) for the syntax. Pick whichever format fits your project; they don't mix per spec. ### 2. Reference requirements in your code Add references in source code comments using `PREFIX[VERB REQ]`: ```rust // r[impl channel.id.allocation] fn allocate_channel_id(&mut self) -> u32 { let id = self.next_id; self.next_id += 1; id } // r[impl channel.id.parity] fn next_client_channel(&mut self) -> u32 { // ... } ``` ```rust // In test files: // r[verify channel.id.parity] #[test] fn client_channels_are_odd() { // ... } ``` Verbs: | Verb | Meaning | |------|---------| | `impl` | This code implements the requirement (default if verb omitted) | | `verify` | This code tests/verifies the requirement | | `depends` | This code depends on the requirement | | `related` | This code is related to the requirement | ### 3. Configure tracey Create `.config/tracey/config.styx`: ```styx specs ( { name my-spec include (docs/spec/**/*.md) impls ( { name rust include (src/**/*.rs) exclude (target/**) test_include (tests/**/*.rs) } ) } ) ``` Config fields: | Field | Description | |-------|-------------| | `name` | D...

相关 MCP

Trend Radar

⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的...

★ 58509 Python http 有配置
mcp Python http

Gin Vue Admin

🚀Vite+Vue3+Gin拥有AI辅助的基础开发平台,企业级业务AI+开发解决方案,内置mcp辅助服务,内置skills管理,支持TS和JS混用。它...

★ 24716 Go http 待补充
mcp Go http

Ai Guide

程序员鱼皮的 AI 资源大全 + Vibe Coding 零基础教程,分享 OpenClaw 保姆级教程、大模型玩法(DeepSeek / GPT / Gemini / Claud...

★ 14749 JavaScript http 待补充
mcp http JavaScript

Kreuzberg

A polyglot document intelligence framework with a Rust core. Extract text, metadata, images, and structured information...

★ 8402 Rust sse 有配置
mcp sse Rust