spec-probe
Check code against functional requirements in a spec (.md / .docx / .pdf). Use VS Code Copilot chat (/spec-cover, …) or the spec-probe CLI.
Workflow Overview
| Type | Step | Action | Description |
|---|---|---|---|
| One-time (Run once) | 1. Install & Skills | pip install spec-probe && spec-probe-skill --vscode |
Sets up package,.venv, and Copilot skills |
| 2. Auth | spec-probe-copilot-login |
Authenticates Copilot token via Device Flow | |
| 3. Configure | ~/.config/spec-probe/config.yaml |
Setsmodule_path, spec_path, related_modules |
|
| 4. Index Code | spec-probe-codegraph |
Builds symbol & call-graph index (excluding tests/mocks) | |
| 5. Domain Pack | /spec-pack (in chat) |
Extracts domain glossary, acronyms, and heuristics | |
| 6. Parse Spec | /spec-cover parse spec summary (in chat) |
Parses spec into requirements catalog inreports/specs/ |
|
| Daily (Run repeatedly) | 1. Verify FRs | /spec-cover verify FR ... (in chat) |
Verifies functional requirements against source code |
| 2. Export Report | /spec-cover write report (in chat) |
Exports full markdown report toreports/verifications/ |
|
| 3. Audit Report | /spec-audit (in chat) |
Audits coverage, validates evidence chains, confirms gaps |
1. One-Time Setup
Step 1: Install & Skills
pip install spec-probe
spec-probe-skill --vscode
- Installs
spec-probeand sets up Copilot skills in~/.copilot/skills/. - Initializes user directory and
.venvunder~/.config/spec-probe/. - Reload VS Code after running
spec-probe-skill.
Optional for Linux: sudo apt install ripgrep (faster grep search).
Step 2: Authenticate & API Keys (.env)
GitHub Copilot Token
spec-probe-copilot-login
- Open
https://github.com/login/devicein your browser. - Enter the 8-character code displayed in the terminal.
- Token is saved automatically to
COPILOT_GITHUB_TOKENin~/.config/spec-probe/.env.
Exacode API Key (Optional)
Used for auxiliary LLM jobs (enrich, translate, wiki, report).
- Open
http://exacode-chat.lge.com/key/(or clear and re-create your key). - Copy Key 2 (EXACODE SWE API).
- Add to
~/.config/spec-probe/.env:EXACODE_API_KEY="your_key_2_here" EXACODE_BASE_URL="http://exacode-chat.lge.com/v1"
(Details: Exacode for Copilot Chat)
Step 3: Configure Target Paths (config.yaml)
Edit ~/.config/spec-probe/config.yaml (use absolute paths):
input:
module_path: /abs/path/to/your/app
spec_path: /abs/path/to/spec.docx
related_modules:
# paths:
# - /abs/path/to/shared/service
Step 4: Index Code with Codegraph (Optional)
Accelerates symbol search and call-graph expansion across large C/C++ codebases:
spec-probe-codegraph
Reads module_path and related_modules.paths from config.yaml automatically. You can also specify paths directly: spec-probe-codegraph /path1 /path2. Tests and mocks are excluded automatically. Re-running syncs changes.
Step 5: Draft Domain Pack (Run once per module)
In VS Code Copilot chat:
/spec-pack
Scans your module code and draft a domain pack with keywords, architecture layers, and terminology under ~/.config/spec-probe/packs/.
Step 6: Parse Spec (Run once per spec)
In VS Code Copilot chat:
/spec-cover parse spec summary
Parses the requirements document into a structured catalog cached under ~/.config/spec-probe/reports/specs/ so subsequent verifications are fast.
2. Daily Workflow (VS Code Copilot Chat)
Once one-time setup is complete, use chat for regular verification:
Step 1: Verify Requirements (/spec-cover)
- Verify a specific requirement:
/spec-cover verify FR-001 - Or verify by requirement text:
/spec-cover check requirement: The module shall initialize within 500ms - Or verify a section:
/spec-cover verify section 3.2
(Note: In Copilot chat, typing naturally without /spec-cover like verify FR-001 also works via auto-intent matching, but /spec-cover ... is recommended for explicit routing).
Step 2: Export Report File
After verification completes in chat, type:
/spec-cover write report
Generates a full Markdown report under ~/.config/spec-probe/reports/verifications/ with clickable file links and evidence snippets.
Step 3: Audit Report (/spec-audit)
/spec-audit
Treats tool verdicts as hypotheses, validates evidence chains directly against source code, and confirms any actual implementation gaps.
CLI (optional)
spec-probe verify --module /abs/app --spec /abs/spec.md --fr FR-001
spec-probe check "The module shall …"
spec-probe parse --spec /abs/spec.md --summary
Paths default from ~/.config/spec-probe/config.yaml when omitted.
Release files for spec-probe 0.1.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| spec_probe-0.1.10.tar.gz | 251.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| spec_probe-0.1.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 514.8 kB
Release files / spec_probe-0.1.10.tar.gz
| Download URL | spec_probe-0.1.10.tar.gz |
|---|---|
| Size | 251.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bf6fedd58bd022e34ddb13594b0cf28955b56ca58db5a23e10aa50b7bac962c8
|
|
BLAKE2b-256 checksum How to use checksums |
deed33d83269cbf6d03bca7f3a5633aaed52f81a8c6cd348be6be84429bea907
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / spec_probe-0.1.10-py3-none-any.whl
| Download URL | spec_probe-0.1.10-py3-none-any.whl |
|---|---|
| Size | 263.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fe7e87fb1ca15539f6e8c879e1c0b38ca1cf9a946eb743b8539571ef47994518
|
|
BLAKE2b-256 checksum How to use checksums |
1b90cff473fc0905c794392cac8e6c615881dda8e39a4351c05ad48468199d4c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|