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.
Files changed (39) hide show
  1. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/CHANGELOG.md +7 -0
  2. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/PKG-INFO +1 -1
  3. simplicio_mapper-0.7.3/README.md +584 -0
  4. simplicio_mapper-0.7.3/README.pt-BR.md +555 -0
  5. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.ar-SA.md +7 -1
  6. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.en.md +7 -1
  7. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.es-ES.md +7 -1
  8. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.fr-FR.md +7 -1
  9. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.he-IL.md +7 -1
  10. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.hi-IN.md +7 -1
  11. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.id-ID.md +7 -1
  12. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.it-IT.md +7 -1
  13. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.ja-JP.md +7 -1
  14. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.ko-KR.md +7 -1
  15. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.ms-MY.md +7 -1
  16. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.pl-PL.md +7 -1
  17. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.pt-BR.md +7 -1
  18. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.ru-RU.md +7 -1
  19. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/READMEs/README.zh-CN.md +7 -1
  20. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/pyproject.toml +1 -1
  21. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/simplicio_mapper/__init__.py +1 -1
  22. simplicio_mapper-0.7.2/README.md +0 -105
  23. simplicio_mapper-0.7.2/README.pt-BR.md +0 -105
  24. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/.catalog/README.md +0 -0
  25. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/.gitignore +0 -0
  26. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/LICENSE +0 -0
  27. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/PYPI.md +0 -0
  28. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/SIMPLICIO_INTEGRATION.md +0 -0
  29. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/docs-site/README.md +0 -0
  30. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/rust/README.md +0 -0
  31. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/rust/pyproject.toml +0 -0
  32. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/simplicio_mapper/_native.py +0 -0
  33. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/simplicio_mapper/cache.py +0 -0
  34. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/simplicio_mapper/cli.py +0 -0
  35. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/simplicio_mapper/mapper.py +0 -0
  36. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/simplicio_mapper/models.py +0 -0
  37. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/video/README.md +0 -0
  38. {simplicio_mapper-0.7.2 → simplicio_mapper-0.7.3}/vscode-extension/LICENSE +0 -0
  39. {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.2
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
+ ![LLM Project Mapper hero](assets/llm-project-mapper-hero.png)
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
+ [![Watch the video](video/assets/why-cover.png)](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
+ ![Project transformation](assets/llm-project-mapper-transformation.png)
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
+ ![Multi-agent collaboration](assets/llm-project-mapper-multi-agent.png)
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
+ ![Operational foundation](assets/llm-project-mapper-foundation.png)
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).