simplicio-mapper 0.7.2__tar.gz → 0.7.3__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.
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/CHANGELOG.md +7 -0
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/PKG-INFO +1 -1
- simplicio_mapper-0.7.3/README.md +584 -0
- simplicio_mapper-0.7.3/README.pt-BR.md +555 -0
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.ar-SA.md +7 -1
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.en.md +7 -1
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.es-ES.md +7 -1
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.fr-FR.md +7 -1
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.he-IL.md +7 -1
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.hi-IN.md +7 -1
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.id-ID.md +7 -1
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.it-IT.md +7 -1
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.ja-JP.md +7 -1
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.ko-KR.md +7 -1
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.ms-MY.md +7 -1
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.pl-PL.md +7 -1
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.pt-BR.md +7 -1
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.ru-RU.md +7 -1
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.zh-CN.md +7 -1
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/pyproject.toml +1 -1
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/simplicio_mapper/__init__.py +1 -1
- simplicio_mapper-0.7.2/README.md +0 -105
- simplicio_mapper-0.7.2/README.pt-BR.md +0 -105
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/.catalog/README.md +0 -0
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/.gitignore +0 -0
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/LICENSE +0 -0
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/PYPI.md +0 -0
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/SIMPLICIO_INTEGRATION.md +0 -0
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/docs-site/README.md +0 -0
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/rust/README.md +0 -0
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/rust/pyproject.toml +0 -0
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/simplicio_mapper/_native.py +0 -0
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/simplicio_mapper/cache.py +0 -0
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/simplicio_mapper/cli.py +0 -0
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/simplicio_mapper/mapper.py +0 -0
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/simplicio_mapper/models.py +0 -0
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/video/README.md +0 -0
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/vscode-extension/LICENSE +0 -0
- {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/vscode-extension/README.md +0 -0
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.7.3] - 2026-06-01
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
- Restored the original operational README guide under the new growth-oriented landing page, preserving setup, architecture, video, mapper flags, and endpoint inventory details.
|
|
7
|
+
- Added Project DNA notes across localized READMEs and updated the globalization standard to require additive README refreshes rather than replacing repo-specific substance.
|
|
8
|
+
- Included the richer README in the Python and npm package metadata for the refreshed documentation release.
|
|
9
|
+
|
|
3
10
|
## [0.7.2] - 2026-06-01
|
|
4
11
|
|
|
5
12
|
### Changed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: simplicio-mapper
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.3
|
|
4
4
|
Summary: Python-first project mapper that emits .simplicio/project-map.json and precedent-index.json for the Simplicio ecosystem.
|
|
5
5
|
Project-URL: Homepage, https://github.com/wesleysimplicio/simplicio-mapper
|
|
6
6
|
Project-URL: Repository, https://github.com/wesleysimplicio/simplicio-mapper
|
|
@@ -0,0 +1,584 @@
|
|
|
1
|
+
<h1 align="center">simplicio-mapper</h1>
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<strong>Map any repository into AI-readable context: project map, precedent index, architecture inventory, symbol index, call graph, and docs.</strong><br />
|
|
5
|
+
<em>Commands stay in English so they can be copied exactly.</em><br />
|
|
6
|
+
<a href="https://wesleysimplicio.github.io/llm-project-mapper/">Live docs: wesleysimplicio.github.io/llm-project-mapper</a>
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
<p align="center">
|
|
10
|
+
<a href="https://github.com/wesleysimplicio/simplicio-mapper/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/wesleysimplicio/simplicio-mapper?style=flat-square" /></a>
|
|
11
|
+
<a href="https://pypi.org/project/simplicio-mapper/"><img alt="PyPI" src="https://img.shields.io/pypi/v/simplicio-mapper.svg?style=flat-square" /></a>
|
|
12
|
+
<a href="https://www.npmjs.com/package/@wesleysimplicio/llm-project-mapper"><img alt="npm" src="https://img.shields.io/npm/v/%40wesleysimplicio%2Fllm-project-mapper.svg?style=flat-square" /></a>
|
|
13
|
+
<a href="LICENSE"><img alt="License" src="https://img.shields.io/badge/license-MIT-yellow?style=flat-square" /></a>
|
|
14
|
+
</p>
|
|
15
|
+
|
|
16
|
+
<p align="center">
|
|
17
|
+
<a href="README.md">English</a> | <a href="READMEs/README.pt-BR.md">Português</a> | <a href="READMEs/README.es-ES.md">Español</a> | <a href="READMEs/README.ja-JP.md">日本語</a> | <a href="READMEs/README.ko-KR.md">한국어</a> | <a href="READMEs/README.zh-CN.md">简体中文</a> | <a href="READMEs/README.it-IT.md">Italiano</a> | <a href="READMEs/README.fr-FR.md">Français</a> | <a href="READMEs/README.ru-RU.md">Русский</a> | <a href="READMEs/README.pl-PL.md">Polski</a> | <a href="READMEs/README.hi-IN.md">हिन्दी</a> | <a href="READMEs/README.ar-SA.md">العربية</a> | <a href="READMEs/README.he-IL.md">עברית</a> | <a href="READMEs/README.ms-MY.md">Bahasa Melayu</a> | <a href="READMEs/README.id-ID.md">Bahasa Indonesia</a>
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
<p align="center">
|
|
21
|
+
<img src="assets/llm-project-mapper-hero.png" alt="simplicio-mapper preview" width="860" />
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
<p align="center">
|
|
25
|
+
<img src="assets/overlay-install.svg" alt="Overlay install flow" width="860" />
|
|
26
|
+
</p>
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## The short version
|
|
31
|
+
|
|
32
|
+
Map any repository into AI-readable context: project map, precedent index, architecture inventory, symbol index, call graph, and docs.
|
|
33
|
+
|
|
34
|
+
## Project DNA
|
|
35
|
+
|
|
36
|
+
simplicio-mapper is the map before the plan. Its value is not only the artifact names; it is the habit it teaches agents: read the repository, preserve shared context, expose architecture, and make future work cheaper. The original guide explained that operational philosophy in detail, so this refresh restores it under the sharper global landing page.
|
|
37
|
+
|
|
38
|
+
The new first screen is the doorway; the restored guide below is the workshop. This README should help a stranger understand the promise quickly and still give an operator enough depth to run, validate, and extend the project.
|
|
39
|
+
|
|
40
|
+
## Quick Start
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
pip install -U simplicio-mapper
|
|
44
|
+
simplicio-mapper index . --json
|
|
45
|
+
simplicio-mapper docs . --json
|
|
46
|
+
simplicio-mapper endpoints ./web --against ./api --json
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## What it does
|
|
50
|
+
|
|
51
|
+
- Generates versioned .simplicio artifacts agents can read before planning.
|
|
52
|
+
- Works as both Python CLI and npm starter package.
|
|
53
|
+
- Builds architecture, symbol and call graph artifacts without forcing a framework.
|
|
54
|
+
- Exports markdown docs for wiki/review workflows while keeping remote publishing opt-in.
|
|
55
|
+
|
|
56
|
+
## Why this README is built to earn attention
|
|
57
|
+
|
|
58
|
+
- clear first-screen promise
|
|
59
|
+
- language links before installation
|
|
60
|
+
- badges and a visual hero for fast trust
|
|
61
|
+
- copy-ready quick start
|
|
62
|
+
- proof before long reference material
|
|
63
|
+
- star history for social proof
|
|
64
|
+
|
|
65
|
+
## How it works
|
|
66
|
+
|
|
67
|
+
```mermaid
|
|
68
|
+
flowchart LR
|
|
69
|
+
mapper["simplicio-mapper
|
|
70
|
+
repo context"] --> current["simplicio-mapper
|
|
71
|
+
this project"]
|
|
72
|
+
prompt["simplicio-prompt
|
|
73
|
+
reasoning runtime"] --> current
|
|
74
|
+
current --> evidence["validated evidence
|
|
75
|
+
tests, docs, screenshots"]
|
|
76
|
+
current --> sprint["simplicio-sprint
|
|
77
|
+
delivery loop"]
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Proof and validation
|
|
81
|
+
|
|
82
|
+
- Current local mapper version is 0.7.x with background indexing and docs-only modes.
|
|
83
|
+
- This repo is the canonical standard for visible, versioned .simplicio artifacts.
|
|
84
|
+
- It now carries the README globalization standard used across this workspace.
|
|
85
|
+
|
|
86
|
+
## Simplicio ecosystem
|
|
87
|
+
|
|
88
|
+
- [simplicio-mapper](https://github.com/wesleysimplicio/simplicio-mapper) supplies repo context before interpretation.
|
|
89
|
+
- [simplicio-cli](https://github.com/wesleysimplicio/simplicio-dev-cli) executes focused code tasks with verification.
|
|
90
|
+
- [simplicio-prompt](https://github.com/wesleysimplicio/simplicio-prompt) provides fan-out and consensus runtime patterns.
|
|
91
|
+
- [simplicio-sprint](https://github.com/wesleysimplicio/simplicio-sprint) turns cards into draft PR delivery loops.
|
|
92
|
+
|
|
93
|
+
## Documentation standard
|
|
94
|
+
|
|
95
|
+
- [SIMPLICIO_INTEGRATION.md](SIMPLICIO_INTEGRATION.md)
|
|
96
|
+
- [docs/readme-globalization-standard.md](docs/readme-globalization-standard.md)
|
|
97
|
+
|
|
98
|
+
## Original Field Guide
|
|
99
|
+
|
|
100
|
+
The section below restores the project-specific README material that existed before the globalization pass. Keep this substance when refreshing the top-level narrative: add polish, do not erase operational memory.
|
|
101
|
+
|
|
102
|
+
> 🇺🇸 English. Leia em português: [README.pt-BR.md](README.pt-BR.md).
|
|
103
|
+
> Live docs site: [wesleysimplicio.github.io/llm-project-mapper](https://wesleysimplicio.github.io/llm-project-mapper/)
|
|
104
|
+
|
|
105
|
+
AI-friendly, stack-neutral repository scaffold. Drop it into **any** project — new or existing — and any agent CLI (Claude Code, Codex, Cursor, GitHub Copilot, Aider with Deepseek/Kimi/MiniMax/GLM, Hermes, OpenClaw) gets the context it needs to ship work the same day.
|
|
106
|
+
|
|
107
|
+
> Starter pack, not a framework. Ships structure, instructions, process. Stack is yours.
|
|
108
|
+
|
|
109
|
+

|
|
110
|
+
|
|
111
|
+
> Visual summary: drop the starter into a messy software project and it turns scattered context into structure, reusable skills, tests, docs, and guardrails for AI coding agents.
|
|
112
|
+
|
|
113
|
+
#### Watch: why llm-project-mapper? (53s)
|
|
114
|
+
|
|
115
|
+
[](https://github.com/wesleysimplicio/llm-project-mapper/raw/main/video/assets/why-llm-project-mapper.mp4)
|
|
116
|
+
|
|
117
|
+
> Click the cover to play. Direct link: [`video/assets/why-llm-project-mapper.mp4`](video/assets/why-llm-project-mapper.mp4) · English version: [`video/assets/why-llm-project-mapper-en.mp4`](video/assets/why-llm-project-mapper-en.mp4) · both renders now ship with narration plus burned-in captions.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
### Operational Docs For Agents
|
|
122
|
+
|
|
123
|
+
This starter now includes generic, fill-in templates that make any project easier for agents to operate:
|
|
124
|
+
|
|
125
|
+
- `docs/local-setup.md`: how to install, start, validate and access the project.
|
|
126
|
+
- `docs/domain-map.md`: business concepts, critical rules and edge cases.
|
|
127
|
+
- `docs/architecture-map.md`: system shape, request path and integrations.
|
|
128
|
+
- `docs/features/README.md`: feature documentation template with files, endpoints, rules and evidence.
|
|
129
|
+
- `docs/evidence/README.md`: screenshot/video/trace policy and artifact naming.
|
|
130
|
+
- `docs/troubleshooting.md`: repeatable diagnosis and fixes.
|
|
131
|
+
- `scripts/`: stack-neutral placeholders for start, test and evidence commands.
|
|
132
|
+
- `tests/e2e/smoke.spec.ts`: generic Playwright smoke test driven by `BASE_URL`.
|
|
133
|
+
|
|
134
|
+
Fill these files after installing the starter in a real project. The goal is to reduce discovery time for humans and agents without forcing a framework.
|
|
135
|
+
|
|
136
|
+
### Machine-Readable Mapper Outputs
|
|
137
|
+
|
|
138
|
+
The bootstrap also writes `.simplicio/project-map.json` and
|
|
139
|
+
`.simplicio/precedent-index.json` for tools such as `simplicio-dev-cli` and
|
|
140
|
+
`simplicio-sprint`.
|
|
141
|
+
|
|
142
|
+
Refresh them without re-running the full starter:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
npx @wesleysimplicio/llm-project-mapper map
|
|
146
|
+
npx @wesleysimplicio/llm-project-mapper map --incremental
|
|
147
|
+
npx @wesleysimplicio/llm-project-mapper update
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
#### New: standalone Python CLI
|
|
151
|
+
|
|
152
|
+
The mapper now ships as a Python package with lightweight performance
|
|
153
|
+
dependencies (`orjson` for JSON serialization and `diskcache` for a persistent
|
|
154
|
+
file-processing cache), so Python-first teams can generate the same artifacts
|
|
155
|
+
without a Node toolchain:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
pip install simplicio-mapper
|
|
159
|
+
|
|
160
|
+
simplicio-mapper map # write .simplicio/ artifacts
|
|
161
|
+
simplicio-mapper update # refresh and record changed files
|
|
162
|
+
simplicio-mapper index . --json # idempotent, scriptable SendSprint bootstrap
|
|
163
|
+
simplicio-mapper index --update . --json
|
|
164
|
+
simplicio-mapper endpoints . --against ../api --json
|
|
165
|
+
simplicio-mapper docs . --json # render .simplicio/docs markdown
|
|
166
|
+
simplicio-mapper export-docs . --target ./wiki-export --json
|
|
167
|
+
simplicio-mapper index . --docs --background
|
|
168
|
+
simplicio-mapper map --watch # re-map as files change locally
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Both `simplicio-mapper` and `llm-project-mapper` console scripts are installed,
|
|
172
|
+
and the Python output is byte-for-byte compatible with the Node mapper's schema.
|
|
173
|
+
|
|
174
|
+
For orchestrators, `simplicio-mapper index <path>` is quiet by default. It
|
|
175
|
+
returns `0` when artifacts are written/refreshed or already fresh, and `1` on
|
|
176
|
+
failure. `--update` is accepted as a compatibility alias for refresh workflows.
|
|
177
|
+
Add `--json` for a stable
|
|
178
|
+
`simplicio.mapper-index/v1` payload containing artifact paths, item counts,
|
|
179
|
+
changed files and the skipped reason. Add `--verbose` only when progress logs
|
|
180
|
+
are useful.
|
|
181
|
+
|
|
182
|
+
For architecture/wiki work, `simplicio-mapper map` now also writes
|
|
183
|
+
`architecture-inventory.json`, `symbol-index.json`, and `call-graph.json`.
|
|
184
|
+
Run `simplicio-mapper docs <path>` to render `.simplicio/docs/*.md`, or
|
|
185
|
+
`simplicio-mapper index <path> --docs --json` to refresh JSON and Markdown in
|
|
186
|
+
one deterministic pass. Use `--background` when the refresh should continue in
|
|
187
|
+
a detached process, and `--docs-only` when only the Markdown view needs to be
|
|
188
|
+
regenerated. `export-docs` copies those Markdown files to a local target; remote
|
|
189
|
+
wiki publication remains opt-in.
|
|
190
|
+
|
|
191
|
+
Use `--watch` during long agent sessions to keep the map fresh. The schema and
|
|
192
|
+
Python consumption example live in [SIMPLICIO_INTEGRATION.md](SIMPLICIO_INTEGRATION.md).
|
|
193
|
+
|
|
194
|
+
For cross-repo delivery, `simplicio-mapper endpoints <client-root> --against
|
|
195
|
+
<server-root> --json` emits `simplicio.endpoint-inventory/v1`: normalized
|
|
196
|
+
client HTTP calls, runtime server routes, contract-only route counts and
|
|
197
|
+
`missing_from_server` entries with their demanding source files. This is the
|
|
198
|
+
fast path for web/API and AI-agents/API alignment work. The extractor
|
|
199
|
+
understands Python API clients and Angular
|
|
200
|
+
HttpClient services that compose URLs from `baseUrl`, `environment.apiUrl`, and
|
|
201
|
+
template-string path parameters. It also captures direct page-level Python
|
|
202
|
+
calls such as `api.patch(...)` and ignores test files/route decorators when
|
|
203
|
+
building client demand.
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
### Patterns
|
|
208
|
+
|
|
209
|
+
- Canonical spec: [YOOL_TUPLE_HAMT.md](YOOL_TUPLE_HAMT.md)
|
|
210
|
+
- Receipts schema and storage conventions: [Receipt schema](YOOL_TUPLE_HAMT.md#184-receipt-schema-reference)
|
|
211
|
+
|
|
212
|
+
The yool / tuple / HAMT pattern is the capability-addressing model this scaffold is standardizing for multi-agent repos. Keep the root spec vendored so agents can reach it from the repository root in one click.
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
### TL;DR — get going in 60 seconds
|
|
217
|
+
|
|
218
|
+
Pick **one** of the install paths below and run it inside your project folder. The bootstrap now starts an automatic local mapping pass immediately; `INIT.md` becomes an optional refinement step for a stronger agent.
|
|
219
|
+
|
|
220
|
+
| OS | Recommended one-liner |
|
|
221
|
+
|---|---|
|
|
222
|
+
| **macOS** | `npx @wesleysimplicio/llm-project-mapper` |
|
|
223
|
+
| **Linux** | `npx @wesleysimplicio/llm-project-mapper` |
|
|
224
|
+
| **Windows (PowerShell)** | `npx @wesleysimplicio/llm-project-mapper` |
|
|
225
|
+
| **Windows (cmd.exe)** | `npx @wesleysimplicio/llm-project-mapper` |
|
|
226
|
+
|
|
227
|
+
Same command everywhere. No bash dependency, no clone, no global install.
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
### What LLM Project Mapper Changes
|
|
232
|
+
|
|
233
|
+
The point of the starter is not “more files”. It is faster agent execution with less ambiguity, less tribal knowledge, and safer delivery loops.
|
|
234
|
+
|
|
235
|
+
##### 01 · From project chaos to operational structure
|
|
236
|
+
|
|
237
|
+

|
|
238
|
+
|
|
239
|
+
> Drop the starter into an existing codebase and it converts scattered context into repeatable docs, validation, agent instructions, and delivery guardrails.
|
|
240
|
+
|
|
241
|
+
##### 02 · Shared context for parallel agents
|
|
242
|
+
|
|
243
|
+

|
|
244
|
+
|
|
245
|
+
> Agents stop working as isolated chat sessions and start collaborating around the same project map: architecture, tasks, checks, and output expectations.
|
|
246
|
+
|
|
247
|
+
##### 03 · A stable foundation for safe speed
|
|
248
|
+
|
|
249
|
+

|
|
250
|
+
|
|
251
|
+
> The end state is an agent-ready project foundation: domain context, architecture, workflow, quality gates, and evidence paths that make automation reliable instead of risky.
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
### Prerequisites
|
|
256
|
+
|
|
257
|
+
| Requirement | macOS | Linux | Windows |
|
|
258
|
+
|---|---|---|---|
|
|
259
|
+
| **Node.js >= 16.7** (for `npx`) | `brew install node` | `sudo apt install nodejs npm` (Debian/Ubuntu) · `sudo dnf install nodejs npm` (Fedora) · or [nvm](https://github.com/nvm-sh/nvm) | [nodejs.org installer](https://nodejs.org) or `winget install OpenJS.NodeJS.LTS` |
|
|
260
|
+
| **Git** | preinstalled / `brew install git` | `sudo apt install git` / `sudo dnf install git` | [git-scm.com](https://git-scm.com) or `winget install Git.Git` |
|
|
261
|
+
| **Bash 4+** (only if you use `bootstrap.sh`) | preinstalled (Bash 3.2 works too) | preinstalled | Git Bash (ships with Git for Windows) or WSL |
|
|
262
|
+
| **PowerShell 5.1+ / pwsh 7+** (only for `bootstrap.ps1`) | `brew install --cask powershell` | `sudo snap install powershell --classic` | preinstalled |
|
|
263
|
+
|
|
264
|
+
Pick **one** runtime: `npx` works everywhere; `bootstrap.sh` for Unix shells; `bootstrap.ps1` for native Windows.
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
### What it ships
|
|
269
|
+
|
|
270
|
+
```
|
|
271
|
+
your-project/
|
|
272
|
+
├── AGENTS.md # master agent instructions (read by every CLI)
|
|
273
|
+
├── CLAUDE.md # mirror of AGENTS.md (Claude Code)
|
|
274
|
+
├── INIT.md # one-shot prompt the agent runs after bootstrap
|
|
275
|
+
├── .github/
|
|
276
|
+
│ ├── copilot-instructions.md # mirror of AGENTS.md (Copilot)
|
|
277
|
+
│ ├── workflows/ # CI + Definition-of-Done gate
|
|
278
|
+
│ ├── PULL_REQUEST_TEMPLATE.md
|
|
279
|
+
│ └── ISSUE_TEMPLATE/
|
|
280
|
+
├── .specs/ # canonical docs (specs as code)
|
|
281
|
+
│ ├── product/ # VISION, DOMAIN, PERSONAS
|
|
282
|
+
│ ├── architecture/ # DESIGN, PATTERNS, ADRs
|
|
283
|
+
│ ├── workflow/ # WORKFLOW, CONTRIBUTING, RELEASE
|
|
284
|
+
│ └── sprints/ # BACKLOG + sprint folders
|
|
285
|
+
├── .skills/ # reusable agent skills
|
|
286
|
+
├── .agents/ # custom sub-agents
|
|
287
|
+
├── .claude/ # Claude Code config + hooks
|
|
288
|
+
├── .codex/ # Codex CLI config
|
|
289
|
+
├── playwright.config.ts # default E2E
|
|
290
|
+
└── presentation/ # method slides (Marp)
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
Stack-neutral: the bootstrap now fills the first pass automatically from the real project, and `INIT.md` remains available for deeper agent-driven refinement.
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
### Install paths
|
|
298
|
+
|
|
299
|
+
#### A. `npx` — recommended, cross-platform, zero clone
|
|
300
|
+
|
|
301
|
+
```bash
|
|
302
|
+
# inside your project folder (works on macOS, Linux, Windows)
|
|
303
|
+
npx @wesleysimplicio/llm-project-mapper
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
Runs interactively. Asks **only**:
|
|
307
|
+
|
|
308
|
+
1. **Which CLI/LLM to hand off to after the automatic mapping pass** (auto-detects which ones are installed and marks them `[installed]`).
|
|
309
|
+
2. **Append recommended ignores to `.gitignore`?** (yes/no — never overwrites your existing `.gitignore`).
|
|
310
|
+
|
|
311
|
+
Everything else — `PRODUCT_NAME`, stack, dependencies — auto-detected from `package.json` / `pyproject.toml` / `go.mod` / `*.csproj` / `Cargo.toml` / `pubspec.yaml` / `composer.json` / `Gemfile` / `mix.exs` / `pom.xml` / `build.gradle*`.
|
|
312
|
+
|
|
313
|
+
##### Non-interactive (CI / scripts)
|
|
314
|
+
|
|
315
|
+
```bash
|
|
316
|
+
npx @wesleysimplicio/llm-project-mapper --yes --cli skip --append-gitignore no
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
##### Update an existing starter overlay
|
|
320
|
+
|
|
321
|
+
```bash
|
|
322
|
+
npx @wesleysimplicio/llm-project-mapper@latest --update
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
This is equivalent to `--yes --force --append-gitignore no --cli skip`: it refreshes starter-managed files, leaves `.gitignore` untouched unless explicitly requested, preserves existing instruction files, and does not launch an agent.
|
|
326
|
+
|
|
327
|
+
##### Preview without writing
|
|
328
|
+
|
|
329
|
+
```bash
|
|
330
|
+
npx @wesleysimplicio/llm-project-mapper --dry-run --yes
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
##### Full flag list
|
|
334
|
+
|
|
335
|
+
| Flag | Purpose |
|
|
336
|
+
|---|---|
|
|
337
|
+
| `-y, --yes` | Non-interactive (defaults: no `.gitignore` append, skip CLI handoff) |
|
|
338
|
+
| `-f, --force` | Overwrite starter template files. **Never** touches user instruction files (`AGENTS.md`, `CLAUDE.md`, `INIT.md`, `.github/copilot-instructions.md`, `.gitignore`) |
|
|
339
|
+
| `--update` | Safe update mode for an existing overlay: force starter files, leave `.gitignore` untouched, skip handoff |
|
|
340
|
+
| `--dry-run` | Print actions without writing |
|
|
341
|
+
| `--cli <key>` | Pick CLI for `INIT.md` handoff: `claude`, `codex`, `copilot`, `cursor`, `deepseek`, `kimi`, `minimax`, `glm`, `hermes`, `openclaw`, `aider`, `other`, `skip` |
|
|
342
|
+
| `--append-gitignore <yes\|no>` | Append recommended ignores to `.gitignore` |
|
|
343
|
+
| `--skip-meta` | Do not write `.starter-meta.json` |
|
|
344
|
+
| `--silent` | Minimal output |
|
|
345
|
+
| `-v, --version` | Print version |
|
|
346
|
+
| `-h, --help` | Show help |
|
|
347
|
+
|
|
348
|
+
##### Python mapper flags
|
|
349
|
+
|
|
350
|
+
| Flag | Purpose |
|
|
351
|
+
|---|---|
|
|
352
|
+
| `index <path>` | Scriptable mapper refresh. Returns `0` when updated, already fresh, or locked/skipped; returns `1` on failure |
|
|
353
|
+
| `docs <path>` | Render `.simplicio/docs/*.md` from the architecture inventory |
|
|
354
|
+
| `export-docs <path> --target <dir>` | Copy rendered Markdown docs to a local docs/wiki target |
|
|
355
|
+
| `--docs` | Render Markdown docs after `map` or `index` |
|
|
356
|
+
| `--no-docs` | Keep `map` / `index` JSON-only |
|
|
357
|
+
| `--docs-only` | Render Markdown docs without emitting the index JSON payload |
|
|
358
|
+
| `--json-only` | Compatibility alias for JSON-only refresh workflows |
|
|
359
|
+
| `--changed-only` | Compatibility alias for incremental refresh workflows |
|
|
360
|
+
| `--background` | Start a detached index refresh and log to `.simplicio/background-index.log` |
|
|
361
|
+
| `--json` | Emit stable JSON contracts such as `simplicio.mapper-index/v1` |
|
|
362
|
+
| `--update` | Compatibility alias for index refresh workflows |
|
|
363
|
+
| `--verbose` | Show index refresh progress |
|
|
364
|
+
| `--out <dir>` | Artifact directory, defaulting to `.simplicio` |
|
|
365
|
+
|
|
366
|
+
#### B. `bootstrap.sh` — Unix shells (macOS / Linux / Git Bash / WSL)
|
|
367
|
+
|
|
368
|
+
Clone the starter and run the script:
|
|
369
|
+
|
|
370
|
+
```bash
|
|
371
|
+
git clone --depth=1 https://github.com/wesleysimplicio/llm-project-mapper.git tmp-starter
|
|
372
|
+
cp -R tmp-starter/. ./ && rm -rf tmp-starter
|
|
373
|
+
chmod +x ./bootstrap.sh # only the first time
|
|
374
|
+
./bootstrap.sh
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
#### C. `bootstrap.ps1` — native Windows (PowerShell)
|
|
378
|
+
|
|
379
|
+
```powershell
|
|
380
|
+
git clone --depth=1 https://github.com/wesleysimplicio/llm-project-mapper.git tmp-starter
|
|
381
|
+
Copy-Item -Recurse -Force tmp-starter\* .\
|
|
382
|
+
Remove-Item -Recurse -Force tmp-starter
|
|
383
|
+
|
|
384
|
+
# PowerShell 7+ (pwsh)
|
|
385
|
+
pwsh -File .\bootstrap.ps1
|
|
386
|
+
|
|
387
|
+
# PowerShell 5.1 (built-in on Windows 10/11)
|
|
388
|
+
powershell -ExecutionPolicy Bypass -File .\bootstrap.ps1
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
All three paths produce the same result and ask the same two questions.
|
|
392
|
+
|
|
393
|
+
#### D. Overlay onto an existing project (private, gitignored)
|
|
394
|
+
|
|
395
|
+
Want to drop the starter into a project that already has its own git, **without polluting the host repo**? Each dev installs locally, files stay gitignored. Full step-by-step in [INSTALL.md](INSTALL.md). Short version:
|
|
396
|
+
|
|
397
|
+
<img src="assets/overlay-install.svg" alt="Animated terminal screencast showing the overlay install flow in a host project" width="100%">
|
|
398
|
+
|
|
399
|
+
```bash
|
|
400
|
+
# from inside the host project root
|
|
401
|
+
git clone --depth=1 https://github.com/wesleysimplicio/llm-project-mapper.git /tmp/llm-project-mapper-src
|
|
402
|
+
# --ignore-existing protects your host's package.json/README.md/etc from being overwritten
|
|
403
|
+
rsync -av --ignore-existing --exclude='.git' /tmp/llm-project-mapper-src/ ./
|
|
404
|
+
rm -rf /tmp/llm-project-mapper-src
|
|
405
|
+
# append the "LLM Project Mapper (overlay privado)" block from INSTALL.md to your .gitignore FIRST
|
|
406
|
+
# then run bootstrap
|
|
407
|
+
./bootstrap.sh
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
---
|
|
411
|
+
|
|
412
|
+
### CLI handoff — supported agents
|
|
413
|
+
|
|
414
|
+
After scaffolding and auto-mapping, the bootstrap can optionally launch a CLI/LLM with `INIT.md` for a second-pass refinement. Detected installs get a `[installed]` mark in the menu.
|
|
415
|
+
|
|
416
|
+
| # | CLI / LLM | Native agent loop? | Install docs |
|
|
417
|
+
|---|---|---|---|
|
|
418
|
+
| 1 | **Claude Code** | yes | <https://docs.claude.com/claude-code> |
|
|
419
|
+
| 2 | **Codex CLI** | yes | <https://github.com/openai/codex> |
|
|
420
|
+
| 3 | **GitHub Copilot CLI** | no — paste prompt manually | `gh extension install github/gh-copilot` |
|
|
421
|
+
| 4 | **Cursor Agent** | yes | `npm i -g cursor-agent` (or Cursor IDE) |
|
|
422
|
+
| 5 | **Deepseek** (via Aider) | yes | `pip install aider-chat` |
|
|
423
|
+
| 6 | **Kimi K2.6** (via Aider, OpenRouter) | yes | `pip install aider-chat` |
|
|
424
|
+
| 7 | **MiniMax M2.7** (via Aider, OpenRouter) | yes | `pip install aider-chat` |
|
|
425
|
+
| 8 | **GLM 5.1** (via Aider, OpenRouter) | yes | `pip install aider-chat` |
|
|
426
|
+
| 9 | **Hermes Agent** (Nous Research) | yes | <https://github.com/NousResearch> |
|
|
427
|
+
| 10 | **OpenClaw** | yes | <https://github.com/openclaw> |
|
|
428
|
+
| 11 | **Aider** (pick model interactively) | yes | `pip install aider-chat` |
|
|
429
|
+
| 12 | Other / manual (clipboard) | — | — |
|
|
430
|
+
| 13 | Skip — run `INIT.md` later | — | — |
|
|
431
|
+
|
|
432
|
+
For Copilot CLI (no native agent loop), the bootstrap copies the prompt to your clipboard (`pbcopy` on macOS, `xclip`/`wl-copy` on Linux, `clip.exe` on Windows/WSL) and you paste it into Copilot Chat.
|
|
433
|
+
|
|
434
|
+
---
|
|
435
|
+
|
|
436
|
+
### What `INIT.md` does — the safety contract
|
|
437
|
+
|
|
438
|
+
When the chosen CLI runs `INIT.md`, it reads `.starter-meta.json` and follows three hard rules:
|
|
439
|
+
|
|
440
|
+
1. **`read_only_globs` are intouchable.** Any file matching these globs (`**/*.razor`, `**/*.cs`, `**/*.csproj`, `**/*.sln`, `package.json`, `pnpm-lock.yaml`, `yarn.lock`, `package-lock.json`, `**/*.py`, `**/*.go`, `**/*.rs`, `**/*.java`, `**/*.kt`, `**/*.dart`, `**/*.php`, `**/*.rb`) is read-only. The agent reads it for context but never writes. If `git status` shows any after init — that is a bug.
|
|
441
|
+
2. **`init_must_merge` preserves your essence.** If `AGENTS.md` / `CLAUDE.md` / `.github/copilot-instructions.md` already existed before bootstrap, the agent **reads them**, **preserves the content**, and **merges** the starter structure on top. Never a clean rewrite.
|
|
442
|
+
3. **`init_must_ask` only asks 4 things.** `team`, `domain`, `vision_oneliner`, `primary_personas` — once, in a single message. Everything else (`product_name`, `stack`) is auto-detected.
|
|
443
|
+
|
|
444
|
+
The agent then writes — and only writes — inside the whitelist:
|
|
445
|
+
|
|
446
|
+
```
|
|
447
|
+
.specs/** .agents/** .skills/**
|
|
448
|
+
.claude/** .codex/**
|
|
449
|
+
.github/copilot-instructions.md
|
|
450
|
+
.github/copilot/**
|
|
451
|
+
.github/PULL_REQUEST_TEMPLATE.md
|
|
452
|
+
.github/ISSUE_TEMPLATE/**
|
|
453
|
+
.github/workflows/ci.yml
|
|
454
|
+
.github/workflows/dod.yml
|
|
455
|
+
AGENTS.md CLAUDE.md README.md README.pt-BR.md
|
|
456
|
+
playwright.config.ts (only if missing or our template)
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
Anything outside this whitelist **and** not from the starter template = untouched.
|
|
460
|
+
|
|
461
|
+
---
|
|
462
|
+
|
|
463
|
+
### Troubleshooting
|
|
464
|
+
|
|
465
|
+
#### macOS / Linux
|
|
466
|
+
|
|
467
|
+
| Symptom | Fix |
|
|
468
|
+
|---|---|
|
|
469
|
+
| `./bootstrap.sh: Permission denied` | `chmod +x ./bootstrap.sh` |
|
|
470
|
+
| `command not found: npx` | Install Node.js (see Prerequisites) |
|
|
471
|
+
| `Claude Code not installed` after pick | Install Claude Code or pick `[12] Other` to copy the prompt to clipboard |
|
|
472
|
+
| Old Bash on macOS (`bash --version` shows 3.2) | Works — script is Bash 3.2-compatible. If problems, `brew install bash` for Bash 5+ |
|
|
473
|
+
|
|
474
|
+
#### Windows
|
|
475
|
+
|
|
476
|
+
| Symptom | Fix |
|
|
477
|
+
|---|---|
|
|
478
|
+
| `bootstrap.ps1 cannot be loaded ... execution policy` | Run with `powershell -ExecutionPolicy Bypass -File .\bootstrap.ps1` (per-session bypass, no permanent change) |
|
|
479
|
+
| Line endings broken when running `.sh` from Git Bash | `git config --global core.autocrlf input` then re-clone |
|
|
480
|
+
| `npx` not found in cmd.exe | Open new terminal after Node install (refreshes PATH), or use full path `C:\Program Files\nodejs\npx.cmd` |
|
|
481
|
+
| `pwsh` not found | You have PowerShell 5.1 (built-in) — use the `powershell -ExecutionPolicy Bypass ...` form. To install pwsh 7: `winget install Microsoft.PowerShell` |
|
|
482
|
+
|
|
483
|
+
#### Cross-platform
|
|
484
|
+
|
|
485
|
+
| Symptom | Fix |
|
|
486
|
+
|---|---|
|
|
487
|
+
| Bootstrap exits with `aborting: existing files would be overwritten` | Re-run with `--force` (only overwrites starter template files, never your instruction files) |
|
|
488
|
+
| `git status` shows `package.json` / source files modified after init | Stop. That is a `read_only_globs` violation. Open an issue with the file path |
|
|
489
|
+
| `.gitignore` got rewritten | The starter never overwrites it — only appends if you said `yes`. If yours was replaced, you ran `--force`; restore from git |
|
|
490
|
+
| Want to re-run `INIT.md` later | `claude "$(cat INIT.md)"` (or equivalent for your CLI). The handoff is just a launcher |
|
|
491
|
+
|
|
492
|
+
---
|
|
493
|
+
|
|
494
|
+
### Suggested reading order (human)
|
|
495
|
+
|
|
496
|
+
1. `README.md` (this file) — overview.
|
|
497
|
+
2. `AGENTS.md` — agent master instruction.
|
|
498
|
+
3. `.specs/README.md` — specs navigation map.
|
|
499
|
+
4. `.specs/product/VISION.md` — product context.
|
|
500
|
+
5. `.specs/architecture/DESIGN.md` — architecture.
|
|
501
|
+
6. `.specs/workflow/WORKFLOW.md` — process.
|
|
502
|
+
7. `.skills/README.md` — agent capabilities.
|
|
503
|
+
|
|
504
|
+
---
|
|
505
|
+
|
|
506
|
+
### Quickstart for the agent (after `INIT.md`)
|
|
507
|
+
|
|
508
|
+
1. Read `AGENTS.md` (root). That is the contract.
|
|
509
|
+
2. Read `.specs/product/VISION.md` for the why.
|
|
510
|
+
3. Read `.specs/architecture/DESIGN.md` and `PATTERNS.md` for the how.
|
|
511
|
+
4. Pull the next task from `.specs/sprints/sprint-XX/`.
|
|
512
|
+
5. Run the mandatory loop: read task → plan → edit → lint → unit → e2e → fix → commit.
|
|
513
|
+
6. Validate Definition of Done before opening a PR.
|
|
514
|
+
|
|
515
|
+
---
|
|
516
|
+
|
|
517
|
+
### Optional: clean up starter files
|
|
518
|
+
|
|
519
|
+
After the agent finishes `INIT.md`, the bootstrap files are no longer needed.
|
|
520
|
+
|
|
521
|
+
**macOS / Linux / Git Bash / WSL:**
|
|
522
|
+
|
|
523
|
+
```bash
|
|
524
|
+
rm _BOOTSTRAP.md INIT.md bootstrap.sh bootstrap.ps1
|
|
525
|
+
git add -A && git commit -m "chore: remove starter bootstrap files"
|
|
526
|
+
```
|
|
527
|
+
|
|
528
|
+
**Windows PowerShell:**
|
|
529
|
+
|
|
530
|
+
```powershell
|
|
531
|
+
Remove-Item _BOOTSTRAP.md, INIT.md, bootstrap.sh, bootstrap.ps1
|
|
532
|
+
git add -A; git commit -m "chore: remove starter bootstrap files"
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
`.starter-meta.json` stays as a reference for future re-runs.
|
|
536
|
+
|
|
537
|
+
---
|
|
538
|
+
|
|
539
|
+
### Companion tooling
|
|
540
|
+
|
|
541
|
+
- **SkillOpt optimizer** — `npx @wesleysimplicio/llm-project-mapper skillopt --suite <suite.json>` (or `node bin/skillopt.js`) optimizes a `SKILL.md`/prompt with the [SkillOpt](https://microsoft.github.io/SkillOpt/) loop (Rollout → Reflect → Edit → Gate). The skill document is the only trainable artifact; edits are accepted only when they improve a held-out task split. Outputs `best_skill.md` plus an optional report and receipt. See [.skills/skillopt/SKILL.md](.skills/skillopt/SKILL.md).
|
|
542
|
+
- **VS Code extension** — `vscode-extension/` ships a sidebar TreeView for `.specs/sprints/`, plus commands to open the current task, create ADRs, and run the `INIT.md` handoff. See [vscode-extension/README.md](vscode-extension/README.md). Will be published to the Marketplace as `wesleysimplicio.llm-project-mapper-vscode`.
|
|
543
|
+
- **Telemetry (opt-in)** — `bin/cli.js` accepts `--telemetry on|off`. Default is off. See [PRIVACY.md](PRIVACY.md) for the exact payload and how to deploy your own [`telemetry-worker.js`](.github/workflows-templates/telemetry-worker.js).
|
|
544
|
+
|
|
545
|
+
---
|
|
546
|
+
|
|
547
|
+
### Philosophy
|
|
548
|
+
|
|
549
|
+
- **Specs as code.** What is not in `.specs/`, the agent does not see.
|
|
550
|
+
- **Atomic tasks.** One task = one small reviewable PR.
|
|
551
|
+
- **Automated DoD.** What does not pass the gate, does not merge.
|
|
552
|
+
- **Reusable skills.** A capability that becomes a pattern becomes a `SKILL.md`.
|
|
553
|
+
- **Tight loop.** Edit, test, fix, repeat. Never accumulate invisible debt.
|
|
554
|
+
- **Never destroy.** User files are read-only; starter files merge instead of overwrite.
|
|
555
|
+
|
|
556
|
+
---
|
|
557
|
+
|
|
558
|
+
### License
|
|
559
|
+
|
|
560
|
+
[MIT](LICENSE) © 2026 Wesley Simplicio.
|
|
561
|
+
|
|
562
|
+
---
|
|
563
|
+
|
|
564
|
+
### Next steps
|
|
565
|
+
|
|
566
|
+
- Run the bootstrap.
|
|
567
|
+
- Let the agent execute `INIT.md`.
|
|
568
|
+
- Fill specs with real product context (the agent does most of this from the code).
|
|
569
|
+
- Run the first sprint using `.specs/sprints/sprint-01/`.
|
|
570
|
+
- Watch `presentation/ai-agent-specialist.pdf` for the full method.
|
|
571
|
+
|
|
572
|
+
## Star History
|
|
573
|
+
|
|
574
|
+
<a href="https://www.star-history.com/#wesleysimplicio/simplicio-mapper&Date">
|
|
575
|
+
<picture>
|
|
576
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=wesleysimplicio/simplicio-mapper&type=Date&theme=dark" />
|
|
577
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=wesleysimplicio/simplicio-mapper&type=Date" />
|
|
578
|
+
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=wesleysimplicio/simplicio-mapper&type=Date" />
|
|
579
|
+
</picture>
|
|
580
|
+
</a>
|
|
581
|
+
|
|
582
|
+
## License
|
|
583
|
+
|
|
584
|
+
MIT. See [LICENSE](LICENSE).
|