specpro-cli 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. specpro_cli-0.1.0/.gitignore +24 -0
  2. specpro_cli-0.1.0/LICENSE +21 -0
  3. specpro_cli-0.1.0/PKG-INFO +117 -0
  4. specpro_cli-0.1.0/PUBLISHING.md +44 -0
  5. specpro_cli-0.1.0/README.md +88 -0
  6. specpro_cli-0.1.0/assets/commands/specpro.analyze.md +1102 -0
  7. specpro_cli-0.1.0/assets/commands/specpro.checklist.md +335 -0
  8. specpro_cli-0.1.0/assets/commands/specpro.clarify.md +581 -0
  9. specpro_cli-0.1.0/assets/commands/specpro.constitution.md +488 -0
  10. specpro_cli-0.1.0/assets/commands/specpro.feature.md +115 -0
  11. specpro_cli-0.1.0/assets/commands/specpro.implement.md +1881 -0
  12. specpro_cli-0.1.0/assets/commands/specpro.manual-test.md +206 -0
  13. specpro_cli-0.1.0/assets/commands/specpro.plan.md +3284 -0
  14. specpro_cli-0.1.0/assets/commands/specpro.qc.md +1489 -0
  15. specpro_cli-0.1.0/assets/commands/specpro.scenarios.md +154 -0
  16. specpro_cli-0.1.0/assets/commands/specpro.specify.md +1449 -0
  17. specpro_cli-0.1.0/assets/commands/specpro.status.md +863 -0
  18. specpro_cli-0.1.0/assets/commands/specpro.tasks.md +1207 -0
  19. specpro_cli-0.1.0/assets/commands/specpro.test-implement.md +462 -0
  20. specpro_cli-0.1.0/assets/commands/specpro.test-plan.md +383 -0
  21. specpro_cli-0.1.0/assets/commands/specpro.user-manual.md +178 -0
  22. specpro_cli-0.1.0/assets/scripts/bash/check-anti-coupling.sh +293 -0
  23. specpro_cli-0.1.0/assets/scripts/bash/check-prerequisites.sh +176 -0
  24. specpro_cli-0.1.0/assets/scripts/bash/common.sh +88 -0
  25. specpro_cli-0.1.0/assets/scripts/bash/create-new-feature.sh +336 -0
  26. specpro_cli-0.1.0/assets/scripts/bash/qc-auto-fix.sh +121 -0
  27. specpro_cli-0.1.0/assets/scripts/bash/setup-plan.sh +60 -0
  28. specpro_cli-0.1.0/assets/scripts/bash/verify-cumulative-records.sh +203 -0
  29. specpro_cli-0.1.0/assets/scripts/bash/verify-deliverables-tracked.sh +147 -0
  30. specpro_cli-0.1.0/assets/scripts/bash/verify-deployment.sh +239 -0
  31. specpro_cli-0.1.0/assets/scripts/bash/verify-frontmatter-yaml.sh +63 -0
  32. specpro_cli-0.1.0/assets/scripts/bash/verify-ledger.sh +376 -0
  33. specpro_cli-0.1.0/assets/scripts/bash/verify-shapes.sh +1082 -0
  34. specpro_cli-0.1.0/assets/scripts/git-hooks/pre-commit +243 -0
  35. specpro_cli-0.1.0/assets/scripts/install-git-hooks.sh +67 -0
  36. specpro_cli-0.1.0/assets/scripts/powershell/check-anti-coupling.ps1 +249 -0
  37. specpro_cli-0.1.0/assets/scripts/powershell/check-prerequisites.ps1 +148 -0
  38. specpro_cli-0.1.0/assets/scripts/powershell/common.ps1 +95 -0
  39. specpro_cli-0.1.0/assets/scripts/powershell/create-new-feature.ps1 +229 -0
  40. specpro_cli-0.1.0/assets/scripts/powershell/qc-auto-fix.ps1 +110 -0
  41. specpro_cli-0.1.0/assets/scripts/powershell/setup-plan.ps1 +61 -0
  42. specpro_cli-0.1.0/assets/scripts/powershell/verify-cumulative-records.ps1 +133 -0
  43. specpro_cli-0.1.0/assets/scripts/powershell/verify-deliverables-tracked.ps1 +112 -0
  44. specpro_cli-0.1.0/assets/scripts/powershell/verify-deployment.ps1 +278 -0
  45. specpro_cli-0.1.0/assets/scripts/powershell/verify-frontmatter-yaml.ps1 +56 -0
  46. specpro_cli-0.1.0/assets/scripts/powershell/verify-ledger.ps1 +383 -0
  47. specpro_cli-0.1.0/assets/scripts/powershell/verify-shapes.ps1 +978 -0
  48. specpro_cli-0.1.0/assets/templates/agent-context-template.md +49 -0
  49. specpro_cli-0.1.0/assets/templates/assumptions-template.md +248 -0
  50. specpro_cli-0.1.0/assets/templates/checklist-template.md +40 -0
  51. specpro_cli-0.1.0/assets/templates/clarifications-template.md +155 -0
  52. specpro_cli-0.1.0/assets/templates/constitution-template.md +50 -0
  53. specpro_cli-0.1.0/assets/templates/feature-spec-template.md +66 -0
  54. specpro_cli-0.1.0/assets/templates/plan-overview-template.md +150 -0
  55. specpro_cli-0.1.0/assets/templates/plan-template.md +387 -0
  56. specpro_cli-0.1.0/assets/templates/protocol-golden-bytes-guide.md +195 -0
  57. specpro_cli-0.1.0/assets/templates/requirements-template.md +356 -0
  58. specpro_cli-0.1.0/assets/templates/spec-template.md +267 -0
  59. specpro_cli-0.1.0/assets/templates/tasks-template.md +252 -0
  60. specpro_cli-0.1.0/assets/templates/test-tasks-template.md +174 -0
  61. specpro_cli-0.1.0/fallback/install.ps1 +22 -0
  62. specpro_cli-0.1.0/fallback/install.sh +29 -0
  63. specpro_cli-0.1.0/fallback/install_core.py +129 -0
  64. specpro_cli-0.1.0/hatch_build.py +37 -0
  65. specpro_cli-0.1.0/pyproject.toml +95 -0
  66. specpro_cli-0.1.0/release.sh +39 -0
  67. specpro_cli-0.1.0/specpro_cli/__init__.py +16 -0
  68. specpro_cli-0.1.0/specpro_cli/cli/__init__.py +5 -0
  69. specpro_cli-0.1.0/specpro_cli/cli/cmd_init.py +416 -0
  70. specpro_cli-0.1.0/specpro_cli/cli/cmd_remove.py +122 -0
  71. specpro_cli-0.1.0/specpro_cli/cli/entry.py +181 -0
  72. specpro_cli-0.1.0/specpro_cli/integrations/__init__.py +36 -0
  73. specpro_cli-0.1.0/specpro_cli/integrations/base.py +601 -0
  74. specpro_cli-0.1.0/specpro_cli/integrations/claude/__init__.py +101 -0
  75. specpro_cli-0.1.0/specpro_cli/integrations/copilot/__init__.py +153 -0
  76. specpro_cli-0.1.0/specpro_cli/integrations/cursor_agent/__init__.py +51 -0
  77. specpro_cli-0.1.0/specpro_cli/integrations/gemini/__init__.py +44 -0
  78. specpro_cli-0.1.0/specpro_cli/integrations/opencode/__init__.py +48 -0
  79. specpro_cli-0.1.0/specpro_cli/integrations/qodercli/__init__.py +54 -0
  80. specpro_cli-0.1.0/specpro_cli/integrations/registry.py +88 -0
  81. specpro_cli-0.1.0/specpro_cli/packaged/__init__.py +5 -0
  82. specpro_cli-0.1.0/specpro_cli/packaged/sync.py +106 -0
  83. specpro_cli-0.1.0/tests/.gitkeep +0 -0
  84. specpro_cli-0.1.0/tests/test_asset_snapshot.py +136 -0
  85. specpro_cli-0.1.0/tests/test_cli_entry.py +137 -0
  86. specpro_cli-0.1.0/tests/test_cli_interactive.py +147 -0
  87. specpro_cli-0.1.0/tests/test_cmd_init.py +254 -0
  88. specpro_cli-0.1.0/tests/test_cmd_remove.py +271 -0
  89. specpro_cli-0.1.0/tests/test_integrations.py +257 -0
  90. specpro_cli-0.1.0/tests/test_script_parity.py +1277 -0
  91. specpro_cli-0.1.0/tests/test_smoke.py +40 -0
@@ -0,0 +1,24 @@
1
+ # --- 独立仓库的工作树(各有自己的 .git,不进主仓库)---
2
+ # 显式声明:这三个目录是刻意的边界,不是遗漏。
3
+ /specs/
4
+ /docs/
5
+ /private/
6
+
7
+ # --- 自举部署镜像:由部署动作生成,非源 ---
8
+ .claude/
9
+ .specpro/
10
+
11
+ # --- 元数据与构建产物 ---
12
+ .DS_Store
13
+ __pycache__/
14
+ *.py[cod]
15
+ *.egg-info/
16
+ dist/
17
+ build/
18
+
19
+ # --- 安装 CLI 的构建产物与本地环境 ---
20
+ # 资产快照:构建期从仓库根同步,非手工维护(约束 C4)
21
+ tools/install/assets/
22
+ .venv/
23
+ venv/
24
+ .pytest_cache/
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Wu Wantong
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,117 @@
1
+ Metadata-Version: 2.5
2
+ Name: specpro-cli
3
+ Version: 0.1.0
4
+ Summary: Install specpro's distributed assets into a host project, for one of the supported AI coding agents.
5
+ Project-URL: Homepage, https://github.com/wutone55/specpro
6
+ Project-URL: Repository, https://github.com/wutone55/specpro
7
+ Project-URL: Issues, https://github.com/wutone55/specpro/issues
8
+ Author: Wu Wantong
9
+ License-Expression: MIT
10
+ License-File: LICENSE
11
+ Keywords: ai-coding,claude,development-workflow,sdd,spec-driven,specification
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Operating System :: MacOS
16
+ Classifier: Operating System :: Microsoft :: Windows
17
+ Classifier: Operating System :: POSIX :: Linux
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Topic :: Software Development :: Build Tools
22
+ Requires-Python: >=3.11
23
+ Requires-Dist: click
24
+ Requires-Dist: pathspec
25
+ Requires-Dist: pyyaml
26
+ Requires-Dist: rich
27
+ Requires-Dist: typer
28
+ Description-Content-Type: text/markdown
29
+
30
+ # Spec Pro
31
+
32
+ Better Spec-Driven Development Toolkit for AI Coding Agents.
33
+
34
+ specpro 把一套规范驱动开发(SDD)工作流装进你的项目:16 个斜杠命令(`/specpro-specify`、`/specpro-plan`、`/specpro-tasks`、`/specpro-implement`……)驱动 AI 编程助手按「规格 → 设计 → 任务 → 实现 → 测试」的链条交付功能,并自带核验器保证产物不漂移。
35
+
36
+ **需要**:一个 git 项目 + 至少一个受支持的 AI 编程助手(Claude Code / Copilot / Cursor / Gemini CLI / OpenCode / Qoder)。
37
+
38
+ ---
39
+
40
+ ## 安装(推荐:uv tool,约 30 秒)
41
+
42
+ ### 第 0 步 · 安装 uv(各平台任选其一)
43
+
44
+ ```bash
45
+ # macOS / Linux(官方脚本)
46
+ curl -LsSf https://astral.sh/uv/install.sh | sh
47
+
48
+ # macOS(Homebrew)
49
+ brew install uv
50
+
51
+ # Windows(PowerShell)
52
+ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
53
+
54
+ # Windows(winget)
55
+ winget install astral-sh.uv
56
+ ```
57
+
58
+ > uv 会自动管理 Python 解释器——**你不需要预装 Python**。
59
+
60
+ ### 第 1 步 · 安装 specpro-cli
61
+
62
+ **从本地 whl(离线包):**
63
+
64
+ ```bash
65
+ uv tool install ./specpro_cli-*.whl
66
+ ```
67
+
68
+ **从 PyPI(在线):**
69
+
70
+ ```bash
71
+ uv tool install specpro-cli
72
+ ```
73
+
74
+ ### 第 2 步 · 验证
75
+
76
+ ```bash
77
+ specpro --help
78
+ ```
79
+
80
+ 看到 SPEC PRO 头图与命令列表即安装成功。
81
+
82
+ ---
83
+
84
+ ## 使用
85
+
86
+ ```bash
87
+ cd 你的项目
88
+ specpro init # 交互式:确认目录 → 选择 AI 助手 → 装入工作流
89
+ specpro check # 自检:git 与各助手 CLI 是否就绪、项目内已装了什么
90
+ specpro version # 版本与系统信息
91
+ ```
92
+
93
+ `init` 完成后,在 AI 编程助手里即可使用 `/specpro-specify` 等斜杠命令。
94
+
95
+ ---
96
+
97
+ ## 升级与卸载
98
+
99
+ ```bash
100
+ uv tool upgrade specpro-cli # 升级到最新版
101
+ uv tool list # 查看已装工具
102
+ uv tool uninstall specpro-cli # 卸载(只移除 CLI;项目内已装入的文件用 specpro remove 清理)
103
+ ```
104
+
105
+ ---
106
+
107
+ ## 备选:手动 venv 安装(不使用 uv 时)
108
+
109
+ ```bash
110
+ python3 -m venv ~/.specpro-venv
111
+ ~/.specpro-venv/bin/pip install ./specpro_cli-*.whl
112
+ ~/.specpro-venv/bin/specpro init # 每次调用需带完整路径
113
+ ```
114
+
115
+ ---
116
+
117
+ **License**: MIT · **Repository**: https://github.com/wutone55/specpro
@@ -0,0 +1,44 @@
1
+ # Publishing specpro-cli — Maintainer Guide
2
+
3
+ > Maintainer-facing. The actual `publish` action needs a PyPI account + token — a one-time
4
+ > manual setup that is deliberately NOT part of the tool or the repository.
5
+
6
+ ## One-time setup
7
+
8
+ 1. Create a PyPI account (https://pypi.org/account/register/).
9
+ 2. Create an API token (https://pypi.org/manage/account/token/) — scope: entire account or `specpro-cli`.
10
+ 3. Keep it in your shell profile (never in the repository):
11
+
12
+ ```bash
13
+ export UV_PUBLISH_TOKEN="pypi-..."
14
+ ```
15
+
16
+ ## Release procedure
17
+
18
+ ```bash
19
+ cd tools/install
20
+
21
+ # 0. Bump the version in pyproject.toml FIRST — PyPI rejects same-version uploads.
22
+ # Single source: [project] version. Never re-publish the same number.
23
+
24
+ ./release.sh
25
+ ```
26
+
27
+ `release.sh` runs the four steps in order (FR-072):
28
+
29
+ | Step | What | Failure mode it prevents |
30
+ |------|------|--------------------------|
31
+ | 1 `uv build` | sdist + wheel from the current source | stale artifacts |
32
+ | 2 `uvx twine check dist/*` | metadata validation | gap discovered on PyPI instead of locally |
33
+ | 3 package `specpro-offline/` | whl + README + LICENSE for direct distribution | the offline channel drifting from the online one |
34
+ | 4 `uv publish` | upload to PyPI — **only when `UV_PUBLISH_TOKEN` is set**; without it steps 1–3 still complete | accidental publish |
35
+
36
+ ## Distribution
37
+
38
+ - **Online**: users install with `uv tool install specpro-cli`, upgrade with `uv tool upgrade`.
39
+ - **Offline**: hand out the `specpro-offline/` directory; users run `uv tool install ./specpro_cli-*.whl`.
40
+
41
+ ## Future enhancement (not in this version)
42
+
43
+ GitHub Actions Trusted Publishing (OIDC) — push a tag, CI builds and publishes without any
44
+ token. Requires the repository hosted on GitHub and a PyPI Trusted Publisher entry.
@@ -0,0 +1,88 @@
1
+ # Spec Pro
2
+
3
+ Better Spec-Driven Development Toolkit for AI Coding Agents.
4
+
5
+ specpro 把一套规范驱动开发(SDD)工作流装进你的项目:16 个斜杠命令(`/specpro-specify`、`/specpro-plan`、`/specpro-tasks`、`/specpro-implement`……)驱动 AI 编程助手按「规格 → 设计 → 任务 → 实现 → 测试」的链条交付功能,并自带核验器保证产物不漂移。
6
+
7
+ **需要**:一个 git 项目 + 至少一个受支持的 AI 编程助手(Claude Code / Copilot / Cursor / Gemini CLI / OpenCode / Qoder)。
8
+
9
+ ---
10
+
11
+ ## 安装(推荐:uv tool,约 30 秒)
12
+
13
+ ### 第 0 步 · 安装 uv(各平台任选其一)
14
+
15
+ ```bash
16
+ # macOS / Linux(官方脚本)
17
+ curl -LsSf https://astral.sh/uv/install.sh | sh
18
+
19
+ # macOS(Homebrew)
20
+ brew install uv
21
+
22
+ # Windows(PowerShell)
23
+ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
24
+
25
+ # Windows(winget)
26
+ winget install astral-sh.uv
27
+ ```
28
+
29
+ > uv 会自动管理 Python 解释器——**你不需要预装 Python**。
30
+
31
+ ### 第 1 步 · 安装 specpro-cli
32
+
33
+ **从本地 whl(离线包):**
34
+
35
+ ```bash
36
+ uv tool install ./specpro_cli-*.whl
37
+ ```
38
+
39
+ **从 PyPI(在线):**
40
+
41
+ ```bash
42
+ uv tool install specpro-cli
43
+ ```
44
+
45
+ ### 第 2 步 · 验证
46
+
47
+ ```bash
48
+ specpro --help
49
+ ```
50
+
51
+ 看到 SPEC PRO 头图与命令列表即安装成功。
52
+
53
+ ---
54
+
55
+ ## 使用
56
+
57
+ ```bash
58
+ cd 你的项目
59
+ specpro init # 交互式:确认目录 → 选择 AI 助手 → 装入工作流
60
+ specpro check # 自检:git 与各助手 CLI 是否就绪、项目内已装了什么
61
+ specpro version # 版本与系统信息
62
+ ```
63
+
64
+ `init` 完成后,在 AI 编程助手里即可使用 `/specpro-specify` 等斜杠命令。
65
+
66
+ ---
67
+
68
+ ## 升级与卸载
69
+
70
+ ```bash
71
+ uv tool upgrade specpro-cli # 升级到最新版
72
+ uv tool list # 查看已装工具
73
+ uv tool uninstall specpro-cli # 卸载(只移除 CLI;项目内已装入的文件用 specpro remove 清理)
74
+ ```
75
+
76
+ ---
77
+
78
+ ## 备选:手动 venv 安装(不使用 uv 时)
79
+
80
+ ```bash
81
+ python3 -m venv ~/.specpro-venv
82
+ ~/.specpro-venv/bin/pip install ./specpro_cli-*.whl
83
+ ~/.specpro-venv/bin/specpro init # 每次调用需带完整路径
84
+ ```
85
+
86
+ ---
87
+
88
+ **License**: MIT · **Repository**: https://github.com/wutone55/specpro