ai-forge-cli 2.0.2__tar.gz → 2.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 (93) hide show
  1. {ai_forge_cli-2.0.2 → ai_forge_cli-2.1.0}/LICENSE +5 -5
  2. ai_forge_cli-2.1.0/PKG-INFO +98 -0
  3. ai_forge_cli-2.1.0/README.md +72 -0
  4. ai_forge_cli-2.1.0/pyproject.toml +56 -0
  5. ai_forge_cli-2.1.0/src/ai_forge_cli.egg-info/PKG-INFO +98 -0
  6. ai_forge_cli-2.1.0/src/ai_forge_cli.egg-info/SOURCES.txt +38 -0
  7. ai_forge_cli-2.1.0/src/ai_forge_cli.egg-info/requires.txt +4 -0
  8. ai_forge_cli-2.1.0/src/cli/__init__.py +3 -0
  9. {ai_forge_cli-2.0.2 → ai_forge_cli-2.1.0}/src/cli/__main__.py +1 -0
  10. ai_forge_cli-2.1.0/src/cli/assets/agents_skills/forge-build/SKILL.md +163 -0
  11. ai_forge_cli-2.1.0/src/cli/assets/agents_skills/forge-cast/SKILL.md +108 -0
  12. ai_forge_cli-2.1.0/src/cli/assets/agents_skills/forge-discover/SKILL.md +203 -0
  13. ai_forge_cli-2.1.0/src/cli/assets/agents_skills/forge-plan/SKILL.md +128 -0
  14. ai_forge_cli-2.1.0/src/cli/assets/agents_skills/forge-review/SKILL.md +137 -0
  15. ai_forge_cli-2.1.0/src/cli/assets/agents_skills/forge-spec/SKILL.md +225 -0
  16. ai_forge_cli-2.1.0/src/cli/assets/agents_skills/forge-validate/SKILL.md +116 -0
  17. ai_forge_cli-2.1.0/src/cli/assets/docs/forge-v2-architecture.md +594 -0
  18. ai_forge_cli-2.1.0/src/cli/assets/docs/forge-v2-schema.md +802 -0
  19. ai_forge_cli-2.1.0/src/cli/assets/frameworks/cast/FRAMEWORK.md +32 -0
  20. ai_forge_cli-2.1.0/src/cli/assets/frameworks/discover/FRAMEWORK.md +68 -0
  21. ai_forge_cli-2.1.0/src/cli/assets/frameworks/plan/FRAMEWORK.md +35 -0
  22. ai_forge_cli-2.1.0/src/cli/assets/frameworks/review/FRAMEWORK.md +30 -0
  23. ai_forge_cli-2.1.0/src/cli/assets/frameworks/spec/FRAMEWORK.md +60 -0
  24. ai_forge_cli-2.1.0/src/cli/assets/frameworks/validate/FRAMEWORK.md +31 -0
  25. ai_forge_cli-2.1.0/src/cli/commands/__init__.py +11 -0
  26. ai_forge_cli-2.1.0/src/cli/commands/base.py +17 -0
  27. ai_forge_cli-2.1.0/src/cli/commands/context.py +283 -0
  28. ai_forge_cli-2.1.0/src/cli/commands/graph.py +1042 -0
  29. ai_forge_cli-2.1.0/src/cli/commands/init.py +461 -0
  30. ai_forge_cli-2.1.0/src/cli/commands/list.py +114 -0
  31. ai_forge_cli-2.1.0/src/cli/common.py +32 -0
  32. ai_forge_cli-2.1.0/src/cli/forge.py +32 -0
  33. ai_forge_cli-2.1.0/src/cli/schema.py +148 -0
  34. ai_forge_cli-2.1.0/src/cli/workbench.py +34 -0
  35. ai_forge_cli-2.1.0/tests/test_cli.py +146 -0
  36. ai_forge_cli-2.1.0/tests/test_examples.py +32 -0
  37. ai_forge_cli-2.0.2/PKG-INFO +0 -8
  38. ai_forge_cli-2.0.2/README.md +0 -269
  39. ai_forge_cli-2.0.2/pyproject.toml +0 -24
  40. ai_forge_cli-2.0.2/src/ai_forge_cli.egg-info/PKG-INFO +0 -8
  41. ai_forge_cli-2.0.2/src/ai_forge_cli.egg-info/SOURCES.txt +0 -57
  42. ai_forge_cli-2.0.2/src/ai_forge_cli.egg-info/requires.txt +0 -1
  43. ai_forge_cli-2.0.2/src/cli/__init__.py +0 -2
  44. ai_forge_cli-2.0.2/src/cli/bundle.py +0 -104
  45. ai_forge_cli-2.0.2/src/cli/commands/__init__.py +0 -32
  46. ai_forge_cli-2.0.2/src/cli/commands/base.py +0 -26
  47. ai_forge_cli-2.0.2/src/cli/commands/context.py +0 -65
  48. ai_forge_cli-2.0.2/src/cli/commands/find.py +0 -121
  49. ai_forge_cli-2.0.2/src/cli/commands/graph.py +0 -715
  50. ai_forge_cli-2.0.2/src/cli/commands/init.py +0 -302
  51. ai_forge_cli-2.0.2/src/cli/commands/inspect.py +0 -153
  52. ai_forge_cli-2.0.2/src/cli/commands/list_cmd.py +0 -72
  53. ai_forge_cli-2.0.2/src/cli/commands/update.py +0 -77
  54. ai_forge_cli-2.0.2/src/cli/commands/validate.py +0 -396
  55. ai_forge_cli-2.0.2/src/cli/common.py +0 -114
  56. ai_forge_cli-2.0.2/src/cli/forge.py +0 -69
  57. ai_forge_cli-2.0.2/src/cli/framework.yaml +0 -228
  58. ai_forge_cli-2.0.2/src/cli/index.py +0 -277
  59. ai_forge_cli-2.0.2/src/cli/skills/forge-build/SKILL.md +0 -146
  60. ai_forge_cli-2.0.2/src/cli/skills/forge-build/references/framework.md +0 -564
  61. ai_forge_cli-2.0.2/src/cli/skills/forge-build/references/framework.yaml +0 -228
  62. ai_forge_cli-2.0.2/src/cli/skills/forge-build/references/templates.yaml +0 -364
  63. ai_forge_cli-2.0.2/src/cli/skills/forge-cast/SKILL.md +0 -136
  64. ai_forge_cli-2.0.2/src/cli/skills/forge-cast/references/framework.md +0 -564
  65. ai_forge_cli-2.0.2/src/cli/skills/forge-cast/references/framework.yaml +0 -228
  66. ai_forge_cli-2.0.2/src/cli/skills/forge-cast/references/templates.yaml +0 -364
  67. ai_forge_cli-2.0.2/src/cli/skills/forge-design/SKILL.md +0 -107
  68. ai_forge_cli-2.0.2/src/cli/skills/forge-design/references/framework.md +0 -564
  69. ai_forge_cli-2.0.2/src/cli/skills/forge-design/references/framework.yaml +0 -228
  70. ai_forge_cli-2.0.2/src/cli/skills/forge-design/references/templates.yaml +0 -364
  71. ai_forge_cli-2.0.2/src/cli/skills/forge-review/SKILL.md +0 -218
  72. ai_forge_cli-2.0.2/src/cli/skills/forge-review/references/framework.md +0 -564
  73. ai_forge_cli-2.0.2/src/cli/skills/forge-review/references/framework.yaml +0 -228
  74. ai_forge_cli-2.0.2/src/cli/skills/forge-review/references/templates.yaml +0 -364
  75. ai_forge_cli-2.0.2/src/cli/skills/forge-spec/SKILL.md +0 -144
  76. ai_forge_cli-2.0.2/src/cli/skills/forge-spec/references/framework.md +0 -564
  77. ai_forge_cli-2.0.2/src/cli/skills/forge-spec/references/framework.yaml +0 -228
  78. ai_forge_cli-2.0.2/src/cli/skills/forge-spec/references/templates.yaml +0 -364
  79. ai_forge_cli-2.0.2/src/cli/skills/forge-validate/SKILL.md +0 -143
  80. ai_forge_cli-2.0.2/src/cli/skills/forge-validate/references/framework.md +0 -564
  81. ai_forge_cli-2.0.2/src/cli/skills/forge-validate/references/framework.yaml +0 -228
  82. ai_forge_cli-2.0.2/src/cli/skills/forge-validate/references/templates.yaml +0 -364
  83. ai_forge_cli-2.0.2/src/cli/walker.py +0 -275
  84. ai_forge_cli-2.0.2/tests/test_cli.py +0 -153
  85. ai_forge_cli-2.0.2/tests/test_find.py +0 -106
  86. ai_forge_cli-2.0.2/tests/test_index.py +0 -157
  87. ai_forge_cli-2.0.2/tests/test_init.py +0 -105
  88. ai_forge_cli-2.0.2/tests/test_update.py +0 -97
  89. ai_forge_cli-2.0.2/tests/test_walker.py +0 -113
  90. {ai_forge_cli-2.0.2 → ai_forge_cli-2.1.0}/setup.cfg +0 -0
  91. {ai_forge_cli-2.0.2 → ai_forge_cli-2.1.0}/src/ai_forge_cli.egg-info/dependency_links.txt +0 -0
  92. {ai_forge_cli-2.0.2 → ai_forge_cli-2.1.0}/src/ai_forge_cli.egg-info/entry_points.txt +0 -0
  93. {ai_forge_cli-2.0.2 → ai_forge_cli-2.1.0}/src/ai_forge_cli.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 William James
3
+ Copyright (c) 2026 Will Defina
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -9,13 +9,13 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
9
  copies of the Software, and to permit persons to whom the Software is
10
10
  furnished to do so, subject to the following conditions:
11
11
 
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
14
 
15
15
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
16
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
17
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
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
21
- THE SOFTWARE.
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,98 @@
1
+ Metadata-Version: 2.4
2
+ Name: ai-forge-cli
3
+ Version: 2.1.0
4
+ Summary: Forge V2 schema runtime and workbench CLI
5
+ Author: Will Defina
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/GreyFlames07/forge
8
+ Project-URL: Repository, https://github.com/GreyFlames07/forge
9
+ Project-URL: Issues, https://github.com/GreyFlames07/forge/issues
10
+ Project-URL: Documentation, https://github.com/GreyFlames07/forge
11
+ Keywords: forge,software-architecture,schema,cli,agentic-development
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3 :: Only
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Environment :: Console
17
+ Classifier: Topic :: Software Development :: Code Generators
18
+ Classifier: Topic :: Software Development :: Documentation
19
+ Requires-Python: >=3.11
20
+ Description-Content-Type: text/markdown
21
+ License-File: LICENSE
22
+ Requires-Dist: pyyaml>=6.0
23
+ Provides-Extra: dev
24
+ Requires-Dist: pytest>=8; extra == "dev"
25
+ Dynamic: license-file
26
+
27
+ # Forge V2
28
+
29
+ Forge V2 is a schema runtime, workbench CLI, and skill/framework system for building software vertically while preserving a working bootstrap path throughout the build.
30
+
31
+ ## What is in this repo
32
+
33
+ - `docs/forge-v2-schema.md` — the V2 schema contract
34
+ - `docs/forge-v2-architecture.md` — the V2 architecture and workbench model
35
+ - `frameworks/` — stage framework definitions
36
+ - `skills/` — skill source files
37
+ - `.agents/skills/` — installable agent skill folders
38
+ - `src/cli/` — the Forge V2 CLI
39
+
40
+ ## Local development
41
+
42
+ ```bash
43
+ uv venv --python 3.13 .venv
44
+ uv pip install -e . pytest
45
+ .venv/bin/pytest -q
46
+ ```
47
+
48
+ ## Install the CLI and skills locally
49
+
50
+ ```bash
51
+ ./scripts/install-skills.sh install
52
+ ```
53
+
54
+ This links the packaged Forge skills into:
55
+
56
+ - `~/.claude/skills` for Claude Code
57
+ - `~/.codex/skills` for Codex
58
+ - `~/.agents/skills` for agentskills.io-compatible clients such as VS Code Copilot and Cursor
59
+ - `~/.copilot/skills` as an additional Copilot-local target when `~/.copilot/` already exists
60
+
61
+ ## Build distributions
62
+
63
+ ```bash
64
+ uv build
65
+ ```
66
+
67
+ This produces:
68
+
69
+ - `dist/*.tar.gz`
70
+ - `dist/*.whl`
71
+
72
+ ## Release model
73
+
74
+ - CI runs tests and a smoke build on `main` pushes and PRs
75
+ - tagged releases `v*.*.*` build sdist and wheel
76
+ - release workflow publishes artifacts to GitHub Releases and PyPI
77
+
78
+ ## Quick smoke test
79
+
80
+ ```bash
81
+ ./.venv/bin/forge init --root /tmp/forge-smoke --profile cli-tool --name "Smoke" --id smoke
82
+ ./.venv/bin/forge list --forge-dir /tmp/forge-smoke/forge
83
+ ./.venv/bin/forge context core --forge-dir /tmp/forge-smoke/forge
84
+ ./.venv/bin/forge graph --forge-dir /tmp/forge-smoke/forge --no-open
85
+ ```
86
+
87
+ `forge init` vendors the Forge docs, frameworks, and project-local `.agents/skills/` into the initialized directory, then symlinks those project-local skills into the home scan directories above unless you pass `--no-vendor-assets` or `--no-link-skills`.
88
+
89
+ ## Public CLI vs workbench
90
+
91
+ The public CLI is intentionally small:
92
+
93
+ - `forge init`
94
+ - `forge list`
95
+ - `forge context`
96
+ - `forge graph`
97
+
98
+ `forge/workbench/` remains part of the framework, but it is an internal artifact model used by the stage skills. It stores build-planning and validation state for agent workflows; it is not a separate public command surface.
@@ -0,0 +1,72 @@
1
+ # Forge V2
2
+
3
+ Forge V2 is a schema runtime, workbench CLI, and skill/framework system for building software vertically while preserving a working bootstrap path throughout the build.
4
+
5
+ ## What is in this repo
6
+
7
+ - `docs/forge-v2-schema.md` — the V2 schema contract
8
+ - `docs/forge-v2-architecture.md` — the V2 architecture and workbench model
9
+ - `frameworks/` — stage framework definitions
10
+ - `skills/` — skill source files
11
+ - `.agents/skills/` — installable agent skill folders
12
+ - `src/cli/` — the Forge V2 CLI
13
+
14
+ ## Local development
15
+
16
+ ```bash
17
+ uv venv --python 3.13 .venv
18
+ uv pip install -e . pytest
19
+ .venv/bin/pytest -q
20
+ ```
21
+
22
+ ## Install the CLI and skills locally
23
+
24
+ ```bash
25
+ ./scripts/install-skills.sh install
26
+ ```
27
+
28
+ This links the packaged Forge skills into:
29
+
30
+ - `~/.claude/skills` for Claude Code
31
+ - `~/.codex/skills` for Codex
32
+ - `~/.agents/skills` for agentskills.io-compatible clients such as VS Code Copilot and Cursor
33
+ - `~/.copilot/skills` as an additional Copilot-local target when `~/.copilot/` already exists
34
+
35
+ ## Build distributions
36
+
37
+ ```bash
38
+ uv build
39
+ ```
40
+
41
+ This produces:
42
+
43
+ - `dist/*.tar.gz`
44
+ - `dist/*.whl`
45
+
46
+ ## Release model
47
+
48
+ - CI runs tests and a smoke build on `main` pushes and PRs
49
+ - tagged releases `v*.*.*` build sdist and wheel
50
+ - release workflow publishes artifacts to GitHub Releases and PyPI
51
+
52
+ ## Quick smoke test
53
+
54
+ ```bash
55
+ ./.venv/bin/forge init --root /tmp/forge-smoke --profile cli-tool --name "Smoke" --id smoke
56
+ ./.venv/bin/forge list --forge-dir /tmp/forge-smoke/forge
57
+ ./.venv/bin/forge context core --forge-dir /tmp/forge-smoke/forge
58
+ ./.venv/bin/forge graph --forge-dir /tmp/forge-smoke/forge --no-open
59
+ ```
60
+
61
+ `forge init` vendors the Forge docs, frameworks, and project-local `.agents/skills/` into the initialized directory, then symlinks those project-local skills into the home scan directories above unless you pass `--no-vendor-assets` or `--no-link-skills`.
62
+
63
+ ## Public CLI vs workbench
64
+
65
+ The public CLI is intentionally small:
66
+
67
+ - `forge init`
68
+ - `forge list`
69
+ - `forge context`
70
+ - `forge graph`
71
+
72
+ `forge/workbench/` remains part of the framework, but it is an internal artifact model used by the stage skills. It stores build-planning and validation state for agent workflows; it is not a separate public command surface.
@@ -0,0 +1,56 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "ai-forge-cli"
7
+ dynamic = ["version"]
8
+ description = "Forge V2 schema runtime and workbench CLI"
9
+ readme = "README.md"
10
+ license = "MIT"
11
+ license-files = ["LICENSE"]
12
+ requires-python = ">=3.11"
13
+ dependencies = ["pyyaml>=6.0"]
14
+ authors = [
15
+ {name = "Will Defina"}
16
+ ]
17
+ keywords = ["forge", "software-architecture", "schema", "cli", "agentic-development"]
18
+ classifiers = [
19
+ "Programming Language :: Python :: 3",
20
+ "Programming Language :: Python :: 3 :: Only",
21
+ "Programming Language :: Python :: 3.11",
22
+ "Operating System :: OS Independent",
23
+ "Environment :: Console",
24
+ "Topic :: Software Development :: Code Generators",
25
+ "Topic :: Software Development :: Documentation",
26
+ ]
27
+
28
+ [project.urls]
29
+ Homepage = "https://github.com/GreyFlames07/forge"
30
+ Repository = "https://github.com/GreyFlames07/forge"
31
+ Issues = "https://github.com/GreyFlames07/forge/issues"
32
+ Documentation = "https://github.com/GreyFlames07/forge"
33
+
34
+ [project.scripts]
35
+ forge = "cli.forge:main"
36
+
37
+ [project.optional-dependencies]
38
+ dev = ["pytest>=8"]
39
+
40
+ [tool.setuptools.dynamic]
41
+ version = {attr = "cli.__version__"}
42
+
43
+ [tool.setuptools.packages.find]
44
+ where = ["src"]
45
+ include = ["cli*"]
46
+
47
+ [tool.setuptools.package-data]
48
+ cli = [
49
+ "assets/docs/*.md",
50
+ "assets/frameworks/*/FRAMEWORK.md",
51
+ "assets/agents_skills/*/SKILL.md",
52
+ ]
53
+
54
+ [tool.pytest.ini_options]
55
+ testpaths = ["tests"]
56
+ pythonpath = ["src"]
@@ -0,0 +1,98 @@
1
+ Metadata-Version: 2.4
2
+ Name: ai-forge-cli
3
+ Version: 2.1.0
4
+ Summary: Forge V2 schema runtime and workbench CLI
5
+ Author: Will Defina
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/GreyFlames07/forge
8
+ Project-URL: Repository, https://github.com/GreyFlames07/forge
9
+ Project-URL: Issues, https://github.com/GreyFlames07/forge/issues
10
+ Project-URL: Documentation, https://github.com/GreyFlames07/forge
11
+ Keywords: forge,software-architecture,schema,cli,agentic-development
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3 :: Only
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Environment :: Console
17
+ Classifier: Topic :: Software Development :: Code Generators
18
+ Classifier: Topic :: Software Development :: Documentation
19
+ Requires-Python: >=3.11
20
+ Description-Content-Type: text/markdown
21
+ License-File: LICENSE
22
+ Requires-Dist: pyyaml>=6.0
23
+ Provides-Extra: dev
24
+ Requires-Dist: pytest>=8; extra == "dev"
25
+ Dynamic: license-file
26
+
27
+ # Forge V2
28
+
29
+ Forge V2 is a schema runtime, workbench CLI, and skill/framework system for building software vertically while preserving a working bootstrap path throughout the build.
30
+
31
+ ## What is in this repo
32
+
33
+ - `docs/forge-v2-schema.md` — the V2 schema contract
34
+ - `docs/forge-v2-architecture.md` — the V2 architecture and workbench model
35
+ - `frameworks/` — stage framework definitions
36
+ - `skills/` — skill source files
37
+ - `.agents/skills/` — installable agent skill folders
38
+ - `src/cli/` — the Forge V2 CLI
39
+
40
+ ## Local development
41
+
42
+ ```bash
43
+ uv venv --python 3.13 .venv
44
+ uv pip install -e . pytest
45
+ .venv/bin/pytest -q
46
+ ```
47
+
48
+ ## Install the CLI and skills locally
49
+
50
+ ```bash
51
+ ./scripts/install-skills.sh install
52
+ ```
53
+
54
+ This links the packaged Forge skills into:
55
+
56
+ - `~/.claude/skills` for Claude Code
57
+ - `~/.codex/skills` for Codex
58
+ - `~/.agents/skills` for agentskills.io-compatible clients such as VS Code Copilot and Cursor
59
+ - `~/.copilot/skills` as an additional Copilot-local target when `~/.copilot/` already exists
60
+
61
+ ## Build distributions
62
+
63
+ ```bash
64
+ uv build
65
+ ```
66
+
67
+ This produces:
68
+
69
+ - `dist/*.tar.gz`
70
+ - `dist/*.whl`
71
+
72
+ ## Release model
73
+
74
+ - CI runs tests and a smoke build on `main` pushes and PRs
75
+ - tagged releases `v*.*.*` build sdist and wheel
76
+ - release workflow publishes artifacts to GitHub Releases and PyPI
77
+
78
+ ## Quick smoke test
79
+
80
+ ```bash
81
+ ./.venv/bin/forge init --root /tmp/forge-smoke --profile cli-tool --name "Smoke" --id smoke
82
+ ./.venv/bin/forge list --forge-dir /tmp/forge-smoke/forge
83
+ ./.venv/bin/forge context core --forge-dir /tmp/forge-smoke/forge
84
+ ./.venv/bin/forge graph --forge-dir /tmp/forge-smoke/forge --no-open
85
+ ```
86
+
87
+ `forge init` vendors the Forge docs, frameworks, and project-local `.agents/skills/` into the initialized directory, then symlinks those project-local skills into the home scan directories above unless you pass `--no-vendor-assets` or `--no-link-skills`.
88
+
89
+ ## Public CLI vs workbench
90
+
91
+ The public CLI is intentionally small:
92
+
93
+ - `forge init`
94
+ - `forge list`
95
+ - `forge context`
96
+ - `forge graph`
97
+
98
+ `forge/workbench/` remains part of the framework, but it is an internal artifact model used by the stage skills. It stores build-planning and validation state for agent workflows; it is not a separate public command surface.
@@ -0,0 +1,38 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ src/ai_forge_cli.egg-info/PKG-INFO
5
+ src/ai_forge_cli.egg-info/SOURCES.txt
6
+ src/ai_forge_cli.egg-info/dependency_links.txt
7
+ src/ai_forge_cli.egg-info/entry_points.txt
8
+ src/ai_forge_cli.egg-info/requires.txt
9
+ src/ai_forge_cli.egg-info/top_level.txt
10
+ src/cli/__init__.py
11
+ src/cli/__main__.py
12
+ src/cli/common.py
13
+ src/cli/forge.py
14
+ src/cli/schema.py
15
+ src/cli/workbench.py
16
+ src/cli/assets/agents_skills/forge-build/SKILL.md
17
+ src/cli/assets/agents_skills/forge-cast/SKILL.md
18
+ src/cli/assets/agents_skills/forge-discover/SKILL.md
19
+ src/cli/assets/agents_skills/forge-plan/SKILL.md
20
+ src/cli/assets/agents_skills/forge-review/SKILL.md
21
+ src/cli/assets/agents_skills/forge-spec/SKILL.md
22
+ src/cli/assets/agents_skills/forge-validate/SKILL.md
23
+ src/cli/assets/docs/forge-v2-architecture.md
24
+ src/cli/assets/docs/forge-v2-schema.md
25
+ src/cli/assets/frameworks/cast/FRAMEWORK.md
26
+ src/cli/assets/frameworks/discover/FRAMEWORK.md
27
+ src/cli/assets/frameworks/plan/FRAMEWORK.md
28
+ src/cli/assets/frameworks/review/FRAMEWORK.md
29
+ src/cli/assets/frameworks/spec/FRAMEWORK.md
30
+ src/cli/assets/frameworks/validate/FRAMEWORK.md
31
+ src/cli/commands/__init__.py
32
+ src/cli/commands/base.py
33
+ src/cli/commands/context.py
34
+ src/cli/commands/graph.py
35
+ src/cli/commands/init.py
36
+ src/cli/commands/list.py
37
+ tests/test_cli.py
38
+ tests/test_examples.py
@@ -0,0 +1,4 @@
1
+ pyyaml>=6.0
2
+
3
+ [dev]
4
+ pytest>=8
@@ -0,0 +1,3 @@
1
+ __all__ = ["__version__"]
2
+
3
+ __version__ = "2.1.0"
@@ -1,4 +1,5 @@
1
1
  from cli.forge import main
2
2
 
3
+
3
4
  if __name__ == "__main__":
4
5
  raise SystemExit(main())
@@ -0,0 +1,163 @@
1
+ ---
2
+ name: forge-build
3
+ description: >
4
+ Forge V2 build skill. Use when the schema is complete enough for the target slices, the plan exists,
5
+ and the user wants working implementation code and tests generated while preserving runnability. Acts
6
+ as an orchestrator: validates readiness, consults the plan, dispatches implementation work using
7
+ forge context, checks bootstrap continuously, and updates workbench status and validation evidence.
8
+ ---
9
+
10
+ # forge-build
11
+
12
+ Read before starting:
13
+
14
+ - `docs/forge-v2-schema.md`
15
+ - `docs/forge-v2-architecture.md`
16
+ - `frameworks/build/FRAMEWORK.md`
17
+ - `forge/workbench/discovery.md`
18
+ - `forge/workbench/plan.yaml`
19
+
20
+ ## Purpose
21
+
22
+ Implement the planned slices while keeping the system runnable.
23
+
24
+ This stage is not a free-form code generator. It is a bootstrap-first implementation orchestrator.
25
+
26
+ `forge/workbench/*` files are internal framework artifacts in V2. They are produced and consumed by the stage skills; they are not separate public CLI commands.
27
+
28
+ ## Non-negotiables
29
+
30
+ 1. Bootstrap first. No broad implementation before the bootstrap path exists.
31
+ 2. Run bootstrap as early as possible.
32
+ 3. Build against the running bootstrap when possible.
33
+ 4. Re-check startup, bootstrap, and affected flows after each material slice.
34
+ 5. If automation is insufficient, require operator verification instead of pretending coverage exists.
35
+ 6. Schema files are frozen during a build run. Do not silently edit schema truth to make implementation easier.
36
+
37
+ ## Inputs
38
+
39
+ - schema under `forge/`
40
+ - `forge/workbench/plan.yaml`
41
+ - existing repo state
42
+ - verification items
43
+
44
+ ## Workbench Outputs
45
+
46
+ - `forge/workbench/status.yaml`
47
+ - `forge/workbench/validation.md`
48
+
49
+ ## Source Control Outputs
50
+
51
+ At each meaningful checkpoint, the build stage should also update source control state.
52
+
53
+ Checkpoint examples:
54
+
55
+ - bootstrap first becomes runnable
56
+ - a planned slice lands
57
+ - a meaningful runtime or contract change lands without breaking bootstrap
58
+
59
+ Expected behavior:
60
+
61
+ 1. inspect git state
62
+ 2. summarize the checkpoint in plain language
63
+ 3. create a checkpoint commit when the human or repo policy allows it
64
+ 4. push or update the GitHub branch when a remote exists and credentials are available
65
+ 5. if push is not possible, stop at a clean local checkpoint and record the next action explicitly
66
+
67
+ ## Step 1 — Readiness Gate
68
+
69
+ Before writing code:
70
+
71
+ 1. inspect the plan
72
+ 2. inspect the bootstrap definition
73
+ 3. use `forge list` and `forge context` to confirm the relevant schema objects and IDs
74
+ 4. stop if the schema is structurally ambiguous or incomplete
75
+
76
+ If bootstrap is underspecified, route back to `forge-spec` or `forge-plan` rather than guessing.
77
+
78
+ ## Step 2 — Bootstrap Assessment
79
+
80
+ Establish:
81
+
82
+ - whether bootstrap already exists in runnable form
83
+ - what commands or checks prove it
84
+ - what operator verification is required
85
+
86
+ If bootstrap does not exist yet:
87
+
88
+ - implement the minimum bootstrap slice first
89
+ - do not parallelize expansion work ahead of it
90
+
91
+ ## Step 3 — Execution Plan
92
+
93
+ Work slice by slice from `forge/workbench/plan.yaml`.
94
+
95
+ For each slice:
96
+
97
+ 1. load schema context through `forge context`
98
+ 2. identify touched units, operations, surfaces, flows, and stores
99
+ 3. implement the smallest complete version of that slice
100
+ 4. run the declared checks
101
+ 5. update workbench status
102
+ 6. update git/GitHub at the slice checkpoint when the change is meaningful
103
+
104
+ ## Step 4 — Subagent Dispatch
105
+
106
+ When delegation is useful, subagents should receive:
107
+
108
+ - the slice or target ID
109
+ - the instruction to call `forge context <id>`
110
+ - the architecture and layout rules implied by the repo and plan
111
+ - the requirement to implement exactly what the schema declares
112
+
113
+ Subagents should not be given giant inlined schema dumps when the CLI can provide context directly.
114
+
115
+ ## Step 5 — Failure Handling
116
+
117
+ If a slice fails:
118
+
119
+ 1. identify whether the failure is implementation, architecture, or schema ambiguity
120
+ 2. retry implementation failures with specific feedback
121
+ 3. stop immediately on schema ambiguity and surface it to the human
122
+ 4. if bootstrap breaks, repair bootstrap before continuing
123
+
124
+ ## Step 6 — Checkpoint Source Control
125
+
126
+ At each checkpoint:
127
+
128
+ 1. confirm bootstrap and the touched slice still work at the declared level
129
+ 2. review `git status`
130
+ 3. prepare a checkpoint summary tied to the slice or bootstrap milestone
131
+ 4. create a checkpoint commit if permitted
132
+ 5. push the branch or update the open GitHub branch if permitted and possible
133
+
134
+ Do not batch many meaningful slice landings into one opaque commit when the framework can keep checkpoints intelligible.
135
+
136
+ ## Failure Routing
137
+
138
+ - If bootstrap is missing or underspecified, stop and route back to `forge-plan` or `forge-spec`.
139
+ - If implementation pressure reveals missing or conflicting contracts, stop and route back to `forge-spec` instead of mutating schema truth ad hoc.
140
+ - If the current plan no longer reflects the real execution order, stop and route back to `forge-plan`.
141
+ - If operator verification is required before expansion, stop after bootstrap hardening and hand off to `forge-validate` or the human operator.
142
+ - If a GitHub update is required by the workflow but remote state, permissions, or branch policy block it, stop and surface that operational blocker instead of silently continuing.
143
+
144
+ ## Completion
145
+
146
+ When a slice lands:
147
+
148
+ 1. record status in `forge/workbench/status.yaml`
149
+ 2. record validation evidence in `forge/workbench/validation.md`
150
+ 3. state whether bootstrap was preserved, expanded, or regressed
151
+ 4. state whether the checkpoint was committed locally, pushed to GitHub, or blocked operationally
152
+
153
+ When all planned slices for the run are complete:
154
+
155
+ 1. summarize files written
156
+ 2. summarize bootstrap health
157
+ 3. recommend `forge-validate`
158
+
159
+ ## Key Constraints
160
+
161
+ - Do not continue building through a broken bootstrap.
162
+ - Do not claim a slice is done without running its declared checks.
163
+ - Do not hide operator-required checks in prose; they must correspond to verification items.
@@ -0,0 +1,108 @@
1
+ ---
2
+ name: forge-cast
3
+ description: >
4
+ Forge V2 casting skill for existing codebases. Use when a user has an implemented project and wants
5
+ to derive a draft Forge V2 schema from the code, config, tests, and contracts that already exist.
6
+ Produces draft V2 schema files plus a cast report that separates high-confidence evidence from open
7
+ uncertainty.
8
+ ---
9
+
10
+ # forge-cast
11
+
12
+ Read before starting:
13
+
14
+ - `docs/forge-v2-schema.md`
15
+ - `docs/forge-v2-architecture.md`
16
+ - `frameworks/cast/FRAMEWORK.md`
17
+
18
+ ## Purpose
19
+
20
+ Translate an existing codebase into a draft Forge V2 schema and workbench context.
21
+
22
+ This stage should never invent requirements that the repo does not support.
23
+
24
+ ## Evidence Standard
25
+
26
+ When signals disagree, prefer:
27
+
28
+ 1. executable code and typed schemas
29
+ 2. config and deployment artifacts
30
+ 3. tests
31
+ 4. machine-readable contracts
32
+ 5. repository docs
33
+ 6. naming heuristics
34
+
35
+ Low-confidence conclusions belong in `forge/workbench/cast-report.md`, not as hard schema truth.
36
+
37
+ ## Output Artifacts
38
+
39
+ | File | Contents |
40
+ |------|----------|
41
+ | `forge/system.yaml` | Draft system identity and posture |
42
+ | `forge/verticals/*.yaml` | Capability slices inferred from repo seams |
43
+ | `forge/units/*.yaml` | Runtime boundaries inferred from services, apps, workers, or CLIs |
44
+ | `forge/types/*.yaml` | Canonical types inferred from code and contracts |
45
+ | `forge/operations/*.yaml` | Business actions inferred from handlers, commands, jobs, or services |
46
+ | `forge/surfaces/*.yaml` | Reachability bindings inferred from routes, queues, cron jobs, or commands |
47
+ | `forge/stores/*.yaml` | Persistence backbones inferred from config and code |
48
+ | `forge/flows/*.yaml` | Higher-confidence end-to-end journeys inferred from orchestration paths |
49
+ | `forge/bootstrap.yaml` | Draft first working slice inferred from the most central runnable path |
50
+ | `forge/verification/**/*` | Starter checks inferred from health routes, tests, or obvious workflows |
51
+ | `forge/workbench/discovery.md` | Repo-level observations and rationale |
52
+ | `forge/workbench/cast-report.md` | Uncertain candidates, gaps, and questions for human review |
53
+
54
+ ## Process
55
+
56
+ ### Step 1 — Assess the Repo
57
+
58
+ Before writing anything:
59
+
60
+ - identify the runtime profile
61
+ - identify runnable entrypoints
62
+ - identify exposed interfaces
63
+ - identify persistent storage
64
+ - identify the likeliest bootstrap path
65
+
66
+ ### Step 2 — Draft High-Confidence Schema
67
+
68
+ Write only what is strongly supported:
69
+
70
+ - system
71
+ - units
72
+ - obvious verticals
73
+ - canonical operations
74
+ - surfaces
75
+ - stores
76
+ - bootstrap
77
+
78
+ ### Step 3 — Record Uncertainty
79
+
80
+ Anything supported only weakly should go to `forge/workbench/cast-report.md` with:
81
+
82
+ - inferred object
83
+ - evidence source
84
+ - confidence level
85
+ - question for the human
86
+
87
+ ### Step 4 — Hand Over
88
+
89
+ Recommend the human review:
90
+
91
+ - the bootstrap draft
92
+ - operation boundaries
93
+ - auth contexts
94
+ - verification gaps
95
+
96
+ Then route to `forge-spec` and `forge-review`.
97
+
98
+ ## Failure Routing
99
+
100
+ - If the inferred bootstrap path is weak or contradictory, stop and route to `forge-discover` instead of pretending the repo already implies one clear path.
101
+ - If the repo exposes operations or contracts ambiguously, draft only the high-confidence subset and route the rest to `forge-spec`.
102
+ - If the human asks for implementation changes during cast, stop and hand off to `forge-build` only after the inferred schema is reviewed.
103
+
104
+ ## Key Constraints
105
+
106
+ - no speculative requirements
107
+ - no implementation changes
108
+ - no fake certainty