wikifier 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wikifier-0.3.0/Basis-v0.3.md +130 -0
- wikifier-0.3.0/CONTRIBUTING.md +85 -0
- wikifier-0.3.0/LICENSE +21 -0
- wikifier-0.3.0/MANIFEST.in +16 -0
- wikifier-0.3.0/PKG-INFO +137 -0
- wikifier-0.3.0/README.md +107 -0
- wikifier-0.3.0/TRADEOFFS.md +68 -0
- wikifier-0.3.0/index.html +409 -0
- wikifier-0.3.0/pyproject.toml +63 -0
- wikifier-0.3.0/setup.cfg +4 -0
- wikifier-0.3.0/skills/run.md +78 -0
- wikifier-0.3.0/spec.md +40 -0
- wikifier-0.3.0/wikifier/__init__.py +9 -0
- wikifier-0.3.0/wikifier/__main__.py +4 -0
- wikifier-0.3.0/wikifier/cli.py +63 -0
- wikifier-0.3.0/wikifier/scripts/wikifier.bat +27 -0
- wikifier-0.3.0/wikifier/scripts/wikifier.ps1 +166 -0
- wikifier-0.3.0/wikifier/scripts/wikifier.sh +498 -0
- wikifier-0.3.0/wikifier.egg-info/PKG-INFO +137 -0
- wikifier-0.3.0/wikifier.egg-info/SOURCES.txt +27 -0
- wikifier-0.3.0/wikifier.egg-info/dependency_links.txt +1 -0
- wikifier-0.3.0/wikifier.egg-info/entry_points.txt +2 -0
- wikifier-0.3.0/wikifier.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# Basis-v0.3 — Implementation Reference & Design Notes
|
|
2
|
+
|
|
3
|
+
This document captures the concrete design decisions and data formats for Wikifier v0.3. It is the "how" that supports the immutable "what" in `spec.md`.
|
|
4
|
+
|
|
5
|
+
## 1. Health Matrix (`file_health.md`)
|
|
6
|
+
|
|
7
|
+
Format (Markdown table, append-only with latest state wins):
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
# Documentation Health Matrix
|
|
11
|
+
|
|
12
|
+
| File | Status | Last Updated | Reason / Intent |
|
|
13
|
+
|------|--------|--------------|-----------------|
|
|
14
|
+
| src/main.py | 🟢 Green | 2026-05-15 14:32 | Initial summary complete. No pending edits. |
|
|
15
|
+
| src/utils.py | 🟡 Yellow | 2026-05-15 14:28 | LLM added new helper. Pending summary update. |
|
|
16
|
+
| src/legacy/old.js | 🔴 Red | 2026-05-14 09:10 | File modified but wiki summary missing. |
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Status Rules**:
|
|
20
|
+
- 🟢 Green: Summary in corresponding MD file is accurate and up-to-date.
|
|
21
|
+
- 🟡 Yellow: Change detected (mtime or `record-change`). Requires LLM review + `mark-green`.
|
|
22
|
+
- 🔴 Red: Critical gap — file exists in monitored tree but has no wiki entry at all.
|
|
23
|
+
|
|
24
|
+
`wikifier.sh` commands maintain this table automatically.
|
|
25
|
+
|
|
26
|
+
## 2. Semantic Logging — `record-change` and `record-deletion`
|
|
27
|
+
|
|
28
|
+
These are the primary ways LLMs/agents communicate intent:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
wikifier record-change "src/feature.py" "Added retry decorator because external API is flaky under load. Removed synchronous fallback path."
|
|
32
|
+
wikifier record-deletion "src/dead_code.py" "Dead code after migration to async client. Safe to remove per audit in journal/2026/05/15.md"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Effects:
|
|
36
|
+
- Appends a structured entry to `journal/YYYY/MM/DD.md`
|
|
37
|
+
- Appends a Yellow health row to `file_health.md`
|
|
38
|
+
- Adds item to `pending_updates.md`
|
|
39
|
+
- (Future) Can trigger `prepare-edit` diff capture
|
|
40
|
+
|
|
41
|
+
This gives the system rich self-review material later ("why did we do X?").
|
|
42
|
+
|
|
43
|
+
## 3. Journal System
|
|
44
|
+
|
|
45
|
+
Location: `journal/<YYYY>/<MM>/<DD>.md`
|
|
46
|
+
|
|
47
|
+
Each day file is append-only. Example entry:
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
## [2026-05-15 14:28:03 UTC] LLM record-change
|
|
51
|
+
**File:** src/utils.py
|
|
52
|
+
**Action:** modified
|
|
53
|
+
**Reason:** Added exponential backoff helper. Needed because the payment gateway returns 429s during sales events.
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Automated entries are also written by `check-changes` for mtime-detected modifications.
|
|
57
|
+
|
|
58
|
+
Optional Obsidian-friendly export: `wikifier journal --obsidian` produces a single `journal-obsidian.md` with proper `[[wikilinks]]`.
|
|
59
|
+
|
|
60
|
+
## 4. Logged Issues Hierarchy
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
Logged_issues/
|
|
64
|
+
├── map.md # Overview + quick links
|
|
65
|
+
├── simple/
|
|
66
|
+
│ ├── frontend/
|
|
67
|
+
│ ├── backend/
|
|
68
|
+
│ ├── security/
|
|
69
|
+
│ └── ...
|
|
70
|
+
├── moderate/
|
|
71
|
+
├── high/
|
|
72
|
+
└── critical/
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
`map.md` contains a categorized index. LLMs are instructed to consult historical issues before debugging.
|
|
76
|
+
|
|
77
|
+
## 5. Library & Import Map (`library.md`)
|
|
78
|
+
|
|
79
|
+
Contains:
|
|
80
|
+
- A generated Mermaid `graph TD` showing import/dependency relationships.
|
|
81
|
+
- A flat list of every monitored file with its direct imports/exports.
|
|
82
|
+
- Token-efficient: only filenames + arrows, no code.
|
|
83
|
+
|
|
84
|
+
Generated by `wikifier update-maps` which runs language-aware grep (Python `import`, JS `require`/`import`, Go `import`, etc.).
|
|
85
|
+
|
|
86
|
+
## 6. Background Heartbeat (`monitor`)
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
./wikifier.sh monitor &
|
|
90
|
+
# or
|
|
91
|
+
nohup ./wikifier.sh monitor > .wikifier_staging/monitor.log 2>&1 &
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Runs `check-changes` every 30s (configurable via env `WIKIFIER_POLL_INTERVAL`).
|
|
95
|
+
|
|
96
|
+
On any Yellow/Red flip, it can optionally `touch .wikifier_staging/ALERT` so an external watcher (or the LLM when it wakes) knows work is waiting.
|
|
97
|
+
|
|
98
|
+
## 7. Skills / MCP Interface (`skills/run.md`)
|
|
99
|
+
|
|
100
|
+
Every command in `wikifier.sh` is exposable as an MCP tool. The `run.md` file contains the exact prompt fragment agents must include at the start of every session.
|
|
101
|
+
|
|
102
|
+
## 8. Zero-Dependency Philosophy
|
|
103
|
+
|
|
104
|
+
- No node, python packages, docker, or external binaries.
|
|
105
|
+
- `wikifier.bat` on Windows uses PowerShell + built-in `Get-ChildItem`, `Select-String`, etc.
|
|
106
|
+
- All state lives in plain `.md` files + a few dot-files for timestamps (`.wikifier_last_check`).
|
|
107
|
+
|
|
108
|
+
## 9. Target Monitored Codebase
|
|
109
|
+
|
|
110
|
+
Wikifier is designed to document **any** other project. You point it at your real codebase by editing:
|
|
111
|
+
|
|
112
|
+
- `monitored_paths.txt` — one path per line (can be outside the wikifier tree)
|
|
113
|
+
- `exclude_patterns.txt` — globs to ignore
|
|
114
|
+
|
|
115
|
+
Example for documenting a sibling project:
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
monitored_paths.txt
|
|
119
|
+
../my-other-repo/src
|
|
120
|
+
../my-other-repo/tests
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## 10. Future v0.4 Ideas (not in current scope)
|
|
124
|
+
|
|
125
|
+
- Language-specific summary generators (tree-sitter or simple regex)
|
|
126
|
+
- Git hook integration for automatic record-change on commit
|
|
127
|
+
- Diff storage in `.wikifier_staging/diffs/`
|
|
128
|
+
- TUI dashboard (optional, still zero-dep via `dialog` or pure bash)
|
|
129
|
+
|
|
130
|
+
This Basis document + `spec.md` + the working `wikifier.sh` implementation form the complete contract for v0.3.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Contributing to Wikifier
|
|
2
|
+
|
|
3
|
+
Thank you for your interest in Wikifier! This project is intentionally **agent-first** and ultra-light. We want contributions that keep it that way.
|
|
4
|
+
|
|
5
|
+
## Our Philosophy
|
|
6
|
+
|
|
7
|
+
- **Zero external dependencies** is sacred. No new Python packages, Node modules, Docker images, or heavy CLIs.
|
|
8
|
+
- **Agent-first design** comes first. If something makes life harder for LLMs/Grok Build/Cline/etc., we probably shouldn't do it.
|
|
9
|
+
- **Semantic logging** (`record-change`) is the heart of the system. Changes without intent are less valuable.
|
|
10
|
+
- Keep it simple. This is a shell + Markdown tool, not a full framework.
|
|
11
|
+
|
|
12
|
+
## How to Contribute
|
|
13
|
+
|
|
14
|
+
### 1. Reporting Issues
|
|
15
|
+
|
|
16
|
+
Please use the appropriate GitHub issue template:
|
|
17
|
+
|
|
18
|
+
- **🐛 Bug Report** — Something is broken in the CLI, health matrix, journal, or dashboard.
|
|
19
|
+
- **✨ Feature Request** — New command, better behavior, or quality-of-life improvement.
|
|
20
|
+
- **📋 Documentation / Wiki Health Issue** — Problems with file summaries, missing coverage, or incorrect health status.
|
|
21
|
+
- **🤖 Agent / LLM Finding** — You (as an LLM) discovered something while using Wikifier on another project. This is highly encouraged.
|
|
22
|
+
|
|
23
|
+
### 2. Making Changes
|
|
24
|
+
|
|
25
|
+
1. **Fork** the repository and create a feature branch from `main`.
|
|
26
|
+
2. **Follow the rules yourself**:
|
|
27
|
+
```bash
|
|
28
|
+
./wikifier.sh check-changes
|
|
29
|
+
# Read file_health.md and pending_updates.md
|
|
30
|
+
# Prioritise Red → Yellow
|
|
31
|
+
```
|
|
32
|
+
3. For **any** code or documentation change you make:
|
|
33
|
+
```bash
|
|
34
|
+
./wikifier.sh record-change "path/to/your/file" "I changed X because Y. This improves Z for agents."
|
|
35
|
+
```
|
|
36
|
+
4. After you update the corresponding wiki summary (if applicable):
|
|
37
|
+
```bash
|
|
38
|
+
./wikifier.sh mark-green "path/to/your/file"
|
|
39
|
+
```
|
|
40
|
+
5. Run `./wikifier.sh validate` and `./wikifier.sh update-maps` before opening a PR.
|
|
41
|
+
|
|
42
|
+
### 3. Pull Request Guidelines
|
|
43
|
+
|
|
44
|
+
- Keep PRs focused. One logical change per PR.
|
|
45
|
+
- Update documentation (`README.md`, `Basis-v0.3.md`, `skills/run.md`) when behavior changes.
|
|
46
|
+
- If you add a new command, document it in `skills/run.md` and the help text in `wikifier.sh`.
|
|
47
|
+
- All shell changes must remain POSIX-compatible where possible (or clearly PowerShell-only).
|
|
48
|
+
- Add yourself to the journal if you want (`wikifier record-change` is the proper way).
|
|
49
|
+
|
|
50
|
+
### 4. Code Style
|
|
51
|
+
|
|
52
|
+
- **Shell**: Keep it readable. Use functions. Prefer clarity over cleverness.
|
|
53
|
+
- **Markdown**: Short paragraphs. Use tables for commands. Use emojis sparingly and consistently.
|
|
54
|
+
- **No new dependencies**. If your idea requires one, it probably doesn't belong here.
|
|
55
|
+
- Test on at least one Unix-like system and (ideally) Windows.
|
|
56
|
+
|
|
57
|
+
### 5. Documentation Contributions
|
|
58
|
+
|
|
59
|
+
Wikifier is self-documenting. The best documentation contributions usually come in the form of:
|
|
60
|
+
|
|
61
|
+
- Improving file summaries in the monitored codebase
|
|
62
|
+
- Better `record-change` reasons that future agents will find useful
|
|
63
|
+
- Improvements to `skills/run.md` (the agent contract)
|
|
64
|
+
|
|
65
|
+
## Development Workflow (Meta)
|
|
66
|
+
|
|
67
|
+
When working on Wikifier itself, treat this repository as a Wikifier project:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
./wikifier.sh check-changes
|
|
71
|
+
# Work
|
|
72
|
+
./wikifier.sh record-change "wikifier.sh" "Added support for X because..."
|
|
73
|
+
./wikifier.sh mark-green "wikifier.sh"
|
|
74
|
+
./wikifier.sh update-maps
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Questions?
|
|
78
|
+
|
|
79
|
+
Open an issue with the **Agent / LLM Finding** template or just start a discussion.
|
|
80
|
+
|
|
81
|
+
We especially welcome contributions from other agents and LLM users who have used Wikifier in real projects.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
*Remember: every good `record-change` you write makes the system more valuable for the next agent that comes along.*
|
wikifier-0.3.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Aron Amos
|
|
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,16 @@
|
|
|
1
|
+
include wikifier/scripts/*
|
|
2
|
+
include README.md
|
|
3
|
+
include LICENSE
|
|
4
|
+
include CONTRIBUTING.md
|
|
5
|
+
include spec.md
|
|
6
|
+
include Basis-v0.3.md
|
|
7
|
+
include TRADEOFFS.md
|
|
8
|
+
include skills/run.md
|
|
9
|
+
include index.html
|
|
10
|
+
global-exclude *.pyc
|
|
11
|
+
global-exclude __pycache__
|
|
12
|
+
prune .github
|
|
13
|
+
prune journal
|
|
14
|
+
prune Logged_issues
|
|
15
|
+
prune .wikifier_staging
|
|
16
|
+
prune .chisel
|
wikifier-0.3.0/PKG-INFO
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: wikifier
|
|
3
|
+
Version: 0.3.0
|
|
4
|
+
Summary: Agent-first, zero-dependency, self-maintaining codebase documentation & change tracking system
|
|
5
|
+
Author-email: Aron Amos <aron@example.com>
|
|
6
|
+
Maintainer: Aron Amos
|
|
7
|
+
License: MIT
|
|
8
|
+
Project-URL: Homepage, https://github.com/IronAdamant/wikifier
|
|
9
|
+
Project-URL: Repository, https://github.com/IronAdamant/wikifier
|
|
10
|
+
Project-URL: Documentation, https://github.com/IronAdamant/wikifier#readme
|
|
11
|
+
Project-URL: Bug Tracker, https://github.com/IronAdamant/wikifier/issues
|
|
12
|
+
Keywords: wiki,documentation,llm,agent,mcp,codebase,health-matrix,zero-dependency,shell
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Operating System :: OS Independent
|
|
23
|
+
Classifier: Topic :: Software Development :: Documentation
|
|
24
|
+
Classifier: Topic :: Software Development :: Version Control
|
|
25
|
+
Classifier: Topic :: Text Processing :: Markup :: Markdown
|
|
26
|
+
Requires-Python: >=3.8
|
|
27
|
+
Description-Content-Type: text/markdown
|
|
28
|
+
License-File: LICENSE
|
|
29
|
+
Dynamic: license-file
|
|
30
|
+
|
|
31
|
+
# Wikifier v0.3
|
|
32
|
+
|
|
33
|
+
[](https://opensource.org/licenses/MIT)
|
|
34
|
+
[](https://github.com/IronAdamant/wikifier/stargazers)
|
|
35
|
+
|
|
36
|
+
**Agent-first • Zero-dependency • LLM-operated codebase wiki**
|
|
37
|
+
|
|
38
|
+
Wikifier turns any codebase (tiny scripts → large monorepos) into a living, token-efficient map that LLMs/agents operate autonomously.
|
|
39
|
+
|
|
40
|
+
> **GitHub**: https://github.com/IronAdamant/wikifier
|
|
41
|
+
> **PyPI**: `pip install wikifier` (coming very soon)
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 🚀 Get Started in 30 Seconds
|
|
46
|
+
|
|
47
|
+
### Option 1: Via pip (Recommended)
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
pip install wikifier
|
|
51
|
+
|
|
52
|
+
# Then run
|
|
53
|
+
wikifier init
|
|
54
|
+
wikifier check-changes
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Option 2: From source
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
git clone https://github.com/IronAdamant/wikifier.git
|
|
61
|
+
cd wikifier
|
|
62
|
+
chmod +x wikifier.sh
|
|
63
|
+
|
|
64
|
+
# Point it at your codebase
|
|
65
|
+
nano monitored_paths.txt
|
|
66
|
+
|
|
67
|
+
./wikifier.sh init
|
|
68
|
+
./wikifier.sh check-changes
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Then open `index.html` in your browser for the live dashboard.
|
|
72
|
+
|
|
73
|
+
### Mandatory Rule for Every LLM / Grok Build Session
|
|
74
|
+
|
|
75
|
+
Copy this into the **start of every new prompt** when working in a Wikifier-managed project:
|
|
76
|
+
|
|
77
|
+
```text
|
|
78
|
+
You are operating inside a Wikifier v0.3 project.
|
|
79
|
+
|
|
80
|
+
MANDATORY FIRST STEPS:
|
|
81
|
+
1. Run: wikifier check-changes
|
|
82
|
+
2. Read file_health.md + pending_updates.md
|
|
83
|
+
3. Prioritise 🔴 Red → 🟡 Yellow items
|
|
84
|
+
4. For every code edit: wikifier record-change "path/to/file" "I did X because Y"
|
|
85
|
+
5. After updating the wiki summary: wikifier mark-green "path/to/file"
|
|
86
|
+
6. Re-validate before finishing
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## What Wikifier Gives You
|
|
92
|
+
|
|
93
|
+
- **Per-file Documentation Health Matrix** — 🟢 Green / 🟡 Yellow / 🔴 Red status with reasons
|
|
94
|
+
- **Semantic Change Logging** — `record-change "file" "I did X because Y"` (the "why", not just the "what")
|
|
95
|
+
- **Background Heartbeat Monitor** — Passive `monitor &` loop keeps everything fresh while you sleep
|
|
96
|
+
- **Automated Journal + Categorized Issues** — Dated entries + `Logged_issues/{simple,moderate,high,critical}/...`
|
|
97
|
+
- **Beautiful Static Dashboard** — `index.html` with live health lights, Mermaid graphs, and one-click command reference
|
|
98
|
+
- **MCP / Agent Ready** — Full `skills/run.md` contract so Grok, Claude, Cline, etc. can drive it natively
|
|
99
|
+
- **True Zero Dependencies** — Pure Bash + PowerShell. Works on any machine, no Docker, no Node, no Python packages.
|
|
100
|
+
|
|
101
|
+
**This is agent-first.** LLMs operate the system via shell commands. Humans just watch the dashboard.
|
|
102
|
+
|
|
103
|
+
## Core Commands
|
|
104
|
+
|
|
105
|
+
| Command | Purpose |
|
|
106
|
+
|---------------------------|----------------------------------------------|
|
|
107
|
+
| `wikifier check-changes` | Incremental mtime scan + health update |
|
|
108
|
+
| `wikifier record-change <file> "reason"` | Log *why* you made an edit (required) |
|
|
109
|
+
| `wikifier mark-green <file>` | Mark wiki summary as accurate after editing |
|
|
110
|
+
| `wikifier monitor &` | Background heartbeat (30s polling) |
|
|
111
|
+
| `wikifier update-maps` | Rebuild `library.md` + Mermaid dependency graph |
|
|
112
|
+
| `wikifier health` | Show current Documentation Health Matrix |
|
|
113
|
+
|
|
114
|
+
Full reference → [`skills/run.md`](skills/run.md)
|
|
115
|
+
|
|
116
|
+
## Quick Links
|
|
117
|
+
|
|
118
|
+
- [spec.md](spec.md) — Immutable user requirements
|
|
119
|
+
- [Basis-v0.3.md](Basis-v0.3.md) — Implementation reference & data formats
|
|
120
|
+
- [TRADEOFFS.md](TRADEOFFS.md) — Why we made the design choices we did
|
|
121
|
+
- [index.html](index.html) — Open this in a browser for the live dashboard
|
|
122
|
+
|
|
123
|
+
## Differentiation
|
|
124
|
+
|
|
125
|
+
Unlike heavy "LLM Wiki" approaches (e.g. Karpathy-style personal knowledge bases), Wikifier is the **ultra-light, shell-native** implementation:
|
|
126
|
+
|
|
127
|
+
- Per-file health matrix with clear Red/Yellow/Green workflow
|
|
128
|
+
- Semantic `record-change` intent logging for future self-review
|
|
129
|
+
- True background monitor + zero external dependencies
|
|
130
|
+
- Native cross-platform (Linux/macOS/Windows via PowerShell)
|
|
131
|
+
- Designed from day one to be driven by LLMs via MCP/tools
|
|
132
|
+
|
|
133
|
+
**License**: MIT — fork freely and use in any project.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
*Built for agents, by agents, with just `bash` and stubbornness.*
|
wikifier-0.3.0/README.md
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Wikifier v0.3
|
|
2
|
+
|
|
3
|
+
[](https://opensource.org/licenses/MIT)
|
|
4
|
+
[](https://github.com/IronAdamant/wikifier/stargazers)
|
|
5
|
+
|
|
6
|
+
**Agent-first • Zero-dependency • LLM-operated codebase wiki**
|
|
7
|
+
|
|
8
|
+
Wikifier turns any codebase (tiny scripts → large monorepos) into a living, token-efficient map that LLMs/agents operate autonomously.
|
|
9
|
+
|
|
10
|
+
> **GitHub**: https://github.com/IronAdamant/wikifier
|
|
11
|
+
> **PyPI**: `pip install wikifier` (coming very soon)
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 🚀 Get Started in 30 Seconds
|
|
16
|
+
|
|
17
|
+
### Option 1: Via pip (Recommended)
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
pip install wikifier
|
|
21
|
+
|
|
22
|
+
# Then run
|
|
23
|
+
wikifier init
|
|
24
|
+
wikifier check-changes
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Option 2: From source
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
git clone https://github.com/IronAdamant/wikifier.git
|
|
31
|
+
cd wikifier
|
|
32
|
+
chmod +x wikifier.sh
|
|
33
|
+
|
|
34
|
+
# Point it at your codebase
|
|
35
|
+
nano monitored_paths.txt
|
|
36
|
+
|
|
37
|
+
./wikifier.sh init
|
|
38
|
+
./wikifier.sh check-changes
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Then open `index.html` in your browser for the live dashboard.
|
|
42
|
+
|
|
43
|
+
### Mandatory Rule for Every LLM / Grok Build Session
|
|
44
|
+
|
|
45
|
+
Copy this into the **start of every new prompt** when working in a Wikifier-managed project:
|
|
46
|
+
|
|
47
|
+
```text
|
|
48
|
+
You are operating inside a Wikifier v0.3 project.
|
|
49
|
+
|
|
50
|
+
MANDATORY FIRST STEPS:
|
|
51
|
+
1. Run: wikifier check-changes
|
|
52
|
+
2. Read file_health.md + pending_updates.md
|
|
53
|
+
3. Prioritise 🔴 Red → 🟡 Yellow items
|
|
54
|
+
4. For every code edit: wikifier record-change "path/to/file" "I did X because Y"
|
|
55
|
+
5. After updating the wiki summary: wikifier mark-green "path/to/file"
|
|
56
|
+
6. Re-validate before finishing
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## What Wikifier Gives You
|
|
62
|
+
|
|
63
|
+
- **Per-file Documentation Health Matrix** — 🟢 Green / 🟡 Yellow / 🔴 Red status with reasons
|
|
64
|
+
- **Semantic Change Logging** — `record-change "file" "I did X because Y"` (the "why", not just the "what")
|
|
65
|
+
- **Background Heartbeat Monitor** — Passive `monitor &` loop keeps everything fresh while you sleep
|
|
66
|
+
- **Automated Journal + Categorized Issues** — Dated entries + `Logged_issues/{simple,moderate,high,critical}/...`
|
|
67
|
+
- **Beautiful Static Dashboard** — `index.html` with live health lights, Mermaid graphs, and one-click command reference
|
|
68
|
+
- **MCP / Agent Ready** — Full `skills/run.md` contract so Grok, Claude, Cline, etc. can drive it natively
|
|
69
|
+
- **True Zero Dependencies** — Pure Bash + PowerShell. Works on any machine, no Docker, no Node, no Python packages.
|
|
70
|
+
|
|
71
|
+
**This is agent-first.** LLMs operate the system via shell commands. Humans just watch the dashboard.
|
|
72
|
+
|
|
73
|
+
## Core Commands
|
|
74
|
+
|
|
75
|
+
| Command | Purpose |
|
|
76
|
+
|---------------------------|----------------------------------------------|
|
|
77
|
+
| `wikifier check-changes` | Incremental mtime scan + health update |
|
|
78
|
+
| `wikifier record-change <file> "reason"` | Log *why* you made an edit (required) |
|
|
79
|
+
| `wikifier mark-green <file>` | Mark wiki summary as accurate after editing |
|
|
80
|
+
| `wikifier monitor &` | Background heartbeat (30s polling) |
|
|
81
|
+
| `wikifier update-maps` | Rebuild `library.md` + Mermaid dependency graph |
|
|
82
|
+
| `wikifier health` | Show current Documentation Health Matrix |
|
|
83
|
+
|
|
84
|
+
Full reference → [`skills/run.md`](skills/run.md)
|
|
85
|
+
|
|
86
|
+
## Quick Links
|
|
87
|
+
|
|
88
|
+
- [spec.md](spec.md) — Immutable user requirements
|
|
89
|
+
- [Basis-v0.3.md](Basis-v0.3.md) — Implementation reference & data formats
|
|
90
|
+
- [TRADEOFFS.md](TRADEOFFS.md) — Why we made the design choices we did
|
|
91
|
+
- [index.html](index.html) — Open this in a browser for the live dashboard
|
|
92
|
+
|
|
93
|
+
## Differentiation
|
|
94
|
+
|
|
95
|
+
Unlike heavy "LLM Wiki" approaches (e.g. Karpathy-style personal knowledge bases), Wikifier is the **ultra-light, shell-native** implementation:
|
|
96
|
+
|
|
97
|
+
- Per-file health matrix with clear Red/Yellow/Green workflow
|
|
98
|
+
- Semantic `record-change` intent logging for future self-review
|
|
99
|
+
- True background monitor + zero external dependencies
|
|
100
|
+
- Native cross-platform (Linux/macOS/Windows via PowerShell)
|
|
101
|
+
- Designed from day one to be driven by LLMs via MCP/tools
|
|
102
|
+
|
|
103
|
+
**License**: MIT — fork freely and use in any project.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
*Built for agents, by agents, with just `bash` and stubbornness.*
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# TRADEOFFS.md — Design Decisions in Wikifier v0.3
|
|
2
|
+
|
|
3
|
+
## Passive Polling vs Filesystem Events
|
|
4
|
+
|
|
5
|
+
**Choice**: Simple mtime polling via `find -newermt` + timestamp file (`.wikifier_last_check`).
|
|
6
|
+
|
|
7
|
+
**Why**:
|
|
8
|
+
- Zero dependencies and works identically on Linux, macOS, Windows (via WSL or PowerShell equivalent).
|
|
9
|
+
- No `inotifywait`, `fswatch`, or `watchdog` required.
|
|
10
|
+
- LLMs can sleep; the monitor loop just keeps the health matrix fresh.
|
|
11
|
+
|
|
12
|
+
**Downside**: 30s latency on average. Acceptable for documentation/wiki use case.
|
|
13
|
+
|
|
14
|
+
## Static HTML Dashboard vs Dynamic SPA
|
|
15
|
+
|
|
16
|
+
**Choice**: Single self-contained `index.html` with embedded JS that fetches/parses local `.md` files (via `fetch` + marked.js or simple regex, or pre-generated JSON).
|
|
17
|
+
|
|
18
|
+
**Why**:
|
|
19
|
+
- No build step, no server, no npm.
|
|
20
|
+
- Can be opened directly from disk (`file://`).
|
|
21
|
+
- Extremely fast to render even for thousands of files.
|
|
22
|
+
|
|
23
|
+
**Future option**: A small Node script can be added later to pre-render the dashboard into a richer `dist/index.html` without changing the core zero-dep contract.
|
|
24
|
+
|
|
25
|
+
## Semantic `record-change` vs Pure Git History
|
|
26
|
+
|
|
27
|
+
**Choice**: We still encourage `record-change` even when the user is also using git.
|
|
28
|
+
|
|
29
|
+
**Why**:
|
|
30
|
+
- Git tells you *what* changed.
|
|
31
|
+
- `record-change` tells the LLM *why* the change was made and the reasoning at decision time.
|
|
32
|
+
- This "intent log" is gold for future agents doing archaeology or refactoring.
|
|
33
|
+
|
|
34
|
+
## Health Matrix as Single Markdown Table
|
|
35
|
+
|
|
36
|
+
**Choice**: One `file_health.md` with a Markdown table rather than per-file frontmatter or a JSON blob.
|
|
37
|
+
|
|
38
|
+
**Why**:
|
|
39
|
+
- LLMs read Markdown natively with perfect fidelity.
|
|
40
|
+
- Humans can read it directly in any editor.
|
|
41
|
+
- Easy to append with `>>` in shell.
|
|
42
|
+
- Git diffs are human-readable.
|
|
43
|
+
|
|
44
|
+
## Directory-Based Logged Issues
|
|
45
|
+
|
|
46
|
+
**Choice**: Nested folders `Logged_issues/{severity}/{category}/` instead of tags or a single SQLite DB.
|
|
47
|
+
|
|
48
|
+
**Why**:
|
|
49
|
+
- Pure filesystem navigation — works in every tool.
|
|
50
|
+
- LLMs can `ls` or `find` to discover issues quickly.
|
|
51
|
+
- Easy to split large files when a category grows.
|
|
52
|
+
|
|
53
|
+
## No Code in Wiki MD Files
|
|
54
|
+
|
|
55
|
+
**Choice**: Wiki summary files contain only filename + imports + prose purpose. Zero source code.
|
|
56
|
+
|
|
57
|
+
**Why**:
|
|
58
|
+
- Massive token savings.
|
|
59
|
+
- Prevents the LLM from being distracted by implementation details when it only needs architecture.
|
|
60
|
+
- The real source of truth remains the original files.
|
|
61
|
+
|
|
62
|
+
## Heartbeat Wakes the LLM (Conceptual)
|
|
63
|
+
|
|
64
|
+
The monitor loop can create a sentinel file `.wikifier_staging/work_ready`. When an LLM starts a new session it sees this and knows to run `check-changes` + triage Yellow/Red items immediately. This is the "LLM can sleep" pattern requested in the spec.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
These tradeoffs keep Wikifier true to its core promise: **maximum compatibility + agent autonomy + zero external dependencies**.
|