lliki 0.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. lliki-0.2.1/CHANGELOG.md +19 -0
  2. lliki-0.2.1/LICENSE +21 -0
  3. lliki-0.2.1/MANIFEST.in +4 -0
  4. lliki-0.2.1/PKG-INFO +333 -0
  5. lliki-0.2.1/README.md +311 -0
  6. lliki-0.2.1/docs/AGENT_INTEGRATIONS.md +25 -0
  7. lliki-0.2.1/docs/DESIGN.md +58 -0
  8. lliki-0.2.1/docs/IMPLEMENTATION_CHECKPOINTS.md +38 -0
  9. lliki-0.2.1/docs/assets/lliki-ascii.png +0 -0
  10. lliki-0.2.1/pyproject.toml +40 -0
  11. lliki-0.2.1/setup.cfg +4 -0
  12. lliki-0.2.1/src/lliki/__init__.py +3 -0
  13. lliki-0.2.1/src/lliki/__main__.py +4 -0
  14. lliki-0.2.1/src/lliki/branding.py +61 -0
  15. lliki-0.2.1/src/lliki/cli.py +524 -0
  16. lliki-0.2.1/src/lliki/core/__init__.py +1 -0
  17. lliki-0.2.1/src/lliki/core/append.py +24 -0
  18. lliki-0.2.1/src/lliki/core/bootstrap.py +187 -0
  19. lliki-0.2.1/src/lliki/core/context.py +33 -0
  20. lliki-0.2.1/src/lliki/core/doctor.py +71 -0
  21. lliki-0.2.1/src/lliki/core/inspection.py +61 -0
  22. lliki-0.2.1/src/lliki/core/models.py +51 -0
  23. lliki-0.2.1/src/lliki/core/patching.py +59 -0
  24. lliki-0.2.1/src/lliki/core/prompts.py +60 -0
  25. lliki-0.2.1/src/lliki/core/resources.py +103 -0
  26. lliki-0.2.1/src/lliki/core/runtime.py +124 -0
  27. lliki-0.2.1/src/lliki/core/tasks.py +138 -0
  28. lliki-0.2.1/src/lliki/hooks.py +70 -0
  29. lliki-0.2.1/src/lliki/integrations/__init__.py +1 -0
  30. lliki-0.2.1/src/lliki/integrations/install.py +101 -0
  31. lliki-0.2.1/src/lliki/templates/CLAUDE.md +98 -0
  32. lliki-0.2.1/src/lliki/templates/integrations/claude/SKILL.md +26 -0
  33. lliki-0.2.1/src/lliki/templates/integrations/generic/AGENTS.md +23 -0
  34. lliki-0.2.1/src/lliki/templates/integrations/hermes/HERMES.md +20 -0
  35. lliki-0.2.1/src/lliki/templates/prompts/complete-task.md +16 -0
  36. lliki-0.2.1/src/lliki/templates/prompts/explore-impact.md +14 -0
  37. lliki-0.2.1/src/lliki/templates/prompts/initialize-project.md +26 -0
  38. lliki-0.2.1/src/lliki/templates/prompts/migrate-legacy.md +14 -0
  39. lliki-0.2.1/src/lliki/templates/prompts/review-wiki.md +13 -0
  40. lliki-0.2.1/src/lliki/templates/template-pack.json +81 -0
  41. lliki-0.2.1/src/lliki/templates/wiki/decisions.md +16 -0
  42. lliki-0.2.1/src/lliki/templates/wiki/docs/README.md +13 -0
  43. lliki-0.2.1/src/lliki/templates/wiki/docs/development-workflow.md +25 -0
  44. lliki-0.2.1/src/lliki/templates/wiki/docs/project-overview.md +20 -0
  45. lliki-0.2.1/src/lliki/templates/wiki/docs/repository-rules.md +23 -0
  46. lliki-0.2.1/src/lliki/templates/wiki/exploratory/index.md +13 -0
  47. lliki-0.2.1/src/lliki/templates/wiki/index.md +38 -0
  48. lliki-0.2.1/src/lliki/templates/wiki/lessons_learned.md +15 -0
  49. lliki-0.2.1/src/lliki/templates/wiki/tasks/dashboard.md +22 -0
  50. lliki-0.2.1/src/lliki/templates/wiki/wiki-rules.md +87 -0
  51. lliki-0.2.1/src/lliki.egg-info/PKG-INFO +333 -0
  52. lliki-0.2.1/src/lliki.egg-info/SOURCES.txt +55 -0
  53. lliki-0.2.1/src/lliki.egg-info/dependency_links.txt +1 -0
  54. lliki-0.2.1/src/lliki.egg-info/entry_points.txt +2 -0
  55. lliki-0.2.1/src/lliki.egg-info/top_level.txt +1 -0
  56. lliki-0.2.1/tests/test_cli_subprocess.py +47 -0
  57. lliki-0.2.1/tests/test_lliki.py +209 -0
@@ -0,0 +1,19 @@
1
+ # Changelog
2
+
3
+ ## 0.2.1 - 2026-07-31
4
+
5
+ - Added a width-aware Lliki ASCII welcome banner to interactive setup.
6
+ - Added concise project-purpose, privacy, and author text.
7
+ - Kept non-interactive, JSON, hook, and CI output banner-free.
8
+ - Added `LLIKI_NO_BANNER=1` as an optional local override.
9
+
10
+ ## 0.2.0 - 2026-07-31
11
+
12
+ - Rebuilt the bootstrap as an installable, model-neutral CLI.
13
+ - Moved all Markdown and prompts out of Python into editable package templates.
14
+ - Added simple default and progressive custom setup paths.
15
+ - Made runtime state and scratchpad optional.
16
+ - Added repository-local Claude, Hermes, and generic-agent integrations.
17
+ - Added managed-section patching instead of whole-file replacement.
18
+ - Added prompt token estimates, structural doctor checks, and task dashboard refresh.
19
+ - Added Homebrew and Debian packaging templates.
lliki-0.2.1/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 brunofbloq
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,4 @@
1
+ recursive-include src/lliki/templates *
2
+ include README.md LICENSE CHANGELOG.md
3
+
4
+ recursive-include docs *
lliki-0.2.1/PKG-INFO ADDED
@@ -0,0 +1,333 @@
1
+ Metadata-Version: 2.4
2
+ Name: lliki
3
+ Version: 0.2.1
4
+ Summary: Local repository wiki bootstrap and maintenance CLI for humans and coding tools
5
+ Author: brunofbloq
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/brunofbloq/lliki
8
+ Project-URL: Repository, https://github.com/brunofbloq/lliki
9
+ Project-URL: Issues, https://github.com/brunofbloq/lliki/issues
10
+ Keywords: wiki,repository,documentation,llm,claude,hermes,developer-tools
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Environment :: Console
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3 :: Only
16
+ Classifier: Topic :: Software Development :: Documentation
17
+ Classifier: Topic :: Software Development :: Quality Assurance
18
+ Requires-Python: >=3.9
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ Dynamic: license-file
22
+
23
+ # Lliki
24
+
25
+ `lliki` is a local CLI that creates and maintains a low-token, model-neutral project wiki for humans and coding tools. The normal user workflow remains simple: initialize the
26
+ repository once, print the recommended LLM onboarding prompt, and then work with
27
+ Claude, Hermes, or another coding agent normally.
28
+
29
+ The application performs deterministic file mechanics. The LLM remains
30
+ responsible for semantic engineering decisions and project documentation.
31
+
32
+ > Lliki does not call an LLM, require API credentials, or transmit repository content by default. Optional repository-local integrations let coding agents use its deterministic wiki-management commands.
33
+
34
+ <p align="center">
35
+ <img src="https://raw.githubusercontent.com/brunofbloq/lliki/main/docs/assets/lliki-ascii.png" alt="Lliki ASCII logo" width="760">
36
+ </p>
37
+
38
+ **Author:** `brunofbloq`
39
+
40
+ ## Interactive welcome
41
+
42
+ Running `lliki` or `lliki init` in an interactive terminal displays the Lliki
43
+ ASCII welcome, a concise project-purpose statement, and the author. The banner
44
+ is intentionally omitted from non-interactive runs, JSON output, hooks, and CI.
45
+ Set `LLIKI_NO_BANNER=1` to suppress it locally.
46
+
47
+ ## Key design decisions
48
+
49
+ - `wiki/index.md` is the only mandatory dynamic project entry point.
50
+ - The default setup creates only the wiki and safely creates or patches
51
+ `CLAUDE.md`.
52
+ - Runtime state, scratchpad, hooks, and agent integrations are opt-in.
53
+ - All Markdown templates and suggested prompts are editable files, not Python
54
+ string literals.
55
+ - The specialist skill `embedded-systems-architect` is recommended only in the
56
+ printed onboarding prompt. It is not hard-coded into `CLAUDE.md` or the wiki.
57
+ - Every suggested LLM prompt includes a prompt-token estimate and expected total
58
+ call range.
59
+ - Permanent wiki updates are event-driven: after meaningful task events and at
60
+ the end of completed user requests, only when project truth changed.
61
+
62
+ ## Installation
63
+
64
+ ### pipx
65
+
66
+ ```bash
67
+ pipx install lliki
68
+ ```
69
+
70
+ ### pip
71
+
72
+ ```bash
73
+ python -m pip install lliki
74
+ ```
75
+
76
+ ### Homebrew
77
+
78
+ ```bash
79
+ brew install brunofbloq/tap/lliki
80
+ ```
81
+
82
+ ### GitHub development version
83
+
84
+ ```bash
85
+ pipx install "git+https://github.com/brunofbloq/lliki.git"
86
+ ```
87
+
88
+ ### Local development
89
+
90
+ ```bash
91
+ python -m pip install -e .
92
+ lliki --version
93
+ ```
94
+
95
+ ### Local pipx install
96
+
97
+ ```bash
98
+ pipx install .
99
+ ```
100
+
101
+ The same installed `lliki` command works in Bash, PowerShell, CMD, macOS,
102
+ Linux, and Windows.
103
+
104
+ ### Windows PowerShell helper
105
+
106
+ ```powershell
107
+ .\scripts\install.ps1 -Source .
108
+ ```
109
+
110
+ ### Bash helper
111
+
112
+ ```bash
113
+ ./scripts/install.sh .
114
+ ```
115
+
116
+ Homebrew and Debian packaging templates are under `packaging/`.
117
+
118
+ ## Default setup
119
+
120
+ Run:
121
+
122
+ ```bash
123
+ lliki init
124
+ ```
125
+
126
+ The TUI offers:
127
+
128
+ ```text
129
+ [1] Default — create/repair wiki and update CLAUDE.md
130
+ [2] Custom — optional runtime state and repository-local integrations
131
+ ```
132
+
133
+ Default setup creates:
134
+
135
+ ```text
136
+ CLAUDE.md
137
+ wiki/
138
+ ├── index.md
139
+ ├── wiki-rules.md
140
+ ├── tasks/
141
+ │ └── dashboard.md
142
+ ├── decisions.md
143
+ ├── lessons_learned.md
144
+ ├── exploratory/
145
+ │ └── index.md
146
+ └── docs/
147
+ ├── README.md
148
+ ├── project-overview.md
149
+ ├── development-workflow.md
150
+ └── repository-rules.md
151
+ ```
152
+
153
+ It then prints the LLM initialization prompt and its estimated token usage in
154
+ the terminal. It does not create `.lliki/`, install hooks, create a
155
+ scratchpad, or install skills.
156
+
157
+ Non-interactive equivalent:
158
+
159
+ ```bash
160
+ lliki init --default --yes
161
+ ```
162
+
163
+ ## Custom setup
164
+
165
+ Custom setup can opt into:
166
+
167
+ - lightweight local resume state;
168
+ - optional debug scratchpad and log directory;
169
+ - generic `AGENTS.md` integration;
170
+ - repository-local Claude skill and optional hooks;
171
+ - repository-local Hermes context through `.hermes.md`.
172
+
173
+ Example:
174
+
175
+ ```bash
176
+ lliki init --custom --runtime assisted \
177
+ --integrate generic,claude,hermes --yes
178
+ ```
179
+
180
+ Debug scratchpad remains optional:
181
+
182
+ ```bash
183
+ lliki init --custom --runtime debug --scratchpad --yes
184
+ ```
185
+
186
+ When runtime assistance is enabled, local non-authoritative state lives under
187
+ `.lliki/`, which is added to `.gitignore`.
188
+
189
+ ## Normal agent workflow
190
+
191
+ The user does not need to run maintenance commands during normal development.
192
+ Generated instructions teach the coding agent to:
193
+
194
+ 1. begin from `wiki/index.md`;
195
+ 2. load only relevant context;
196
+ 3. update project knowledge after meaningful events and completed requests;
197
+ 4. use `lliki` internally for mechanical checks when efficient;
198
+ 5. avoid whole-wiki reads and whole-file rewrites.
199
+
200
+ Manual commands remain available when a token-free structural check is useful.
201
+
202
+ ## Token-free commands
203
+
204
+ ```bash
205
+ lliki inspect --json
206
+ lliki doctor --json
207
+ lliki context --json
208
+ lliki tasks refresh --update-index
209
+ lliki templates diff
210
+ ```
211
+
212
+ ## Suggested LLM prompts
213
+
214
+ ```bash
215
+ lliki prompt list
216
+ lliki prompt show initialize-project
217
+ lliki prompt show migrate-legacy
218
+ lliki prompt show complete-task
219
+ lliki prompt show explore-impact
220
+ lliki prompt show review-wiki
221
+ ```
222
+
223
+ Every prompt prints:
224
+
225
+ - approximate prompt-only tokens;
226
+ - expected total call range;
227
+ - a reminder that actual use depends on model and loaded repository context.
228
+
229
+ ## Editing templates like documents
230
+
231
+ Export the built-in template pack:
232
+
233
+ ```bash
234
+ lliki templates export ./my-lliki-templates
235
+ ```
236
+
237
+ Edit the Markdown files directly, including `CLAUDE.md`, wiki pages, integration
238
+ instructions, and prompts. Validate them:
239
+
240
+ ```bash
241
+ lliki templates validate --template-dir ./my-lliki-templates
242
+ ```
243
+
244
+ Preview repository changes:
245
+
246
+ ```bash
247
+ lliki templates diff \
248
+ --template-dir ./my-lliki-templates \
249
+ --root .
250
+ ```
251
+
252
+ Apply only missing files and managed-section changes:
253
+
254
+ ```bash
255
+ lliki templates sync \
256
+ --template-dir ./my-lliki-templates \
257
+ --root .
258
+ ```
259
+
260
+ The environment variable form is also supported:
261
+
262
+ ```bash
263
+ export LLIKI_TEMPLATE_DIR="$PWD/my-lliki-templates"
264
+ lliki init
265
+ ```
266
+
267
+ PowerShell:
268
+
269
+ ```powershell
270
+ $env:LLIKI_TEMPLATE_DIR = "$PWD\my-lliki-templates"
271
+ lliki init
272
+ ```
273
+
274
+ ## Task metadata and dashboard generation
275
+
276
+ Task files can use YAML front matter:
277
+
278
+ ```markdown
279
+ ---
280
+ id: HWRD-115
281
+ title: Sensor bring-up
282
+ status: active
283
+ priority: high
284
+ updated: 2026-07-31
285
+ ---
286
+ ```
287
+
288
+ `lliki tasks refresh` generates `wiki/tasks/dashboard.md` without an LLM.
289
+ With `--update-index`, exactly one active task is linked from `wiki/index.md`.
290
+
291
+ ## Safe update behavior
292
+
293
+ - Existing content is never blindly replaced.
294
+ - Managed sections are identified by HTML comment markers.
295
+ - Existing `CLAUDE.md` content is preserved; the stable managed contract is
296
+ appended when no marker exists.
297
+ - Backups are created before managed updates.
298
+ - Decisions and lessons use append-only files.
299
+ - Context-sensitive wiki files are created with explicit `Needs validation`
300
+ markers for LLM or human initialization.
301
+
302
+ ## Repository-local agent integrations
303
+
304
+ ### Claude Code
305
+
306
+ Custom setup can create:
307
+
308
+ ```text
309
+ .claude/skills/lliki/SKILL.md
310
+ .claude/settings.json
311
+ ```
312
+
313
+ Hooks are optional. When enabled, they perform only mechanical dashboard and
314
+ structural maintenance and do not invent semantic documentation.
315
+
316
+ ### Hermes
317
+
318
+ Custom setup can create `.hermes.md`, which instructs Hermes to begin from the
319
+ same wiki entry point and use the CLI internally when efficient.
320
+
321
+ ### Generic agents
322
+
323
+ Custom setup can create `AGENTS.md` for compatible coding agents.
324
+
325
+ ## Development and tests
326
+
327
+ ```bash
328
+ PYTHONPATH=src python -m unittest discover -s tests -v
329
+ python -m compileall -q src
330
+ python -m pip wheel . --no-deps --wheel-dir dist
331
+ ```
332
+
333
+ See [docs/DESIGN.md](docs/DESIGN.md) for architecture and update ownership.
lliki-0.2.1/README.md ADDED
@@ -0,0 +1,311 @@
1
+ # Lliki
2
+
3
+ `lliki` is a local CLI that creates and maintains a low-token, model-neutral project wiki for humans and coding tools. The normal user workflow remains simple: initialize the
4
+ repository once, print the recommended LLM onboarding prompt, and then work with
5
+ Claude, Hermes, or another coding agent normally.
6
+
7
+ The application performs deterministic file mechanics. The LLM remains
8
+ responsible for semantic engineering decisions and project documentation.
9
+
10
+ > Lliki does not call an LLM, require API credentials, or transmit repository content by default. Optional repository-local integrations let coding agents use its deterministic wiki-management commands.
11
+
12
+ <p align="center">
13
+ <img src="https://raw.githubusercontent.com/brunofbloq/lliki/main/docs/assets/lliki-ascii.png" alt="Lliki ASCII logo" width="760">
14
+ </p>
15
+
16
+ **Author:** `brunofbloq`
17
+
18
+ ## Interactive welcome
19
+
20
+ Running `lliki` or `lliki init` in an interactive terminal displays the Lliki
21
+ ASCII welcome, a concise project-purpose statement, and the author. The banner
22
+ is intentionally omitted from non-interactive runs, JSON output, hooks, and CI.
23
+ Set `LLIKI_NO_BANNER=1` to suppress it locally.
24
+
25
+ ## Key design decisions
26
+
27
+ - `wiki/index.md` is the only mandatory dynamic project entry point.
28
+ - The default setup creates only the wiki and safely creates or patches
29
+ `CLAUDE.md`.
30
+ - Runtime state, scratchpad, hooks, and agent integrations are opt-in.
31
+ - All Markdown templates and suggested prompts are editable files, not Python
32
+ string literals.
33
+ - The specialist skill `embedded-systems-architect` is recommended only in the
34
+ printed onboarding prompt. It is not hard-coded into `CLAUDE.md` or the wiki.
35
+ - Every suggested LLM prompt includes a prompt-token estimate and expected total
36
+ call range.
37
+ - Permanent wiki updates are event-driven: after meaningful task events and at
38
+ the end of completed user requests, only when project truth changed.
39
+
40
+ ## Installation
41
+
42
+ ### pipx
43
+
44
+ ```bash
45
+ pipx install lliki
46
+ ```
47
+
48
+ ### pip
49
+
50
+ ```bash
51
+ python -m pip install lliki
52
+ ```
53
+
54
+ ### Homebrew
55
+
56
+ ```bash
57
+ brew install brunofbloq/tap/lliki
58
+ ```
59
+
60
+ ### GitHub development version
61
+
62
+ ```bash
63
+ pipx install "git+https://github.com/brunofbloq/lliki.git"
64
+ ```
65
+
66
+ ### Local development
67
+
68
+ ```bash
69
+ python -m pip install -e .
70
+ lliki --version
71
+ ```
72
+
73
+ ### Local pipx install
74
+
75
+ ```bash
76
+ pipx install .
77
+ ```
78
+
79
+ The same installed `lliki` command works in Bash, PowerShell, CMD, macOS,
80
+ Linux, and Windows.
81
+
82
+ ### Windows PowerShell helper
83
+
84
+ ```powershell
85
+ .\scripts\install.ps1 -Source .
86
+ ```
87
+
88
+ ### Bash helper
89
+
90
+ ```bash
91
+ ./scripts/install.sh .
92
+ ```
93
+
94
+ Homebrew and Debian packaging templates are under `packaging/`.
95
+
96
+ ## Default setup
97
+
98
+ Run:
99
+
100
+ ```bash
101
+ lliki init
102
+ ```
103
+
104
+ The TUI offers:
105
+
106
+ ```text
107
+ [1] Default — create/repair wiki and update CLAUDE.md
108
+ [2] Custom — optional runtime state and repository-local integrations
109
+ ```
110
+
111
+ Default setup creates:
112
+
113
+ ```text
114
+ CLAUDE.md
115
+ wiki/
116
+ ├── index.md
117
+ ├── wiki-rules.md
118
+ ├── tasks/
119
+ │ └── dashboard.md
120
+ ├── decisions.md
121
+ ├── lessons_learned.md
122
+ ├── exploratory/
123
+ │ └── index.md
124
+ └── docs/
125
+ ├── README.md
126
+ ├── project-overview.md
127
+ ├── development-workflow.md
128
+ └── repository-rules.md
129
+ ```
130
+
131
+ It then prints the LLM initialization prompt and its estimated token usage in
132
+ the terminal. It does not create `.lliki/`, install hooks, create a
133
+ scratchpad, or install skills.
134
+
135
+ Non-interactive equivalent:
136
+
137
+ ```bash
138
+ lliki init --default --yes
139
+ ```
140
+
141
+ ## Custom setup
142
+
143
+ Custom setup can opt into:
144
+
145
+ - lightweight local resume state;
146
+ - optional debug scratchpad and log directory;
147
+ - generic `AGENTS.md` integration;
148
+ - repository-local Claude skill and optional hooks;
149
+ - repository-local Hermes context through `.hermes.md`.
150
+
151
+ Example:
152
+
153
+ ```bash
154
+ lliki init --custom --runtime assisted \
155
+ --integrate generic,claude,hermes --yes
156
+ ```
157
+
158
+ Debug scratchpad remains optional:
159
+
160
+ ```bash
161
+ lliki init --custom --runtime debug --scratchpad --yes
162
+ ```
163
+
164
+ When runtime assistance is enabled, local non-authoritative state lives under
165
+ `.lliki/`, which is added to `.gitignore`.
166
+
167
+ ## Normal agent workflow
168
+
169
+ The user does not need to run maintenance commands during normal development.
170
+ Generated instructions teach the coding agent to:
171
+
172
+ 1. begin from `wiki/index.md`;
173
+ 2. load only relevant context;
174
+ 3. update project knowledge after meaningful events and completed requests;
175
+ 4. use `lliki` internally for mechanical checks when efficient;
176
+ 5. avoid whole-wiki reads and whole-file rewrites.
177
+
178
+ Manual commands remain available when a token-free structural check is useful.
179
+
180
+ ## Token-free commands
181
+
182
+ ```bash
183
+ lliki inspect --json
184
+ lliki doctor --json
185
+ lliki context --json
186
+ lliki tasks refresh --update-index
187
+ lliki templates diff
188
+ ```
189
+
190
+ ## Suggested LLM prompts
191
+
192
+ ```bash
193
+ lliki prompt list
194
+ lliki prompt show initialize-project
195
+ lliki prompt show migrate-legacy
196
+ lliki prompt show complete-task
197
+ lliki prompt show explore-impact
198
+ lliki prompt show review-wiki
199
+ ```
200
+
201
+ Every prompt prints:
202
+
203
+ - approximate prompt-only tokens;
204
+ - expected total call range;
205
+ - a reminder that actual use depends on model and loaded repository context.
206
+
207
+ ## Editing templates like documents
208
+
209
+ Export the built-in template pack:
210
+
211
+ ```bash
212
+ lliki templates export ./my-lliki-templates
213
+ ```
214
+
215
+ Edit the Markdown files directly, including `CLAUDE.md`, wiki pages, integration
216
+ instructions, and prompts. Validate them:
217
+
218
+ ```bash
219
+ lliki templates validate --template-dir ./my-lliki-templates
220
+ ```
221
+
222
+ Preview repository changes:
223
+
224
+ ```bash
225
+ lliki templates diff \
226
+ --template-dir ./my-lliki-templates \
227
+ --root .
228
+ ```
229
+
230
+ Apply only missing files and managed-section changes:
231
+
232
+ ```bash
233
+ lliki templates sync \
234
+ --template-dir ./my-lliki-templates \
235
+ --root .
236
+ ```
237
+
238
+ The environment variable form is also supported:
239
+
240
+ ```bash
241
+ export LLIKI_TEMPLATE_DIR="$PWD/my-lliki-templates"
242
+ lliki init
243
+ ```
244
+
245
+ PowerShell:
246
+
247
+ ```powershell
248
+ $env:LLIKI_TEMPLATE_DIR = "$PWD\my-lliki-templates"
249
+ lliki init
250
+ ```
251
+
252
+ ## Task metadata and dashboard generation
253
+
254
+ Task files can use YAML front matter:
255
+
256
+ ```markdown
257
+ ---
258
+ id: HWRD-115
259
+ title: Sensor bring-up
260
+ status: active
261
+ priority: high
262
+ updated: 2026-07-31
263
+ ---
264
+ ```
265
+
266
+ `lliki tasks refresh` generates `wiki/tasks/dashboard.md` without an LLM.
267
+ With `--update-index`, exactly one active task is linked from `wiki/index.md`.
268
+
269
+ ## Safe update behavior
270
+
271
+ - Existing content is never blindly replaced.
272
+ - Managed sections are identified by HTML comment markers.
273
+ - Existing `CLAUDE.md` content is preserved; the stable managed contract is
274
+ appended when no marker exists.
275
+ - Backups are created before managed updates.
276
+ - Decisions and lessons use append-only files.
277
+ - Context-sensitive wiki files are created with explicit `Needs validation`
278
+ markers for LLM or human initialization.
279
+
280
+ ## Repository-local agent integrations
281
+
282
+ ### Claude Code
283
+
284
+ Custom setup can create:
285
+
286
+ ```text
287
+ .claude/skills/lliki/SKILL.md
288
+ .claude/settings.json
289
+ ```
290
+
291
+ Hooks are optional. When enabled, they perform only mechanical dashboard and
292
+ structural maintenance and do not invent semantic documentation.
293
+
294
+ ### Hermes
295
+
296
+ Custom setup can create `.hermes.md`, which instructs Hermes to begin from the
297
+ same wiki entry point and use the CLI internally when efficient.
298
+
299
+ ### Generic agents
300
+
301
+ Custom setup can create `AGENTS.md` for compatible coding agents.
302
+
303
+ ## Development and tests
304
+
305
+ ```bash
306
+ PYTHONPATH=src python -m unittest discover -s tests -v
307
+ python -m compileall -q src
308
+ python -m pip wheel . --no-deps --wheel-dir dist
309
+ ```
310
+
311
+ See [docs/DESIGN.md](docs/DESIGN.md) for architecture and update ownership.
@@ -0,0 +1,25 @@
1
+ # Agent Integrations
2
+
3
+ ## Default mode
4
+
5
+ No agent-specific integration is installed. Claude reads the root `CLAUDE.md`.
6
+ Hermes can also fall back to `CLAUDE.md` when no higher-priority project context
7
+ file exists.
8
+
9
+ ## Generic
10
+
11
+ Creates `AGENTS.md`, which points compatible agents to the stable contract and
12
+ `wiki/index.md`.
13
+
14
+ ## Claude
15
+
16
+ Creates a project skill at `.claude/skills/lliki/SKILL.md`. Optional
17
+ project hooks call `lliki` for mechanical dashboard refresh and lightweight
18
+ resume context. Hooks never invent semantic decisions or documentation.
19
+
20
+ ## Hermes
21
+
22
+ Creates `.hermes.md`, which explicitly routes Hermes to the root stable contract
23
+ and the same wiki entry point. No global Hermes skill or plugin is installed.
24
+
25
+ All integrations are repository-local and opt-in.