icm-workspace-template 0.9.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 (59) hide show
  1. icm_workspace_template-0.9.0/LICENSE +21 -0
  2. icm_workspace_template-0.9.0/NOTICE +13 -0
  3. icm_workspace_template-0.9.0/PKG-INFO +274 -0
  4. icm_workspace_template-0.9.0/README.md +241 -0
  5. icm_workspace_template-0.9.0/icm/__init__.py +3 -0
  6. icm_workspace_template-0.9.0/icm/__main__.py +7 -0
  7. icm_workspace_template-0.9.0/icm/cli.py +347 -0
  8. icm_workspace_template-0.9.0/icm/legacy_tools/validate_icm_workspace.py +113 -0
  9. icm_workspace_template-0.9.0/icm/templates/icm-workspace/.github/prompts/design-icm-workspace.prompt.md +11 -0
  10. icm_workspace_template-0.9.0/icm/templates/icm-workspace/.github/prompts/review-icm-output.prompt.md +16 -0
  11. icm_workspace_template-0.9.0/icm/templates/icm-workspace/.github/prompts/run-icm-stage.prompt.md +17 -0
  12. icm_workspace_template-0.9.0/icm/templates/icm-workspace/.gitignore +10 -0
  13. icm_workspace_template-0.9.0/icm/templates/icm-workspace/AGENTS.md +32 -0
  14. icm_workspace_template-0.9.0/icm/templates/icm-workspace/CONTEXT.md +44 -0
  15. icm_workspace_template-0.9.0/icm/templates/icm-workspace/README.md +81 -0
  16. icm_workspace_template-0.9.0/icm/templates/icm-workspace/_config/glossary.md +11 -0
  17. icm_workspace_template-0.9.0/icm/templates/icm-workspace/_config/operating-rules.md +20 -0
  18. icm_workspace_template-0.9.0/icm/templates/icm-workspace/_config/project-profile.md +36 -0
  19. icm_workspace_template-0.9.0/icm/templates/icm-workspace/_config/quality-gates.md +27 -0
  20. icm_workspace_template-0.9.0/icm/templates/icm-workspace/_config/style-guide.md +19 -0
  21. icm_workspace_template-0.9.0/icm/templates/icm-workspace/_templates/decision-log-entry.md +15 -0
  22. icm_workspace_template-0.9.0/icm/templates/icm-workspace/_templates/project-readme.md +21 -0
  23. icm_workspace_template-0.9.0/icm/templates/icm-workspace/_templates/review-note.md +28 -0
  24. icm_workspace_template-0.9.0/icm/templates/icm-workspace/_templates/run-brief.md +35 -0
  25. icm_workspace_template-0.9.0/icm/templates/icm-workspace/_templates/stage-context.md +39 -0
  26. icm_workspace_template-0.9.0/icm/templates/icm-workspace/shared/README.md +10 -0
  27. icm_workspace_template-0.9.0/icm/templates/icm-workspace/shared/backlog.md +6 -0
  28. icm_workspace_template-0.9.0/icm/templates/icm-workspace/shared/decision-log.md +6 -0
  29. icm_workspace_template-0.9.0/icm/templates/icm-workspace/shared/glossary.md +6 -0
  30. icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/00_intake/CONTEXT.md +37 -0
  31. icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/00_intake/output/project-brief.md +32 -0
  32. icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/00_intake/references/intake-checklist.md +12 -0
  33. icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/01_discovery/CONTEXT.md +39 -0
  34. icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/01_discovery/output/.gitkeep +1 -0
  35. icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/01_discovery/references/discovery-question-bank.md +27 -0
  36. icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/01_discovery/references/discovery-report-rubric.md +33 -0
  37. icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/02_stage_mapping/CONTEXT.md +38 -0
  38. icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/02_stage_mapping/output/.gitkeep +1 -0
  39. icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/02_stage_mapping/references/stage-patterns.md +15 -0
  40. icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/03_scaffold/CONTEXT.md +38 -0
  41. icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/03_scaffold/output/.gitkeep +1 -0
  42. icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/03_scaffold/references/scaffold-rules.md +28 -0
  43. icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/04_questionnaire/CONTEXT.md +37 -0
  44. icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/04_questionnaire/output/.gitkeep +1 -0
  45. icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/04_questionnaire/references/questionnaire-patterns.md +24 -0
  46. icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/05_validation/CONTEXT.md +39 -0
  47. icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/05_validation/output/.gitkeep +1 -0
  48. icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/05_validation/references/validation-checklist.md +26 -0
  49. icm_workspace_template-0.9.0/icm/workspace.py +980 -0
  50. icm_workspace_template-0.9.0/icm_workspace_template.egg-info/PKG-INFO +274 -0
  51. icm_workspace_template-0.9.0/icm_workspace_template.egg-info/SOURCES.txt +57 -0
  52. icm_workspace_template-0.9.0/icm_workspace_template.egg-info/dependency_links.txt +1 -0
  53. icm_workspace_template-0.9.0/icm_workspace_template.egg-info/entry_points.txt +2 -0
  54. icm_workspace_template-0.9.0/icm_workspace_template.egg-info/requires.txt +8 -0
  55. icm_workspace_template-0.9.0/icm_workspace_template.egg-info/top_level.txt +1 -0
  56. icm_workspace_template-0.9.0/pyproject.toml +69 -0
  57. icm_workspace_template-0.9.0/setup.cfg +4 -0
  58. icm_workspace_template-0.9.0/tests/test_cli.py +68 -0
  59. icm_workspace_template-0.9.0/tests/test_workspace.py +243 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Hobo and ICM Reusable Template contributors
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,13 @@
1
+ This repository is an independent reusable template based on:
2
+
3
+ Jake Van Clief and David McDermott. "Interpretable Context Methodology:
4
+ Folder Structure as Agent Architecture." arXiv:2603.16021v2, 18 Mar. 2026.
5
+
6
+ Paper: https://arxiv.org/html/2603.16021v2
7
+ Original protocol repository listed in the paper:
8
+ https://github.com/RinDig/Interpretable-Context-Methodology-ICM-
9
+
10
+ The paper describes the ICM protocol as open source under the MIT license.
11
+ This repository adapts the methodology into a model-neutral starter template;
12
+ it is not an official ICM protocol repository unless later stated by the
13
+ original authors.
@@ -0,0 +1,274 @@
1
+ Metadata-Version: 2.4
2
+ Name: icm-workspace-template
3
+ Version: 0.9.0
4
+ Summary: CLI and reusable template for Interpretable Context Methodology workspaces
5
+ Author: Hobo
6
+ License-Expression: MIT
7
+ Project-URL: Changelog, https://github.com/stickwithfiddle-sys/interpretable-context-methodology-template/blob/main/CHANGELOG.md
8
+ Project-URL: Documentation, https://stickwithfiddle-sys.github.io/interpretable-context-methodology-template/
9
+ Project-URL: Homepage, https://github.com/stickwithfiddle-sys/interpretable-context-methodology-template
10
+ Project-URL: Issues, https://github.com/stickwithfiddle-sys/interpretable-context-methodology-template/issues
11
+ Project-URL: Paper, https://arxiv.org/html/2603.16021v2
12
+ Project-URL: Repository, https://github.com/stickwithfiddle-sys/interpretable-context-methodology-template
13
+ Keywords: interpretable-context-methodology,icm,ai-agents,context-engineering,agent-workflows
14
+ Classifier: Development Status :: 3 - Alpha
15
+ Classifier: Environment :: Console
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Topic :: Software Development :: Build Tools
22
+ Classifier: Topic :: Text Processing :: Markup :: Markdown
23
+ Requires-Python: >=3.10
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSE
26
+ License-File: NOTICE
27
+ Provides-Extra: dev
28
+ Requires-Dist: build>=1; extra == "dev"
29
+ Requires-Dist: pytest>=8; extra == "dev"
30
+ Requires-Dist: tomli>=2; python_version < "3.11" and extra == "dev"
31
+ Requires-Dist: twine>=5; extra == "dev"
32
+ Dynamic: license-file
33
+
34
+ # Interpretable Context Methodology (ICM) Reusable Template
35
+
36
+ Beginner-friendly starter kit for building filesystem-based AI agent workflows with [Interpretable Context Methodology](https://arxiv.org/html/2603.16021v2).
37
+
38
+ Think of ICM as Trello meets Makefile meets agent prompts: each numbered folder is a step in the workflow, each `CONTEXT.md` file says what that step does, and each `output/` folder is a human-reviewable handoff.
39
+
40
+ ## Start Here
41
+
42
+ Install the CLI from the latest GitHub release in a virtual environment:
43
+
44
+ ```bash
45
+ python -m venv .venv
46
+ source .venv/bin/activate
47
+ python -m pip install git+https://github.com/stickwithfiddle-sys/interpretable-context-methodology-template.git@v0.9.0
48
+ icm new my-first-icm-workspace --name "My First ICM Workspace"
49
+ ```
50
+
51
+ Then open the new folder and fill in:
52
+
53
+ ```text
54
+ my-first-icm-workspace/stages/00_intake/output/project-brief.md
55
+ ```
56
+
57
+ Ask your coding agent:
58
+
59
+ ```text
60
+ Read AGENTS.md and CONTEXT.md, then run stages/00_intake.
61
+ Write only the declared outputs, run the Verify checks, and stop at the Review Gate.
62
+ ```
63
+
64
+ Finally, validate the workspace structure:
65
+
66
+ ```bash
67
+ icm validate my-first-icm-workspace --strict
68
+ ```
69
+
70
+ Expected output:
71
+
72
+ ```text
73
+ OK: workspace passed validation with 0 warning(s)
74
+ ```
75
+
76
+ On Windows PowerShell, use backslashes if you prefer:
77
+
78
+ ```powershell
79
+ python -m venv .venv
80
+ .\.venv\Scripts\Activate.ps1
81
+ python -m pip install git+https://github.com/stickwithfiddle-sys/interpretable-context-methodology-template.git@v0.9.0
82
+ icm new my-first-icm-workspace --name "My First ICM Workspace"
83
+ icm validate my-first-icm-workspace --strict
84
+ ```
85
+
86
+ If you are developing from this repo, install the editable package:
87
+
88
+ ```bash
89
+ python -m venv .venv
90
+ source .venv/bin/activate
91
+ python -m pip install -e ".[dev]"
92
+ icm status examples/completed-content-plan
93
+ ```
94
+
95
+ To install from GitHub instead of cloning first, see [docs/install.md](docs/install.md). The visual docs site is published at [stickwithfiddle-sys.github.io/interpretable-context-methodology-template](https://stickwithfiddle-sys.github.io/interpretable-context-methodology-template/).
96
+
97
+ ## Why This Exists
98
+
99
+ Most agent workflows become hard to inspect once the logic lives inside a chat thread, framework state, or hidden prompt chain. ICM keeps the workflow visible:
100
+
101
+ - Stages are folders.
102
+ - Agent instructions are markdown.
103
+ - Inputs and outputs are plain files.
104
+ - Humans review artifacts between steps.
105
+ - Repeated fixes move upstream into reusable source files.
106
+
107
+ This is useful for research synthesis, planning, content production, documentation systems, policy workflows, analysis pipelines, and any project where each intermediate artifact should be readable before the next step runs.
108
+
109
+ ## Five-Layer Mental Model
110
+
111
+ ```mermaid
112
+ flowchart TD
113
+ L0["Layer 0: AGENTS.md<br/>Workspace identity and operating rules"]
114
+ L1["Layer 1: CONTEXT.md<br/>Routing and stage index"]
115
+ L2["Layer 2: stages/NN_slug/CONTEXT.md<br/>One stage contract"]
116
+ L3["Layer 3: _config/, shared/, references/<br/>Stable rules and reusable context"]
117
+ L4["Layer 4: output/<br/>Working artifacts and handoffs"]
118
+
119
+ L0 --> L1 --> L2
120
+ L2 --> L3
121
+ L2 --> L4
122
+ L4 --> NEXT["Next numbered stage"]
123
+ ```
124
+
125
+ The most important habit: do not ask the agent to load everything. Ask it to follow the current stage contract.
126
+
127
+ ## Learn By Example
128
+
129
+ Start with these files:
130
+
131
+ | File | Use |
132
+ | --- | --- |
133
+ | [docs/first-workspace.md](docs/first-workspace.md) | Step-by-step first run tutorial |
134
+ | [docs/glossary.md](docs/glossary.md) | Plain-language definitions of ICM terms |
135
+ | [docs/install.md](docs/install.md) | GitHub, virtualenv, and local install options |
136
+ | [docs/index.html](docs/index.html) | GitHub Pages visual docs homepage |
137
+ | [examples/completed-content-plan](examples/completed-content-plan) | Completed example workspace with filled stage outputs |
138
+ | [examples/completed-research-brief](examples/completed-research-brief) | Completed research-brief example with review rubrics |
139
+ | [docs/dashboard-direction.md](docs/dashboard-direction.md) | Dashboard direction and readiness criteria |
140
+ | [docs/product-direction.md](docs/product-direction.md) | UX/product roadmap, including Hermes Agent-inspired ideas |
141
+ | [docs/revision-audit.md](docs/revision-audit.md) | Current product audit, UX assessment, and next direction options |
142
+ | [docs/release-process.md](docs/release-process.md) | Versioning, release, and GitHub workflow checklist |
143
+ | [docs/source-traceability.md](docs/source-traceability.md) | How outputs cite the files and decisions they rely on |
144
+ | [docs/review-rubrics.md](docs/review-rubrics.md) | Artifact-specific `icm review` rubric format |
145
+ | [docs/pypi-readiness.md](docs/pypi-readiness.md) | Package checks and Trusted Publishing setup |
146
+ | [docs/research-summary.md](docs/research-summary.md) | Practical summary of the ICM paper |
147
+ | [docs/template-design.md](docs/template-design.md) | Design decisions behind this starter kit |
148
+
149
+ ## CLI MVP
150
+
151
+ The product path is the `icm` CLI:
152
+
153
+ ```bash
154
+ python -m icm new ../demo --name "Demo"
155
+ python -m icm init ../existing-project --name "Existing Project"
156
+ python -m icm validate ../demo --strict
157
+ python -m icm status ../demo
158
+ python -m icm next ../demo
159
+ python -m icm explain stages/01_discovery --workspace ../demo
160
+ python -m icm review stages/01_discovery --workspace ../demo
161
+ python -m icm doctor ../demo
162
+ ```
163
+
164
+ After installing in a virtual environment with `python -m pip install -e ".[dev]"`, the same commands are available as:
165
+
166
+ ```bash
167
+ icm new ../demo --name "Demo"
168
+ icm init ../existing-project --name "Existing Project"
169
+ icm validate ../demo --strict
170
+ icm status ../demo
171
+ icm next ../demo
172
+ icm explain stages/01_discovery --workspace ../demo
173
+ icm review stages/01_discovery --workspace ../demo
174
+ icm doctor ../demo
175
+ ```
176
+
177
+ ## What Is Included
178
+
179
+ ```text
180
+ templates/icm-workspace/
181
+ AGENTS.md Layer 0: workspace identity and agent operating rules
182
+ CONTEXT.md Layer 1: routing and stage index
183
+ _config/ Layer 3: stable project rules and reusable preferences
184
+ _templates/ Reusable markdown templates for new stages and reviews
185
+ shared/ Cross-stage notes, decisions, backlog, and glossary
186
+ stages/ Layer 2 stage contracts and Layer 4 output folders
187
+ .github/prompts/ Optional VS Code prompt files for running/reviewing stages
188
+ examples/
189
+ completed-content-plan/ Filled example workspace for a small content workflow
190
+ completed-research-brief/ Filled example workspace for a research brief workflow
191
+ tools/
192
+ check_docs_site.py Validates GitHub Pages homepage references
193
+ check_release_readiness.py Checks version, metadata, docs, and publish workflow readiness
194
+ new_icm_workspace.py Copies the template into a new project folder
195
+ validate_icm_workspace.py Checks stage naming, contracts, and handoff folders
196
+ icm/
197
+ cli.py Product CLI for new, validate, status, next, explain, review, doctor
198
+ tests/
199
+ test_cli.py CLI behavior coverage
200
+ test_workspace.py Workspace helper and review coverage
201
+ docs/
202
+ index.html GitHub Pages visual docs homepage
203
+ first-workspace.md Beginner tutorial
204
+ dashboard-direction.md Dashboard readiness notes
205
+ glossary.md Plain-language terms
206
+ install.md Install options and package smoke checks
207
+ product-direction.md UX and product roadmap
208
+ pypi-readiness.md PyPI package publishing checklist
209
+ release-process.md GitHub and versioning workflow
210
+ review-rubrics.md Artifact-specific review rubric format
211
+ source-traceability.md Source citation pattern for reviewable outputs
212
+ research-summary.md Practical findings extracted from the paper
213
+ template-design.md Design decisions and adaptation notes
214
+ ```
215
+
216
+ ## Builder Pipeline
217
+
218
+ The included template is a workspace-builder. Its output is a project-specific ICM workspace.
219
+
220
+ | Stage | Purpose | Main Output |
221
+ | --- | --- | --- |
222
+ | `00_intake` | Capture the project brief and constraints | `project-brief.md` |
223
+ | `01_discovery` | Identify domain, users, deliverables, risks, and workflow shape | `discovery-report.md` |
224
+ | `02_stage_mapping` | Choose natural breakpoints, review gates, and handoffs | `stage-map.md` |
225
+ | `03_scaffold` | Define the project workspace tree and stage contracts | `scaffold-plan.md` |
226
+ | `04_questionnaire` | Produce setup questions and reference-material prompts | `setup-questionnaire.md` |
227
+ | `05_validation` | Dry-run the workflow and report gaps before use | `validation-report.md` |
228
+
229
+ ## Common Mistakes
230
+
231
+ | Mistake | Better Move |
232
+ | --- | --- |
233
+ | Asking the agent to "do the whole project" | Ask it to run one numbered stage and stop at the review gate |
234
+ | Treating `output/` files as disposable | Review and edit them; they are the audit trail |
235
+ | Putting project rules in a chat message | Put stable rules in `_config/`, `shared/`, or `references/` |
236
+ | Adding a stage for every tiny task | Add a stage only when there is a real handoff, context boundary, or review point |
237
+ | Fixing the same output issue repeatedly | Update the stage `CONTEXT.md` or reference file so future runs improve |
238
+ | Loading the whole repo for every step | Load only the files listed in the current stage's Inputs table |
239
+
240
+ ## When To Use ICM
241
+
242
+ Use ICM when a workflow is sequential, reviewable, and repeatable: one stage produces a plain-text artifact, a human can inspect or edit it, and the next stage reads that artifact as input.
243
+
244
+ Use a conventional framework instead when you need real-time multi-agent collaboration, high-concurrency service infrastructure, automated branching based on model decisions, or tight message-passing loops.
245
+
246
+ ## Status
247
+
248
+ Experimental starter kit. The template is intended to make ICM easy to try, inspect, and adapt; it is not an official release of the original ICM protocol.
249
+
250
+ Current package version: `0.9.0`.
251
+
252
+ Release notes live in [CHANGELOG.md](CHANGELOG.md). Contribution and review practices live in [CONTRIBUTING.md](CONTRIBUTING.md) and [docs/release-process.md](docs/release-process.md).
253
+
254
+ Repository safety practices live in [SECURITY.md](SECURITY.md) and [.github/CODEOWNERS](.github/CODEOWNERS). Public users can open issues, forks, and pull requests, but they cannot directly change protected `main` without maintainer-controlled review and passing checks.
255
+
256
+ Maintained by Hobo.
257
+
258
+ ## Research Basis
259
+
260
+ The ICM paper was authored by Jake Van Clief and David McDermott. It argues for five design principles: one stage, one job; plain text as the interface; layered context loading; every output as an edit surface; and configuring the factory rather than each product. This template applies those principles with a model-neutral `AGENTS.md` Layer 0 file, explicit stage contracts, scoped Layer 3 references, Layer 4 output handoffs, and a validator script.
261
+
262
+ See [docs/research-summary.md](docs/research-summary.md) for the research notes and [docs/template-design.md](docs/template-design.md) for implementation choices.
263
+
264
+ ## Attribution
265
+
266
+ This project is an independent reusable template based on the paper:
267
+
268
+ > Jake Van Clief and David McDermott. "Interpretable Context Methodology: Folder Structure as Agent Architecture." arXiv:2603.16021v2, 18 Mar. 2026.
269
+
270
+ The ICM protocol referenced by the paper is described as open source under the MIT license. This repository is a derived starter template and should not be read as an official repository or endorsement by the paper authors.
271
+
272
+ ## License
273
+
274
+ MIT. See [LICENSE](LICENSE).
@@ -0,0 +1,241 @@
1
+ # Interpretable Context Methodology (ICM) Reusable Template
2
+
3
+ Beginner-friendly starter kit for building filesystem-based AI agent workflows with [Interpretable Context Methodology](https://arxiv.org/html/2603.16021v2).
4
+
5
+ Think of ICM as Trello meets Makefile meets agent prompts: each numbered folder is a step in the workflow, each `CONTEXT.md` file says what that step does, and each `output/` folder is a human-reviewable handoff.
6
+
7
+ ## Start Here
8
+
9
+ Install the CLI from the latest GitHub release in a virtual environment:
10
+
11
+ ```bash
12
+ python -m venv .venv
13
+ source .venv/bin/activate
14
+ python -m pip install git+https://github.com/stickwithfiddle-sys/interpretable-context-methodology-template.git@v0.9.0
15
+ icm new my-first-icm-workspace --name "My First ICM Workspace"
16
+ ```
17
+
18
+ Then open the new folder and fill in:
19
+
20
+ ```text
21
+ my-first-icm-workspace/stages/00_intake/output/project-brief.md
22
+ ```
23
+
24
+ Ask your coding agent:
25
+
26
+ ```text
27
+ Read AGENTS.md and CONTEXT.md, then run stages/00_intake.
28
+ Write only the declared outputs, run the Verify checks, and stop at the Review Gate.
29
+ ```
30
+
31
+ Finally, validate the workspace structure:
32
+
33
+ ```bash
34
+ icm validate my-first-icm-workspace --strict
35
+ ```
36
+
37
+ Expected output:
38
+
39
+ ```text
40
+ OK: workspace passed validation with 0 warning(s)
41
+ ```
42
+
43
+ On Windows PowerShell, use backslashes if you prefer:
44
+
45
+ ```powershell
46
+ python -m venv .venv
47
+ .\.venv\Scripts\Activate.ps1
48
+ python -m pip install git+https://github.com/stickwithfiddle-sys/interpretable-context-methodology-template.git@v0.9.0
49
+ icm new my-first-icm-workspace --name "My First ICM Workspace"
50
+ icm validate my-first-icm-workspace --strict
51
+ ```
52
+
53
+ If you are developing from this repo, install the editable package:
54
+
55
+ ```bash
56
+ python -m venv .venv
57
+ source .venv/bin/activate
58
+ python -m pip install -e ".[dev]"
59
+ icm status examples/completed-content-plan
60
+ ```
61
+
62
+ To install from GitHub instead of cloning first, see [docs/install.md](docs/install.md). The visual docs site is published at [stickwithfiddle-sys.github.io/interpretable-context-methodology-template](https://stickwithfiddle-sys.github.io/interpretable-context-methodology-template/).
63
+
64
+ ## Why This Exists
65
+
66
+ Most agent workflows become hard to inspect once the logic lives inside a chat thread, framework state, or hidden prompt chain. ICM keeps the workflow visible:
67
+
68
+ - Stages are folders.
69
+ - Agent instructions are markdown.
70
+ - Inputs and outputs are plain files.
71
+ - Humans review artifacts between steps.
72
+ - Repeated fixes move upstream into reusable source files.
73
+
74
+ This is useful for research synthesis, planning, content production, documentation systems, policy workflows, analysis pipelines, and any project where each intermediate artifact should be readable before the next step runs.
75
+
76
+ ## Five-Layer Mental Model
77
+
78
+ ```mermaid
79
+ flowchart TD
80
+ L0["Layer 0: AGENTS.md<br/>Workspace identity and operating rules"]
81
+ L1["Layer 1: CONTEXT.md<br/>Routing and stage index"]
82
+ L2["Layer 2: stages/NN_slug/CONTEXT.md<br/>One stage contract"]
83
+ L3["Layer 3: _config/, shared/, references/<br/>Stable rules and reusable context"]
84
+ L4["Layer 4: output/<br/>Working artifacts and handoffs"]
85
+
86
+ L0 --> L1 --> L2
87
+ L2 --> L3
88
+ L2 --> L4
89
+ L4 --> NEXT["Next numbered stage"]
90
+ ```
91
+
92
+ The most important habit: do not ask the agent to load everything. Ask it to follow the current stage contract.
93
+
94
+ ## Learn By Example
95
+
96
+ Start with these files:
97
+
98
+ | File | Use |
99
+ | --- | --- |
100
+ | [docs/first-workspace.md](docs/first-workspace.md) | Step-by-step first run tutorial |
101
+ | [docs/glossary.md](docs/glossary.md) | Plain-language definitions of ICM terms |
102
+ | [docs/install.md](docs/install.md) | GitHub, virtualenv, and local install options |
103
+ | [docs/index.html](docs/index.html) | GitHub Pages visual docs homepage |
104
+ | [examples/completed-content-plan](examples/completed-content-plan) | Completed example workspace with filled stage outputs |
105
+ | [examples/completed-research-brief](examples/completed-research-brief) | Completed research-brief example with review rubrics |
106
+ | [docs/dashboard-direction.md](docs/dashboard-direction.md) | Dashboard direction and readiness criteria |
107
+ | [docs/product-direction.md](docs/product-direction.md) | UX/product roadmap, including Hermes Agent-inspired ideas |
108
+ | [docs/revision-audit.md](docs/revision-audit.md) | Current product audit, UX assessment, and next direction options |
109
+ | [docs/release-process.md](docs/release-process.md) | Versioning, release, and GitHub workflow checklist |
110
+ | [docs/source-traceability.md](docs/source-traceability.md) | How outputs cite the files and decisions they rely on |
111
+ | [docs/review-rubrics.md](docs/review-rubrics.md) | Artifact-specific `icm review` rubric format |
112
+ | [docs/pypi-readiness.md](docs/pypi-readiness.md) | Package checks and Trusted Publishing setup |
113
+ | [docs/research-summary.md](docs/research-summary.md) | Practical summary of the ICM paper |
114
+ | [docs/template-design.md](docs/template-design.md) | Design decisions behind this starter kit |
115
+
116
+ ## CLI MVP
117
+
118
+ The product path is the `icm` CLI:
119
+
120
+ ```bash
121
+ python -m icm new ../demo --name "Demo"
122
+ python -m icm init ../existing-project --name "Existing Project"
123
+ python -m icm validate ../demo --strict
124
+ python -m icm status ../demo
125
+ python -m icm next ../demo
126
+ python -m icm explain stages/01_discovery --workspace ../demo
127
+ python -m icm review stages/01_discovery --workspace ../demo
128
+ python -m icm doctor ../demo
129
+ ```
130
+
131
+ After installing in a virtual environment with `python -m pip install -e ".[dev]"`, the same commands are available as:
132
+
133
+ ```bash
134
+ icm new ../demo --name "Demo"
135
+ icm init ../existing-project --name "Existing Project"
136
+ icm validate ../demo --strict
137
+ icm status ../demo
138
+ icm next ../demo
139
+ icm explain stages/01_discovery --workspace ../demo
140
+ icm review stages/01_discovery --workspace ../demo
141
+ icm doctor ../demo
142
+ ```
143
+
144
+ ## What Is Included
145
+
146
+ ```text
147
+ templates/icm-workspace/
148
+ AGENTS.md Layer 0: workspace identity and agent operating rules
149
+ CONTEXT.md Layer 1: routing and stage index
150
+ _config/ Layer 3: stable project rules and reusable preferences
151
+ _templates/ Reusable markdown templates for new stages and reviews
152
+ shared/ Cross-stage notes, decisions, backlog, and glossary
153
+ stages/ Layer 2 stage contracts and Layer 4 output folders
154
+ .github/prompts/ Optional VS Code prompt files for running/reviewing stages
155
+ examples/
156
+ completed-content-plan/ Filled example workspace for a small content workflow
157
+ completed-research-brief/ Filled example workspace for a research brief workflow
158
+ tools/
159
+ check_docs_site.py Validates GitHub Pages homepage references
160
+ check_release_readiness.py Checks version, metadata, docs, and publish workflow readiness
161
+ new_icm_workspace.py Copies the template into a new project folder
162
+ validate_icm_workspace.py Checks stage naming, contracts, and handoff folders
163
+ icm/
164
+ cli.py Product CLI for new, validate, status, next, explain, review, doctor
165
+ tests/
166
+ test_cli.py CLI behavior coverage
167
+ test_workspace.py Workspace helper and review coverage
168
+ docs/
169
+ index.html GitHub Pages visual docs homepage
170
+ first-workspace.md Beginner tutorial
171
+ dashboard-direction.md Dashboard readiness notes
172
+ glossary.md Plain-language terms
173
+ install.md Install options and package smoke checks
174
+ product-direction.md UX and product roadmap
175
+ pypi-readiness.md PyPI package publishing checklist
176
+ release-process.md GitHub and versioning workflow
177
+ review-rubrics.md Artifact-specific review rubric format
178
+ source-traceability.md Source citation pattern for reviewable outputs
179
+ research-summary.md Practical findings extracted from the paper
180
+ template-design.md Design decisions and adaptation notes
181
+ ```
182
+
183
+ ## Builder Pipeline
184
+
185
+ The included template is a workspace-builder. Its output is a project-specific ICM workspace.
186
+
187
+ | Stage | Purpose | Main Output |
188
+ | --- | --- | --- |
189
+ | `00_intake` | Capture the project brief and constraints | `project-brief.md` |
190
+ | `01_discovery` | Identify domain, users, deliverables, risks, and workflow shape | `discovery-report.md` |
191
+ | `02_stage_mapping` | Choose natural breakpoints, review gates, and handoffs | `stage-map.md` |
192
+ | `03_scaffold` | Define the project workspace tree and stage contracts | `scaffold-plan.md` |
193
+ | `04_questionnaire` | Produce setup questions and reference-material prompts | `setup-questionnaire.md` |
194
+ | `05_validation` | Dry-run the workflow and report gaps before use | `validation-report.md` |
195
+
196
+ ## Common Mistakes
197
+
198
+ | Mistake | Better Move |
199
+ | --- | --- |
200
+ | Asking the agent to "do the whole project" | Ask it to run one numbered stage and stop at the review gate |
201
+ | Treating `output/` files as disposable | Review and edit them; they are the audit trail |
202
+ | Putting project rules in a chat message | Put stable rules in `_config/`, `shared/`, or `references/` |
203
+ | Adding a stage for every tiny task | Add a stage only when there is a real handoff, context boundary, or review point |
204
+ | Fixing the same output issue repeatedly | Update the stage `CONTEXT.md` or reference file so future runs improve |
205
+ | Loading the whole repo for every step | Load only the files listed in the current stage's Inputs table |
206
+
207
+ ## When To Use ICM
208
+
209
+ Use ICM when a workflow is sequential, reviewable, and repeatable: one stage produces a plain-text artifact, a human can inspect or edit it, and the next stage reads that artifact as input.
210
+
211
+ Use a conventional framework instead when you need real-time multi-agent collaboration, high-concurrency service infrastructure, automated branching based on model decisions, or tight message-passing loops.
212
+
213
+ ## Status
214
+
215
+ Experimental starter kit. The template is intended to make ICM easy to try, inspect, and adapt; it is not an official release of the original ICM protocol.
216
+
217
+ Current package version: `0.9.0`.
218
+
219
+ Release notes live in [CHANGELOG.md](CHANGELOG.md). Contribution and review practices live in [CONTRIBUTING.md](CONTRIBUTING.md) and [docs/release-process.md](docs/release-process.md).
220
+
221
+ Repository safety practices live in [SECURITY.md](SECURITY.md) and [.github/CODEOWNERS](.github/CODEOWNERS). Public users can open issues, forks, and pull requests, but they cannot directly change protected `main` without maintainer-controlled review and passing checks.
222
+
223
+ Maintained by Hobo.
224
+
225
+ ## Research Basis
226
+
227
+ The ICM paper was authored by Jake Van Clief and David McDermott. It argues for five design principles: one stage, one job; plain text as the interface; layered context loading; every output as an edit surface; and configuring the factory rather than each product. This template applies those principles with a model-neutral `AGENTS.md` Layer 0 file, explicit stage contracts, scoped Layer 3 references, Layer 4 output handoffs, and a validator script.
228
+
229
+ See [docs/research-summary.md](docs/research-summary.md) for the research notes and [docs/template-design.md](docs/template-design.md) for implementation choices.
230
+
231
+ ## Attribution
232
+
233
+ This project is an independent reusable template based on the paper:
234
+
235
+ > Jake Van Clief and David McDermott. "Interpretable Context Methodology: Folder Structure as Agent Architecture." arXiv:2603.16021v2, 18 Mar. 2026.
236
+
237
+ The ICM protocol referenced by the paper is described as open source under the MIT license. This repository is a derived starter template and should not be read as an official repository or endorsement by the paper authors.
238
+
239
+ ## License
240
+
241
+ MIT. See [LICENSE](LICENSE).
@@ -0,0 +1,3 @@
1
+ """Interpretable Context Methodology CLI package."""
2
+
3
+ __version__ = "0.9.0"
@@ -0,0 +1,7 @@
1
+ """Run the ICM CLI with `python -m icm`."""
2
+
3
+ from .cli import main
4
+
5
+
6
+ if __name__ == "__main__":
7
+ raise SystemExit(main())