create-forge 0.2.1__tar.gz → 0.3.1__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.
- {create_forge-0.2.1 → create_forge-0.3.1}/CHANGELOG.md +46 -0
- create_forge-0.3.1/PKG-INFO +213 -0
- create_forge-0.3.1/README.md +180 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/docs/adr/README.md +17 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/docs/roadmap-v1/README.md +21 -2
- {create_forge-0.2.1 → create_forge-0.3.1}/docs/roadmap-v1/roadmap/08-reference-archetype-validation/README.md +5 -1
- create_forge-0.3.1/docs/roadmap-v1/roadmap/09-blueprint-compatibility/README.md +62 -0
- create_forge-0.3.1/docs/roadmap-v2/README.md +57 -0
- create_forge-0.3.1/docs/roadmap-v2/roadmap/10-data-science-architecture-contract/README.md +61 -0
- create_forge-0.3.1/docs/roadmap-v2/roadmap/11-reusable-data-science-capabilities/README.md +59 -0
- create_forge-0.3.1/docs/roadmap-v2/roadmap/12-data-science-archetype/README.md +60 -0
- create_forge-0.3.1/docs/roadmap-v2/roadmap/13-data-science-cli-integration/README.md +97 -0
- create_forge-0.3.1/docs/roadmap-v2/roadmap/14-data-science-validation-and-rollout/README.md +101 -0
- create_forge-0.3.1/examples/README.md +91 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/pyproject.toml +41 -15
- {create_forge-0.2.1 → create_forge-0.3.1}/src/create_forge/cli.py +519 -37
- {create_forge-0.2.1 → create_forge-0.3.1}/src/create_forge/compat.py +18 -8
- create_forge-0.3.1/src/create_forge/pipeline.py +310 -0
- create_forge-0.3.1/src/create_forge/prompts.py +601 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/src/create_forge/runner.py +56 -13
- create_forge-0.3.1/src/create_forge/sources.py +86 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/src/create_forge/spec.py +169 -1
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/conftest.py +42 -0
- create_forge-0.3.1/tests/installed_client.py +308 -0
- create_forge-0.3.1/tests/test_archetype_parity.py +215 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/test_cli.py +389 -32
- create_forge-0.3.1/tests/test_component_selection.py +974 -0
- create_forge-0.3.1/tests/test_data_science_pipeline.py +538 -0
- create_forge-0.3.1/tests/test_downstream_reference.py +397 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/test_e2e_engine_generation.py +94 -12
- create_forge-0.3.1/tests/test_e2e_installed_data_science.py +496 -0
- create_forge-0.3.1/tests/test_e2e_installed_rollout.py +712 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/test_engine_adapter.py +35 -15
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/test_engine_contract.py +125 -5
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/test_engine_cross_repository.py +90 -9
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/test_pipeline.py +158 -16
- create_forge-0.3.1/tests/test_policy_hook.py +177 -0
- create_forge-0.3.1/tests/test_prompts.py +497 -0
- create_forge-0.3.1/tests/test_reference_client_boundary.py +87 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/test_runner.py +71 -0
- create_forge-0.3.1/tests/test_sources.py +307 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/test_update.py +101 -3
- create_forge-0.3.1/tests/test_workflows.py +171 -0
- create_forge-0.2.1/PKG-INFO +0 -217
- create_forge-0.2.1/README.md +0 -185
- create_forge-0.2.1/docs/roadmap-v1/roadmap/09-blueprint-compatibility/README.md +0 -25
- create_forge-0.2.1/src/create_forge/pipeline.py +0 -166
- create_forge-0.2.1/src/create_forge/prompts.py +0 -231
- create_forge-0.2.1/tests/test_archetype_parity.py +0 -161
- create_forge-0.2.1/tests/test_prompts.py +0 -187
- {create_forge-0.2.1 → create_forge-0.3.1}/.gitignore +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/LICENSE +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/docs/roadmap-v1/roadmap/00-governance-and-principles/README.md +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/docs/roadmap-v1/roadmap/01-python-core/README.md +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/docs/roadmap-v1/roadmap/02-developer-experience/README.md +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/docs/roadmap-v1/roadmap/03-quality-and-ci/README.md +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/docs/roadmap-v1/roadmap/04-runtime-and-configuration/README.md +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/docs/roadmap-v1/roadmap/05-security-and-supply-chain/README.md +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/docs/roadmap-v1/roadmap/06-extension-and-composition-contract/README.md +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/docs/roadmap-v1/roadmap/07-forge-cli-integration/README.md +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/src/create_forge/__init__.py +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/src/create_forge/config.py +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/src/create_forge/engine.py +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/src/create_forge/models.py +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/src/create_forge/registry.py +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/src/create_forge/staging.py +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/src/create_forge/templates.toml +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/__init__.py +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/test_adr.py +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/test_config.py +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/test_drift.py +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/test_e2e_generation.py +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/test_labels.py +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/test_models.py +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/test_registry.py +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/test_spec.py +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/test_staging.py +0 -0
- {create_forge-0.2.1 → create_forge-0.3.1}/tests/test_update_network.py +0 -0
|
@@ -1,6 +1,52 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
3
|
Generated by git-cliff from Conventional Commits.
|
|
4
|
+
## [0.3.1] - 2026-09-08
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
- Prevent template source credentials from reaching CLI output (#144)
|
|
9
|
+
- Raise the Copier floor past the destination-escape advisories
|
|
10
|
+
|
|
11
|
+
### Documentation
|
|
12
|
+
|
|
13
|
+
- Publish 0.3.0 and close the Data Science roadmap (#130)
|
|
14
|
+
- Add shared Forge user guide and simplify README (#131)
|
|
15
|
+
## [0.3.0] - 2026-09-05
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
- Handle template clone failures
|
|
20
|
+
|
|
21
|
+
### Documentation
|
|
22
|
+
|
|
23
|
+
- Link canonical organisation policy model
|
|
24
|
+
- Sync canonical Stage 09 contracts
|
|
25
|
+
- Validate the reference-client boundary
|
|
26
|
+
- Add Data Science CLI roadmap
|
|
27
|
+
- Add Data Science CLI issue plan
|
|
28
|
+
- Link canonical Data Science project shape
|
|
29
|
+
- Link canonical Data Science capability contracts
|
|
30
|
+
- Link production Jupyter capability
|
|
31
|
+
- Link production Scientific Python capability
|
|
32
|
+
- Record forge-template 0.4.0 release
|
|
33
|
+
- Define generic component-selection CLI conventions (#122)
|
|
34
|
+
|
|
35
|
+
### Features
|
|
36
|
+
|
|
37
|
+
- Define the downstream policy-consumption hook (#97)
|
|
38
|
+
- Add a downstream CLI integration reference (#98)
|
|
39
|
+
- Add dry-run support to update
|
|
40
|
+
- Prompt engine options from discovery, not the registry (#102)
|
|
41
|
+
- Adopt the forge-template 0.4 compatibility line (#121)
|
|
42
|
+
- Select capabilities and platforms from discovery (#123)
|
|
43
|
+
- Collect options for every selected component (#124)
|
|
44
|
+
|
|
45
|
+
### Testing
|
|
46
|
+
|
|
47
|
+
- Validate the Data Science preview pipeline (#125)
|
|
48
|
+
- Validate installed Data Science generation (#127)
|
|
49
|
+
- Complete the rollout regression and failure matrix (#128)
|
|
4
50
|
## [0.2.1] - 2026-08-31
|
|
5
51
|
|
|
6
52
|
### Bug Fixes
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: create-forge
|
|
3
|
+
Version: 0.3.1
|
|
4
|
+
Summary: Scaffold modern Python projects from maintained templates.
|
|
5
|
+
Project-URL: Homepage, https://github.com/Sandsy09/create-forge
|
|
6
|
+
Project-URL: Repository, https://github.com/Sandsy09/create-forge
|
|
7
|
+
Project-URL: Issues, https://github.com/Sandsy09/create-forge/issues
|
|
8
|
+
Project-URL: Changelog, https://github.com/Sandsy09/create-forge/blob/main/CHANGELOG.md
|
|
9
|
+
Author: Alex
|
|
10
|
+
License-Expression: MIT
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Keywords: cookiecutter,copier,project,scaffold,template
|
|
13
|
+
Classifier: Development Status :: 3 - Alpha
|
|
14
|
+
Classifier: Environment :: Console
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
20
|
+
Classifier: Topic :: Software Development :: Code Generators
|
|
21
|
+
Classifier: Typing :: Typed
|
|
22
|
+
Requires-Python: >=3.11
|
|
23
|
+
Requires-Dist: copier<10,>=9.15.2
|
|
24
|
+
Requires-Dist: pydantic>=2.10
|
|
25
|
+
Requires-Dist: pyyaml>=6.0
|
|
26
|
+
Requires-Dist: questionary>=2.0
|
|
27
|
+
Requires-Dist: rich>=13.9
|
|
28
|
+
Requires-Dist: typer>=0.16
|
|
29
|
+
Provides-Extra: engine
|
|
30
|
+
Requires-Dist: forge-template<0.5,>=0.4.1; extra == 'engine'
|
|
31
|
+
Requires-Dist: uv<0.13,>=0.12; extra == 'engine'
|
|
32
|
+
Description-Content-Type: text/markdown
|
|
33
|
+
|
|
34
|
+
# create-forge
|
|
35
|
+
|
|
36
|
+
[](https://github.com/Sandsy09/create-forge/actions/workflows/ci.yml)
|
|
37
|
+
[](https://pypi.org/project/create-forge/)
|
|
38
|
+
|
|
39
|
+
Create Python projects with packaging, quality checks, and a useful starting
|
|
40
|
+
structure already in place.
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
uvx create-forge new
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Requires [uv](https://docs.astral.sh/uv/getting-started/installation/), Git,
|
|
47
|
+
and Python 3.11+ (uv can install Python for you). Configure your Git author
|
|
48
|
+
name and email before generating a default Library project: generation
|
|
49
|
+
creates local commits.
|
|
50
|
+
|
|
51
|
+
**[Read the Forge user guide](https://sandsy09.github.io/create-forge/)**
|
|
52
|
+
for walkthroughs, template choices, and troubleshooting.
|
|
53
|
+
|
|
54
|
+
## How the repositories fit together
|
|
55
|
+
|
|
56
|
+
| Repository | What it provides |
|
|
57
|
+
| --- | --- |
|
|
58
|
+
| **create-forge** | The CLI: prompts, project creation, updates, and diagnostics. |
|
|
59
|
+
| [forge-template](https://github.com/Sandsy09/forge-template) | The project templates and composition engine used to generate files. |
|
|
60
|
+
|
|
61
|
+
You normally use the CLI without cloning either repository. Generated
|
|
62
|
+
projects do not depend on either Forge package at runtime.
|
|
63
|
+
|
|
64
|
+
## Create your first project
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
uvx create-forge new "My Library"
|
|
68
|
+
cd my-library
|
|
69
|
+
uv run poe check
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
The default workflow creates an installable Library with a `src/` layout,
|
|
73
|
+
uv, Ruff, pytest with coverage, mypy and/or pyright, pre-commit hooks, and
|
|
74
|
+
GitHub Actions CI. Choose your build backend, versioning, license, and
|
|
75
|
+
dependency-update tooling. MkDocs documentation is optional.
|
|
76
|
+
|
|
77
|
+
The template is rendered by [Copier](https://copier.readthedocs.io/), which
|
|
78
|
+
also supports bringing later template improvements into existing projects.
|
|
79
|
+
|
|
80
|
+
## Install and manage the tool
|
|
81
|
+
|
|
82
|
+
Use `uvx` for occasional runs, or install a persistent command:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
uv tool install create-forge
|
|
86
|
+
create-forge new
|
|
87
|
+
uv tool upgrade create-forge
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
If the command is not on your PATH, run `uv tool update-shell` and restart
|
|
91
|
+
your terminal.
|
|
92
|
+
|
|
93
|
+
### Choose a CLI version
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
uvx create-forge@latest new
|
|
97
|
+
uvx create-forge@0.3.0 new
|
|
98
|
+
uv tool install "create-forge==0.3.0"
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Plain `uvx create-forge` can reuse a cached or persistently installed
|
|
102
|
+
version; `@latest` explicitly requests the latest release. Tool upgrades
|
|
103
|
+
respect the constraints used at installation, so an exact pin stays pinned.
|
|
104
|
+
To return to the latest release, run `uv tool install create-forge@latest`.
|
|
105
|
+
See [installation and versions](https://sandsy09.github.io/create-forge/installation/).
|
|
106
|
+
|
|
107
|
+
## Everyday usage
|
|
108
|
+
|
|
109
|
+
| Command | Purpose |
|
|
110
|
+
| --- | --- |
|
|
111
|
+
| `uvx create-forge new` | Create a project interactively. |
|
|
112
|
+
| `uvx create-forge list` | List the bundled Copier templates. |
|
|
113
|
+
| `uvx create-forge update` | Update a Copier-generated project from its directory. |
|
|
114
|
+
| `uvx create-forge doctor` | Diagnose Python, Git, uv, and package compatibility. |
|
|
115
|
+
| `uvx create-forge config init` | Create an optional configuration file. |
|
|
116
|
+
| `uvx create-forge config show` | Show resolved configuration and its sources. |
|
|
117
|
+
|
|
118
|
+
For scripts and CI, provide a project name and skip questions with `--yes`:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
uvx create-forge new "My Library" --yes --data github_org=your-org --data build_backend=hatchling --data versioning=vcs
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Use `--path` to choose the destination and repeat `--data key=value` to
|
|
125
|
+
preset answers. Run `uvx create-forge new --help` for the default workflow's
|
|
126
|
+
options. Saved author details, GitHub organisation, and preferred template
|
|
127
|
+
are covered in the [CLI guide](https://sandsy09.github.io/create-forge/cli/).
|
|
128
|
+
|
|
129
|
+
### Choose a template version or source
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
uvx create-forge new "My Library" --template library --ref v0.4.1
|
|
133
|
+
uvx create-forge new "Custom Project" --template-url https://github.com/you/your-template
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
`--ref` selects a Git revision in the **template repository**. It does not
|
|
137
|
+
select the CLI version. Without it, Copier uses the latest suitable release
|
|
138
|
+
tag. The bundled registry currently offers Library; upgrade the CLI to
|
|
139
|
+
receive registry changes.
|
|
140
|
+
|
|
141
|
+
Templates can execute code through generation and update tasks. Use custom
|
|
142
|
+
sources only when you trust their content; `--yes` also skips the custom
|
|
143
|
+
template confirmation.
|
|
144
|
+
|
|
145
|
+
### Update a generated project
|
|
146
|
+
|
|
147
|
+
From a clean, committed Copier-generated project:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
uvx create-forge update --dry-run
|
|
151
|
+
uvx create-forge update
|
|
152
|
+
uv run poe check
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Keep `.copier-answers.yml` committed. Review the resulting diff and resolve
|
|
156
|
+
conflicts before committing. A dry run validates the update without applying
|
|
157
|
+
it; it does not produce a file-by-file diff. Use `update --ref v0.4.1` to
|
|
158
|
+
target a particular template version.
|
|
159
|
+
|
|
160
|
+
## Preview: more project types and capabilities
|
|
161
|
+
|
|
162
|
+
The `0.3.0` CLI also provides an opt-in engine preview using
|
|
163
|
+
`forge-template>=0.4.1,<0.5`. These options are currently hidden from help.
|
|
164
|
+
|
|
165
|
+
| Project type | Use it for |
|
|
166
|
+
| --- | --- |
|
|
167
|
+
| Library | A distributable Python package with a choice of packaging modes. |
|
|
168
|
+
| CLI Application | A Typer application with a console command and tests. |
|
|
169
|
+
| Data Science | A Python package with a starter notebook and Jupyter tooling. |
|
|
170
|
+
|
|
171
|
+
Add **Jupyter** for notebook development or **Scientific Python** for NumPy,
|
|
172
|
+
pandas, Matplotlib, and scikit-learn. Data Science requires Jupyter;
|
|
173
|
+
Scientific Python is optional. These capabilities can also accompany the
|
|
174
|
+
other preview archetypes.
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
uvx --from "create-forge[engine]==0.3.0" create-forge new "My Analysis" --engine-preview --archetype data-science --capability jupyter --yes --data license=mit
|
|
178
|
+
cd my-analysis
|
|
179
|
+
uv run --locked poe check
|
|
180
|
+
uv run poe notebook
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
For regular preview use, install with `uv tool install "create-forge[engine]"`.
|
|
184
|
+
The [project guide](https://sandsy09.github.io/create-forge/projects/) explains
|
|
185
|
+
each type's output and links to complete recipes.
|
|
186
|
+
|
|
187
|
+
**Preview projects do not support `create-forge update`.** Their shared
|
|
188
|
+
tooling differs from the default Copier template; the preview does not
|
|
189
|
+
generate its CI workflows or install Git hooks. `--template`,
|
|
190
|
+
`--template-url`, and `--ref` apply only to the Copier workflow.
|
|
191
|
+
|
|
192
|
+
## What's next
|
|
193
|
+
|
|
194
|
+
The Foundation and Data Science roadmaps are complete. Making the engine
|
|
195
|
+
the default generation workflow is a planned direction with no scheduled
|
|
196
|
+
release. Follow [open work](https://github.com/Sandsy09/create-forge/issues)
|
|
197
|
+
and [releases](https://github.com/Sandsy09/create-forge/releases) for updates,
|
|
198
|
+
or suggest a project type, capability, or guide you would find useful.
|
|
199
|
+
|
|
200
|
+
## Feedback and contributing
|
|
201
|
+
|
|
202
|
+
- [Report a CLI problem or suggest a feature](https://github.com/Sandsy09/create-forge/issues/new/choose).
|
|
203
|
+
- [Request or correct documentation](https://github.com/Sandsy09/create-forge/issues/new?template=documentation.yml).
|
|
204
|
+
- [Report generated-content or capability problems](https://github.com/Sandsy09/forge-template/issues/new/choose).
|
|
205
|
+
|
|
206
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for development and PR checks, and
|
|
207
|
+
the [reference index](https://sandsy09.github.io/create-forge/reference/) for
|
|
208
|
+
engine APIs and architecture documents. Report vulnerabilities through
|
|
209
|
+
[SECURITY.md](SECURITY.md).
|
|
210
|
+
|
|
211
|
+
## License
|
|
212
|
+
|
|
213
|
+
MIT — see [LICENSE](LICENSE).
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# create-forge
|
|
2
|
+
|
|
3
|
+
[](https://github.com/Sandsy09/create-forge/actions/workflows/ci.yml)
|
|
4
|
+
[](https://pypi.org/project/create-forge/)
|
|
5
|
+
|
|
6
|
+
Create Python projects with packaging, quality checks, and a useful starting
|
|
7
|
+
structure already in place.
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
uvx create-forge new
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Requires [uv](https://docs.astral.sh/uv/getting-started/installation/), Git,
|
|
14
|
+
and Python 3.11+ (uv can install Python for you). Configure your Git author
|
|
15
|
+
name and email before generating a default Library project: generation
|
|
16
|
+
creates local commits.
|
|
17
|
+
|
|
18
|
+
**[Read the Forge user guide](https://sandsy09.github.io/create-forge/)**
|
|
19
|
+
for walkthroughs, template choices, and troubleshooting.
|
|
20
|
+
|
|
21
|
+
## How the repositories fit together
|
|
22
|
+
|
|
23
|
+
| Repository | What it provides |
|
|
24
|
+
| --- | --- |
|
|
25
|
+
| **create-forge** | The CLI: prompts, project creation, updates, and diagnostics. |
|
|
26
|
+
| [forge-template](https://github.com/Sandsy09/forge-template) | The project templates and composition engine used to generate files. |
|
|
27
|
+
|
|
28
|
+
You normally use the CLI without cloning either repository. Generated
|
|
29
|
+
projects do not depend on either Forge package at runtime.
|
|
30
|
+
|
|
31
|
+
## Create your first project
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
uvx create-forge new "My Library"
|
|
35
|
+
cd my-library
|
|
36
|
+
uv run poe check
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
The default workflow creates an installable Library with a `src/` layout,
|
|
40
|
+
uv, Ruff, pytest with coverage, mypy and/or pyright, pre-commit hooks, and
|
|
41
|
+
GitHub Actions CI. Choose your build backend, versioning, license, and
|
|
42
|
+
dependency-update tooling. MkDocs documentation is optional.
|
|
43
|
+
|
|
44
|
+
The template is rendered by [Copier](https://copier.readthedocs.io/), which
|
|
45
|
+
also supports bringing later template improvements into existing projects.
|
|
46
|
+
|
|
47
|
+
## Install and manage the tool
|
|
48
|
+
|
|
49
|
+
Use `uvx` for occasional runs, or install a persistent command:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
uv tool install create-forge
|
|
53
|
+
create-forge new
|
|
54
|
+
uv tool upgrade create-forge
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
If the command is not on your PATH, run `uv tool update-shell` and restart
|
|
58
|
+
your terminal.
|
|
59
|
+
|
|
60
|
+
### Choose a CLI version
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
uvx create-forge@latest new
|
|
64
|
+
uvx create-forge@0.3.0 new
|
|
65
|
+
uv tool install "create-forge==0.3.0"
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Plain `uvx create-forge` can reuse a cached or persistently installed
|
|
69
|
+
version; `@latest` explicitly requests the latest release. Tool upgrades
|
|
70
|
+
respect the constraints used at installation, so an exact pin stays pinned.
|
|
71
|
+
To return to the latest release, run `uv tool install create-forge@latest`.
|
|
72
|
+
See [installation and versions](https://sandsy09.github.io/create-forge/installation/).
|
|
73
|
+
|
|
74
|
+
## Everyday usage
|
|
75
|
+
|
|
76
|
+
| Command | Purpose |
|
|
77
|
+
| --- | --- |
|
|
78
|
+
| `uvx create-forge new` | Create a project interactively. |
|
|
79
|
+
| `uvx create-forge list` | List the bundled Copier templates. |
|
|
80
|
+
| `uvx create-forge update` | Update a Copier-generated project from its directory. |
|
|
81
|
+
| `uvx create-forge doctor` | Diagnose Python, Git, uv, and package compatibility. |
|
|
82
|
+
| `uvx create-forge config init` | Create an optional configuration file. |
|
|
83
|
+
| `uvx create-forge config show` | Show resolved configuration and its sources. |
|
|
84
|
+
|
|
85
|
+
For scripts and CI, provide a project name and skip questions with `--yes`:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
uvx create-forge new "My Library" --yes --data github_org=your-org --data build_backend=hatchling --data versioning=vcs
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Use `--path` to choose the destination and repeat `--data key=value` to
|
|
92
|
+
preset answers. Run `uvx create-forge new --help` for the default workflow's
|
|
93
|
+
options. Saved author details, GitHub organisation, and preferred template
|
|
94
|
+
are covered in the [CLI guide](https://sandsy09.github.io/create-forge/cli/).
|
|
95
|
+
|
|
96
|
+
### Choose a template version or source
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
uvx create-forge new "My Library" --template library --ref v0.4.1
|
|
100
|
+
uvx create-forge new "Custom Project" --template-url https://github.com/you/your-template
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
`--ref` selects a Git revision in the **template repository**. It does not
|
|
104
|
+
select the CLI version. Without it, Copier uses the latest suitable release
|
|
105
|
+
tag. The bundled registry currently offers Library; upgrade the CLI to
|
|
106
|
+
receive registry changes.
|
|
107
|
+
|
|
108
|
+
Templates can execute code through generation and update tasks. Use custom
|
|
109
|
+
sources only when you trust their content; `--yes` also skips the custom
|
|
110
|
+
template confirmation.
|
|
111
|
+
|
|
112
|
+
### Update a generated project
|
|
113
|
+
|
|
114
|
+
From a clean, committed Copier-generated project:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
uvx create-forge update --dry-run
|
|
118
|
+
uvx create-forge update
|
|
119
|
+
uv run poe check
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Keep `.copier-answers.yml` committed. Review the resulting diff and resolve
|
|
123
|
+
conflicts before committing. A dry run validates the update without applying
|
|
124
|
+
it; it does not produce a file-by-file diff. Use `update --ref v0.4.1` to
|
|
125
|
+
target a particular template version.
|
|
126
|
+
|
|
127
|
+
## Preview: more project types and capabilities
|
|
128
|
+
|
|
129
|
+
The `0.3.0` CLI also provides an opt-in engine preview using
|
|
130
|
+
`forge-template>=0.4.1,<0.5`. These options are currently hidden from help.
|
|
131
|
+
|
|
132
|
+
| Project type | Use it for |
|
|
133
|
+
| --- | --- |
|
|
134
|
+
| Library | A distributable Python package with a choice of packaging modes. |
|
|
135
|
+
| CLI Application | A Typer application with a console command and tests. |
|
|
136
|
+
| Data Science | A Python package with a starter notebook and Jupyter tooling. |
|
|
137
|
+
|
|
138
|
+
Add **Jupyter** for notebook development or **Scientific Python** for NumPy,
|
|
139
|
+
pandas, Matplotlib, and scikit-learn. Data Science requires Jupyter;
|
|
140
|
+
Scientific Python is optional. These capabilities can also accompany the
|
|
141
|
+
other preview archetypes.
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
uvx --from "create-forge[engine]==0.3.0" create-forge new "My Analysis" --engine-preview --archetype data-science --capability jupyter --yes --data license=mit
|
|
145
|
+
cd my-analysis
|
|
146
|
+
uv run --locked poe check
|
|
147
|
+
uv run poe notebook
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
For regular preview use, install with `uv tool install "create-forge[engine]"`.
|
|
151
|
+
The [project guide](https://sandsy09.github.io/create-forge/projects/) explains
|
|
152
|
+
each type's output and links to complete recipes.
|
|
153
|
+
|
|
154
|
+
**Preview projects do not support `create-forge update`.** Their shared
|
|
155
|
+
tooling differs from the default Copier template; the preview does not
|
|
156
|
+
generate its CI workflows or install Git hooks. `--template`,
|
|
157
|
+
`--template-url`, and `--ref` apply only to the Copier workflow.
|
|
158
|
+
|
|
159
|
+
## What's next
|
|
160
|
+
|
|
161
|
+
The Foundation and Data Science roadmaps are complete. Making the engine
|
|
162
|
+
the default generation workflow is a planned direction with no scheduled
|
|
163
|
+
release. Follow [open work](https://github.com/Sandsy09/create-forge/issues)
|
|
164
|
+
and [releases](https://github.com/Sandsy09/create-forge/releases) for updates,
|
|
165
|
+
or suggest a project type, capability, or guide you would find useful.
|
|
166
|
+
|
|
167
|
+
## Feedback and contributing
|
|
168
|
+
|
|
169
|
+
- [Report a CLI problem or suggest a feature](https://github.com/Sandsy09/create-forge/issues/new/choose).
|
|
170
|
+
- [Request or correct documentation](https://github.com/Sandsy09/create-forge/issues/new?template=documentation.yml).
|
|
171
|
+
- [Report generated-content or capability problems](https://github.com/Sandsy09/forge-template/issues/new/choose).
|
|
172
|
+
|
|
173
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for development and PR checks, and
|
|
174
|
+
the [reference index](https://sandsy09.github.io/create-forge/reference/) for
|
|
175
|
+
engine APIs and architecture documents. Report vulnerabilities through
|
|
176
|
+
[SECURITY.md](SECURITY.md).
|
|
177
|
+
|
|
178
|
+
## License
|
|
179
|
+
|
|
180
|
+
MIT — see [LICENSE](LICENSE).
|
|
@@ -24,6 +24,23 @@ format](https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions
|
|
|
24
24
|
- [0019 — CLI archetype-parity review](0019-cli-archetype-parity-review.md)
|
|
25
25
|
- [0020 — Test the public engine path end to end](0020-engine-path-end-to-end-tests.md)
|
|
26
26
|
- [0021 — Finalise engine-generated lockfiles in the client](0021-client-finalises-engine-lockfiles.md)
|
|
27
|
+
- [0022 — Downstream organisation-policy consumption hook](0022-downstream-organisation-policy-hook.md)
|
|
28
|
+
- [0023 — Downstream client reference](0023-downstream-client-reference.md)
|
|
29
|
+
- [0024 — Keep create-forge a reference client, not a framework dependency](0024-reference-client-not-framework-dependency.md)
|
|
30
|
+
- [0025 — Prompt the engine path from discovery, not the Copier registry](0025-engine-native-prompt-flow.md)
|
|
31
|
+
- [0026 — Adopt the forge-template 0.4 compatibility line](0026-adopt-the-0-4-engine-compatibility-line.md)
|
|
32
|
+
- [0027 — Select components from discovery, with owner-qualified options](0027-generic-component-selection-conventions.md)
|
|
33
|
+
- [0028 — Select capabilities and platforms from one discovered catalogue](0028-discovery-driven-component-selection.md)
|
|
34
|
+
- [0029 — Collect and serialise options for every selected component](0029-per-component-option-collection.md)
|
|
35
|
+
- [0030 — Validate the Data Science preview pipeline against the released engine](0030-data-science-preview-pipeline-validation.md)
|
|
36
|
+
- [0031 — Adopt the reviewed forge-template 0.4.1 release](0031-adopt-the-reviewed-forge-template-0-4-1-release.md)
|
|
37
|
+
- [0032 — Validate Data Science through the installed create-forge candidate](0032-validate-installed-data-science-generation.md)
|
|
38
|
+
- [0033 — Complete the rollout regression and failure matrix at the installed boundary](0033-complete-rollout-regression-validation.md)
|
|
39
|
+
- [0034 — Publish create-forge 0.3.0 and close the Data Science roadmap](0034-publish-0-3-0-and-close-roadmap-v2.md)
|
|
40
|
+
- [0035 — Shared Forge user documentation](0035-shared-forge-user-documentation.md)
|
|
41
|
+
- [0036 — Keep credentials out of template sources and CLI diagnostics](0036-template-source-credentials.md)
|
|
42
|
+
- [0037 — Pin external Actions to reviewed commits and scope permissions per job](0037-immutable-workflow-actions.md)
|
|
43
|
+
- [0038 — Raise the Copier floor past the destination-escape advisories and hold uv](0038-dependency-floor-review.md)
|
|
27
44
|
|
|
28
45
|
Add a new record by copying the most recent one and incrementing the number.
|
|
29
46
|
Records are immutable: supersede them rather than editing.
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Forge Foundation Roadmap Pack — Two-Repository Edition
|
|
2
2
|
|
|
3
|
+
> **Completed historical roadmap.** Stages 00–09 are closed. Paths remain
|
|
4
|
+
> stable as decision and issue evidence. New Data Science work continues in
|
|
5
|
+
> the [Stage 10–14 roadmap](../roadmap-v2/README.md).
|
|
6
|
+
|
|
3
7
|
This revision models Forge as two independent repositories that work together through an explicit contract:
|
|
4
8
|
|
|
5
9
|
- **`forge-template`** owns generated content, component metadata and the template/composition engine.
|
|
@@ -51,8 +55,23 @@ workflows, which remain independently owned and unchanged.
|
|
|
51
55
|
The canonical
|
|
52
56
|
[ProjectSpec protocol v1](https://github.com/Sandsy09/forge-template/blob/main/docs/project-spec.md)
|
|
53
57
|
defines the strict effective generation request owned by `forge-template`.
|
|
54
|
-
`create-forge` retains construction and user-facing orchestration
|
|
55
|
-
|
|
58
|
+
`create-forge` retains construction and user-facing orchestration. The canonical
|
|
59
|
+
[organisation-policy protocol v1](https://github.com/Sandsy09/forge-template/blob/main/docs/organisation-policy.md)
|
|
60
|
+
defines how downstream clients resolve component-selection policy before
|
|
61
|
+
constructing that effective request. CF-09.01
|
|
62
|
+
([ADR 0022](https://github.com/Sandsy09/create-forge/blob/main/docs/adr/0022-downstream-organisation-policy-hook.md))
|
|
63
|
+
delivered the client hook; `create-forge` still consumes no policy itself.
|
|
64
|
+
Forge-template Epic 09 is complete through its canonical
|
|
65
|
+
[extension contract](https://github.com/Sandsy09/forge-template/blob/main/docs/extension-points.md),
|
|
66
|
+
[policy fixture](https://github.com/Sandsy09/forge-template/blob/main/docs/organisation-policy-fixtures.md),
|
|
67
|
+
[compatibility policy](https://github.com/Sandsy09/forge-template/blob/main/docs/compatibility-policy.md),
|
|
68
|
+
and [no-copy proof](https://github.com/Sandsy09/forge-template/blob/main/docs/no-copy-inheritance.md).
|
|
69
|
+
Forge-template [ADRs 0039–0042](https://github.com/Sandsy09/forge-template/blob/main/docs/adr/README.md)
|
|
70
|
+
record those four decisions.
|
|
71
|
+
Create-forge Epic #40 and #53–#55 are complete under
|
|
72
|
+
[ADR 0024](../adr/0024-reference-client-not-framework-dependency.md), which
|
|
73
|
+
validates the client-owned half without making `create-forge` a shared
|
|
74
|
+
framework dependency.
|
|
56
75
|
The canonical
|
|
57
76
|
[component manifest protocol v1](https://github.com/Sandsy09/forge-template/blob/main/docs/component-manifests.md)
|
|
58
77
|
defines engine-owned bundled component metadata and compatibility. The
|
|
@@ -44,7 +44,11 @@
|
|
|
44
44
|
(`pipeline._resolved_component_options`) is now gated by a discovered
|
|
45
45
|
descriptor rather than a hardcoded archetype id. The engine path's
|
|
46
46
|
Library-shaped prompt set was recorded, not fixed, and tracked by
|
|
47
|
-
[create-forge#91](https://github.com/Sandsy09/create-forge/issues/91)
|
|
47
|
+
[create-forge#91](https://github.com/Sandsy09/create-forge/issues/91) —
|
|
48
|
+
since closed via
|
|
49
|
+
[ADR 0025](https://github.com/Sandsy09/create-forge/blob/main/docs/adr/0025-engine-native-prompt-flow.md):
|
|
50
|
+
`--engine-preview` now prompts directly from the selected archetype's own
|
|
51
|
+
discovered `ComponentDescriptor.options` and reads no registry data at all.
|
|
48
52
|
- ~~**CF-08.04 — Extend end-to-end generation to the public engine**~~ —
|
|
49
53
|
complete via
|
|
50
54
|
[ADR 0020](https://github.com/Sandsy09/create-forge/blob/main/docs/adr/0020-engine-path-end-to-end-tests.md)
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Stage 09 — Blueprint Compatibility
|
|
2
|
+
|
|
3
|
+
## Repository ownership
|
|
4
|
+
|
|
5
|
+
### forge-template
|
|
6
|
+
|
|
7
|
+
- [x] **FT-09.01 — Define organisation policy model** — completed by the
|
|
8
|
+
canonical [organisation-policy protocol v1](https://github.com/Sandsy09/forge-template/blob/main/docs/organisation-policy.md),
|
|
9
|
+
[ADR 0038](https://github.com/Sandsy09/forge-template/blob/main/docs/adr/0038-organisation-policy-selection-model.md),
|
|
10
|
+
and [forge-template PR #89](https://github.com/Sandsy09/forge-template/pull/89).
|
|
11
|
+
- [x] **FT-09.02 — Define safe override and extension points** — completed by
|
|
12
|
+
the canonical [extension contract](https://github.com/Sandsy09/forge-template/blob/main/docs/extension-points.md),
|
|
13
|
+
[ADR 0039](https://github.com/Sandsy09/forge-template/blob/main/docs/adr/0039-deny-policy-file-overrides.md),
|
|
14
|
+
and [forge-template PR #90](https://github.com/Sandsy09/forge-template/pull/90).
|
|
15
|
+
- [x] **FT-09.03 — Create generic downstream policy reference fixture** —
|
|
16
|
+
completed by the canonical [fixture guide](https://github.com/Sandsy09/forge-template/blob/main/docs/organisation-policy-fixtures.md),
|
|
17
|
+
[ADR 0040](https://github.com/Sandsy09/forge-template/blob/main/docs/adr/0040-organisation-policy-reference-fixture.md),
|
|
18
|
+
and [forge-template PR #91](https://github.com/Sandsy09/forge-template/pull/91).
|
|
19
|
+
- [x] **FT-09.04 — Define Forge-Blueprint compatibility policy** — completed
|
|
20
|
+
by the canonical [compatibility policy](https://github.com/Sandsy09/forge-template/blob/main/docs/compatibility-policy.md),
|
|
21
|
+
[ADR 0041](https://github.com/Sandsy09/forge-template/blob/main/docs/adr/0041-forge-blueprint-compatibility-policy.md),
|
|
22
|
+
and [forge-template PR #92](https://github.com/Sandsy09/forge-template/pull/92).
|
|
23
|
+
- [x] **FT-09.05 — Validate no-copy inheritance model** — completed by the
|
|
24
|
+
canonical [no-copy proof](https://github.com/Sandsy09/forge-template/blob/main/docs/no-copy-inheritance.md),
|
|
25
|
+
[ADR 0042](https://github.com/Sandsy09/forge-template/blob/main/docs/adr/0042-validate-no-copy-downstream-inheritance.md),
|
|
26
|
+
and [forge-template PR #93](https://github.com/Sandsy09/forge-template/pull/93).
|
|
27
|
+
|
|
28
|
+
Forge-template [Epic #18](https://github.com/Sandsy09/forge-template/issues/18)
|
|
29
|
+
and its milestone are complete. Its contracts keep policy selection-only,
|
|
30
|
+
deny arbitrary file replacement, define compatibility, and prove public-
|
|
31
|
+
facade reuse without copied Foundation/component source. The private fixture
|
|
32
|
+
catalogue remains a forge-template test seam, not a client plugin mechanism.
|
|
33
|
+
|
|
34
|
+
### create-forge
|
|
35
|
+
|
|
36
|
+
- Epic: [CF-EPIC-09 / #40](https://github.com/Sandsy09/create-forge/issues/40)
|
|
37
|
+
- [x] [**CF-09.01 — Define downstream policy-consumption hook**](https://github.com/Sandsy09/create-forge/issues/53)
|
|
38
|
+
— complete. `pipeline.build_generation_request` accepts a `selection`/
|
|
39
|
+
`provenance` pair built from `spec.SelectionRequest`/`SelectionProvenance`;
|
|
40
|
+
`create-forge` ships no resolver and reads no policy document by design.
|
|
41
|
+
See [ADR 0022](https://github.com/Sandsy09/create-forge/blob/main/docs/adr/0022-downstream-organisation-policy-hook.md)
|
|
42
|
+
and the canonical [downstream policy-consumption contract](https://github.com/Sandsy09/create-forge/blob/main/docs/organisation-policy-consumption.md).
|
|
43
|
+
- [x] [**CF-09.02 — Create downstream CLI integration reference**](https://github.com/Sandsy09/create-forge/issues/54)
|
|
44
|
+
— complete. `examples/downstream_cli.py`: a second, independent
|
|
45
|
+
Blueprint-style CLI over the public `forge_template` facade, with its own
|
|
46
|
+
compatibility bounds and its own minimal organisation-policy resolver, and
|
|
47
|
+
no dependency on `create-forge` at all (an AST guard proves it). See
|
|
48
|
+
[ADR 0023](https://github.com/Sandsy09/create-forge/blob/main/docs/adr/0023-downstream-client-reference.md)
|
|
49
|
+
and the canonical [downstream client reference](https://github.com/Sandsy09/create-forge/blob/main/docs/downstream-client-reference.md).
|
|
50
|
+
- [x] [**CF-09.03 — Validate create-forge is a reference client, not a framework dependency**](https://github.com/Sandsy09/create-forge/issues/55)
|
|
51
|
+
— complete. [ADR 0024](../../../adr/0024-reference-client-not-framework-dependency.md)
|
|
52
|
+
records the strict one-way dependency, the living
|
|
53
|
+
[integration contract](../../../integration-contract.md) maps every
|
|
54
|
+
acceptance criterion to executable evidence, and both production
|
|
55
|
+
archetypes are checked for Forge-free generated dependencies and locks.
|
|
56
|
+
|
|
57
|
+
## Stage completion rule
|
|
58
|
+
|
|
59
|
+
- [x] Repo-local issues are complete or explicitly deferred.
|
|
60
|
+
- [x] Cross-repository blockers are resolved.
|
|
61
|
+
- [x] Public contracts changed by this stage are documented/versioned.
|
|
62
|
+
- [x] No implementation concern is duplicated across repositories.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Forge Data Science Roadmap — Two-Repository Edition
|
|
2
|
+
|
|
3
|
+
This roadmap continues the completed
|
|
4
|
+
[Forge Foundation roadmap](../roadmap-v1/README.md) through Stages 10–14.
|
|
5
|
+
It plans the next production archetype without reopening the Foundation,
|
|
6
|
+
composition, reference-client, or Blueprint decisions completed in Stages
|
|
7
|
+
00–09.
|
|
8
|
+
|
|
9
|
+
The target is a package-backed, notebook-oriented Data Science project with
|
|
10
|
+
reusable optional capabilities. Exact scientific libraries, notebook front
|
|
11
|
+
ends, data-versioning systems, model tooling, and deployment integrations are
|
|
12
|
+
not selected here; Stage 10 owns those decisions.
|
|
13
|
+
|
|
14
|
+
Delivery remains behind `create-forge new --engine-preview`. Retiring the
|
|
15
|
+
default direct-Copier path is a separate future initiative.
|
|
16
|
+
|
|
17
|
+
Stages 10–12 are complete. The package-bound five-component catalogue is
|
|
18
|
+
published as
|
|
19
|
+
[`forge-template 0.4.0`](https://github.com/Sandsy09/forge-template/releases/tag/v0.4.0)
|
|
20
|
+
on [PyPI](https://pypi.org/project/forge-template/0.4.0/). Stage 13 is
|
|
21
|
+
complete: CF-13.01 (ADR 0026) adopted the `forge-template>=0.4,<0.5`
|
|
22
|
+
compatibility line, so `--engine-preview` discovery now returns all five
|
|
23
|
+
descriptors, and CF-13.02 (ADR 0027) fixed the generic component-selection
|
|
24
|
+
CLI conventions, which CF-13.03 (ADR 0028) implemented for capabilities and
|
|
25
|
+
platforms and CF-13.04 (ADR 0029) for per-component options, and CF-13.05
|
|
26
|
+
(ADR 0030) validated the Data Science composition through the shared pipeline
|
|
27
|
+
against the released engine, closing CF-EPIC-13. Stage 14 takes the released
|
|
28
|
+
client and engine pair through installed-console validation and rollout.
|
|
29
|
+
Provider Stage 14 is complete and published the reviewed
|
|
30
|
+
`forge-template 0.4.1` release. CF-14.01 (ADR 0031) adopts it as create-forge's
|
|
31
|
+
`>=0.4.1,<0.5` lower bound and prepares create-forge `0.3.0`; CF-14.02
|
|
32
|
+
(ADR 0032) completes installed-console Data Science validation, and CF-14.03
|
|
33
|
+
(ADR 0033) completes the installed regression and failure matrix. CF-14.04
|
|
34
|
+
(ADR 0034) published create-forge `0.3.0` to PyPI, verified the released pair,
|
|
35
|
+
and closed CF-EPIC-14 and both Stage 13 and Stage 14 milestones. **The Data
|
|
36
|
+
Science roadmap is complete in both repositories.**
|
|
37
|
+
|
|
38
|
+
## Repository roles
|
|
39
|
+
|
|
40
|
+
- **forge-template** owns the Data Science contract, capabilities, archetype,
|
|
41
|
+
composition review, generated content, and engine releases.
|
|
42
|
+
- **create-forge** owns discovery-driven user input, ProjectSpec construction,
|
|
43
|
+
diagnostics, staging, lock finalisation, and end-to-end client validation.
|
|
44
|
+
|
|
45
|
+
See the [architecture](ARCHITECTURE.md),
|
|
46
|
+
[ownership model](REPOSITORY-OWNERSHIP.md), and
|
|
47
|
+
[stage roadmap](ROADMAP.md) for the complete boundary.
|
|
48
|
+
|
|
49
|
+
## Live GitHub work
|
|
50
|
+
|
|
51
|
+
Six epics and 24 child issues are filed across the two repositories. GitHub
|
|
52
|
+
issue bodies and native parent/dependency relationships are authoritative:
|
|
53
|
+
|
|
54
|
+
- [forge-template epic index](https://github.com/Sandsy09/forge-template/blob/main/docs/roadmap-v2/github-issues/forge-template/ISSUE-INDEX.md)
|
|
55
|
+
- [create-forge epic index](https://github.com/Sandsy09/create-forge/blob/main/docs/roadmap-v2/github-issues/create-forge/ISSUE-INDEX.md)
|
|
56
|
+
- [cross-repository dependency matrix](github-issues/CROSS-REPO-DEPENDENCIES.md)
|
|
57
|
+
- [GitHub setup and taxonomy](github-issues/GITHUB-SETUP.md)
|