@aladac/hu 0.1.0-a1
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.
- package/.tool-versions +1 -0
- package/CLAUDE.md +122 -0
- package/HOOKS-DATA-INTEGRATION.md +457 -0
- package/SAMPLE.md +378 -0
- package/TODO.md +25 -0
- package/biome.json +51 -0
- package/commands/bootstrap.md +13 -0
- package/commands/c.md +1 -0
- package/commands/check-name.md +62 -0
- package/commands/disk.md +141 -0
- package/commands/docs/archive.md +27 -0
- package/commands/docs/check-internal.md +53 -0
- package/commands/docs/cleanup.md +65 -0
- package/commands/docs/consolidate.md +72 -0
- package/commands/docs/get.md +101 -0
- package/commands/docs/list.md +61 -0
- package/commands/docs/sync.md +64 -0
- package/commands/docs/update.md +49 -0
- package/commands/plans/clear.md +23 -0
- package/commands/plans/create.md +71 -0
- package/commands/plans/list.md +21 -0
- package/commands/plans/sync.md +38 -0
- package/commands/reinstall.md +20 -0
- package/commands/replicate.md +303 -0
- package/commands/warp.md +0 -0
- package/doc/README.md +35 -0
- package/doc/claude-code/capabilities.md +202 -0
- package/doc/claude-code/directory-structure.md +246 -0
- package/doc/claude-code/hooks.md +348 -0
- package/doc/claude-code/overview.md +109 -0
- package/doc/claude-code/plugins.md +273 -0
- package/doc/claude-code/sdk-protocols.md +202 -0
- package/document-manifest.toml +29 -0
- package/justfile +39 -0
- package/package.json +33 -0
- package/plans/compiled-watching-feather.md +217 -0
- package/plans/crispy-crafting-pnueli.md +103 -0
- package/plans/greedy-booping-coral.md +146 -0
- package/plans/imperative-sleeping-flamingo.md +192 -0
- package/plans/jaunty-sprouting-marble.md +171 -0
- package/plans/jiggly-discovering-lake.md +68 -0
- package/plans/magical-nibbling-spark.md +144 -0
- package/plans/mellow-kindling-acorn.md +110 -0
- package/plans/recursive-questing-engelbart.md +65 -0
- package/plans/serialized-roaming-kernighan.md +227 -0
- package/plans/structured-wondering-wirth.md +230 -0
- package/plans/vectorized-dreaming-iverson.md +191 -0
- package/plans/velvety-enchanting-ocean.md +92 -0
- package/plans/wiggly-sparking-pixel.md +48 -0
- package/plans/zippy-shimmying-fox.md +188 -0
- package/plugins/installed_plugins.json +4 -0
- package/sample-hooks.json +298 -0
- package/settings.json +24 -0
- package/settings.local.json +7 -0
- package/src/commands/bump.ts +130 -0
- package/src/commands/disk.ts +419 -0
- package/src/commands/docs.ts +729 -0
- package/src/commands/plans.ts +259 -0
- package/src/commands/utils.ts +299 -0
- package/src/index.ts +26 -0
- package/src/lib/colors.ts +87 -0
- package/src/lib/exec.ts +25 -0
- package/src/lib/fs.ts +119 -0
- package/src/lib/html.ts +205 -0
- package/src/lib/spinner.ts +42 -0
- package/src/types/index.ts +61 -0
- package/tests/lib/colors.test.ts +69 -0
- package/tests/lib/fs.test.ts +65 -0
- package/tsconfig.json +20 -0
- package/vitest.config.ts +15 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
Check status of system documents. No arguments.
|
|
2
|
+
|
|
3
|
+
Reports on the presence and status of system documents that are normally ignored by docs commands.
|
|
4
|
+
|
|
5
|
+
## System Documents
|
|
6
|
+
|
|
7
|
+
These files are ignored by other docs commands unless explicitly requested:
|
|
8
|
+
|
|
9
|
+
**Internal project files:**
|
|
10
|
+
- `MODELS.md` - Model definitions, schemas, data structures
|
|
11
|
+
- `PLAN.md` - Project planning, roadmap, milestones
|
|
12
|
+
- `TODO.md` - Task tracking, action items
|
|
13
|
+
- `TEST.md` - Test plans, test results, coverage notes
|
|
14
|
+
- `REFACTOR.md` - Refactoring notes, technical debt tracking
|
|
15
|
+
|
|
16
|
+
**Standard repo files:**
|
|
17
|
+
- `README.md` - Project readme
|
|
18
|
+
- `CLAUDE.md` - Claude configuration
|
|
19
|
+
- `LICENSE.md` - License file
|
|
20
|
+
- `CHANGELOG.md` - Change history
|
|
21
|
+
- `CONTRIBUTING.md` - Contribution guidelines
|
|
22
|
+
|
|
23
|
+
**Not documentation:**
|
|
24
|
+
- `.claude/commands/**/*.md` - These are slash commands, NOT docs
|
|
25
|
+
|
|
26
|
+
## Implementation
|
|
27
|
+
|
|
28
|
+
Use `hu docs check`:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Default: markdown table output
|
|
32
|
+
hu docs check
|
|
33
|
+
|
|
34
|
+
# JSON output for parsing
|
|
35
|
+
hu docs check -j
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
The script automatically:
|
|
39
|
+
- Scans repo root for all system documents
|
|
40
|
+
- Reports size, lines, modified date
|
|
41
|
+
- Counts checkboxes in TODO.md/PLAN.md
|
|
42
|
+
- Outputs summary of found documents
|
|
43
|
+
|
|
44
|
+
## Manifest
|
|
45
|
+
|
|
46
|
+
The document manifest at `./document-manifest.toml` (repo root) tracks external documentation.
|
|
47
|
+
System documents are NOT tracked in the manifest - they are repo-specific files.
|
|
48
|
+
|
|
49
|
+
## Notes
|
|
50
|
+
|
|
51
|
+
- This command is READ-ONLY - it never modifies any files
|
|
52
|
+
- Use this to check project status before running cleanup/archive commands
|
|
53
|
+
- To work with these files, explicitly name them in other commands
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
Clean up markdown files in current repo. Arguments: [file...] or no args for auto-detect
|
|
2
|
+
|
|
3
|
+
## ⚠️ SYSTEM DOCUMENTS - DO NOT TOUCH
|
|
4
|
+
|
|
5
|
+
The following are **SYSTEM DOCUMENTS** and are **OFF-LIMITS** unless the user explicitly asks you to work with them:
|
|
6
|
+
|
|
7
|
+
**Internal project files:**
|
|
8
|
+
- `MODELS.md` - Model definitions, schemas
|
|
9
|
+
- `PLAN.md` - Project planning, roadmap
|
|
10
|
+
- `TODO.md` - Task tracking
|
|
11
|
+
- `TEST.md` - Test plans, results
|
|
12
|
+
- `REFACTOR.md` - Refactoring notes, tech debt
|
|
13
|
+
|
|
14
|
+
**Standard repo files:**
|
|
15
|
+
- `README.md` - Project readme
|
|
16
|
+
- `CLAUDE.md` - Claude configuration
|
|
17
|
+
- `LICENSE.md` - License file
|
|
18
|
+
- `CHANGELOG.md` - Change history
|
|
19
|
+
- `CONTRIBUTING.md` - Contribution guidelines
|
|
20
|
+
|
|
21
|
+
**Not documentation:**
|
|
22
|
+
- `.claude/commands/**/*.md` - These are slash commands, NOT docs
|
|
23
|
+
|
|
24
|
+
All system documents must be completely ignored unless specifically named by the user.
|
|
25
|
+
|
|
26
|
+
- With files: process specified files
|
|
27
|
+
- Without: find and process all stray markdown in repo root
|
|
28
|
+
|
|
29
|
+
Example: `/docs:cleanup` or `/docs:cleanup NOTES.md TODO.md`
|
|
30
|
+
|
|
31
|
+
## Auto-detect mode
|
|
32
|
+
|
|
33
|
+
1. Find markdown files in repo root
|
|
34
|
+
2. Exclude: README.md, CLAUDE.md, LICENSE.md, CHANGELOG.md, CONTRIBUTING.md
|
|
35
|
+
3. Process each file found
|
|
36
|
+
|
|
37
|
+
## For each file
|
|
38
|
+
|
|
39
|
+
1. Read and analyze content
|
|
40
|
+
2. Check if outdated, deprecated, or stale
|
|
41
|
+
3. Remove redundancy, trim verbose sections
|
|
42
|
+
|
|
43
|
+
**TODO.md and PLAN.md** (progress trackers):
|
|
44
|
+
- Remove completed items (`[x]`)
|
|
45
|
+
- Keep only incomplete items (`[ ]`)
|
|
46
|
+
- Update summary tables
|
|
47
|
+
- If ALL complete: DELETE file
|
|
48
|
+
- If incomplete remain: rewrite with only pending
|
|
49
|
+
|
|
50
|
+
**Standard docs**:
|
|
51
|
+
- If valuable: refine and move to `./doc/` with clean name
|
|
52
|
+
- If no value: delete
|
|
53
|
+
|
|
54
|
+
## Manifest
|
|
55
|
+
|
|
56
|
+
Update `./document-manifest.toml` (repo root) when:
|
|
57
|
+
- Moving files to `./doc/` - add new entry
|
|
58
|
+
- Deleting files - remove entry if present
|
|
59
|
+
|
|
60
|
+
## Commits
|
|
61
|
+
|
|
62
|
+
After each file change:
|
|
63
|
+
```
|
|
64
|
+
git add <file> && git commit -m "docs: clean up {filename}"
|
|
65
|
+
```
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
Consolidate and merge documentation files. Arguments: [location]
|
|
2
|
+
|
|
3
|
+
## ⚠️ SYSTEM DOCUMENTS - DO NOT TOUCH
|
|
4
|
+
|
|
5
|
+
The following are **SYSTEM DOCUMENTS** and are **OFF-LIMITS** unless the user explicitly asks you to work with them:
|
|
6
|
+
|
|
7
|
+
**Internal project files:**
|
|
8
|
+
- `MODELS.md` - Model definitions, schemas
|
|
9
|
+
- `PLAN.md` - Project planning, roadmap
|
|
10
|
+
- `TODO.md` - Task tracking
|
|
11
|
+
- `TEST.md` - Test plans, results
|
|
12
|
+
- `REFACTOR.md` - Refactoring notes, tech debt
|
|
13
|
+
|
|
14
|
+
**Standard repo files:**
|
|
15
|
+
- `README.md` - Project readme
|
|
16
|
+
- `CLAUDE.md` - Claude configuration
|
|
17
|
+
- `LICENSE.md` - License file
|
|
18
|
+
- `CHANGELOG.md` - Change history
|
|
19
|
+
- `CONTRIBUTING.md` - Contribution guidelines
|
|
20
|
+
|
|
21
|
+
**Not documentation:**
|
|
22
|
+
- `.claude/commands/**/*.md` - These are slash commands, NOT docs
|
|
23
|
+
|
|
24
|
+
All system documents must be completely ignored by this command.
|
|
25
|
+
|
|
26
|
+
- No argument: consolidate `./doc/`
|
|
27
|
+
- "global": consolidate `~/.claude/documents/`
|
|
28
|
+
|
|
29
|
+
Example: `/docs:consolidate` or `/docs:consolidate global`
|
|
30
|
+
|
|
31
|
+
## Process
|
|
32
|
+
|
|
33
|
+
1. Read all markdown files in target directory
|
|
34
|
+
2. Analyze each file:
|
|
35
|
+
- Still relevant?
|
|
36
|
+
- Redundant with another file?
|
|
37
|
+
- Can merge with related file?
|
|
38
|
+
|
|
39
|
+
## Consolidation rules
|
|
40
|
+
|
|
41
|
+
- **Merge related**: Same topic = merge into one
|
|
42
|
+
- **Single-word names**: Rename to uppercase words (`EXTRACTION.md`, `MODELS.md`)
|
|
43
|
+
- **Delete outdated**: Remove obsolete content
|
|
44
|
+
- **Delete stubs**: Remove minimal-value files
|
|
45
|
+
|
|
46
|
+
## For global docs
|
|
47
|
+
|
|
48
|
+
Cross-project consolidation:
|
|
49
|
+
- If files across projects share themes, merge into `_consolidated/`
|
|
50
|
+
- Use descriptive names: `PATTERNS.md`, `LEARNINGS.md`
|
|
51
|
+
|
|
52
|
+
## Subdirectories
|
|
53
|
+
|
|
54
|
+
Create when 3+ files share a theme:
|
|
55
|
+
- `doc/arch/` - Architecture docs
|
|
56
|
+
- `doc/plans/` - Implementation plans
|
|
57
|
+
- `doc/testing/` - Test reports
|
|
58
|
+
|
|
59
|
+
## Manifest
|
|
60
|
+
|
|
61
|
+
Update the manifest when consolidating:
|
|
62
|
+
- Project: `./document-manifest.toml` (repo root)
|
|
63
|
+
- Global: `~/.claude/documents/manifest.toml`
|
|
64
|
+
|
|
65
|
+
When merging/renaming/deleting, update manifest entries accordingly.
|
|
66
|
+
|
|
67
|
+
## Commits
|
|
68
|
+
|
|
69
|
+
After each change:
|
|
70
|
+
- Merge: `git add <files> && git commit -m "docs: merge {source} into {target}"`
|
|
71
|
+
- Rename: `git mv <old> <new> && git commit -m "docs: rename {old} to {new}"`
|
|
72
|
+
- Delete: `git rm <file> && git commit -m "docs: remove {filename}"`
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
Fetch documentation from the web and store locally. Arguments: subject [location]
|
|
2
|
+
|
|
3
|
+
## ⚠️ SYSTEM DOCUMENTS - DO NOT TOUCH
|
|
4
|
+
|
|
5
|
+
The following are **SYSTEM DOCUMENTS** and are **OFF-LIMITS** unless the user explicitly asks you to work with them:
|
|
6
|
+
|
|
7
|
+
**Internal project files:**
|
|
8
|
+
- `MODELS.md` - Model definitions, schemas
|
|
9
|
+
- `PLAN.md` - Project planning, roadmap
|
|
10
|
+
- `TODO.md` - Task tracking
|
|
11
|
+
- `TEST.md` - Test plans, results
|
|
12
|
+
- `REFACTOR.md` - Refactoring notes, tech debt
|
|
13
|
+
|
|
14
|
+
**Standard repo files:**
|
|
15
|
+
- `README.md` - Project readme
|
|
16
|
+
- `CLAUDE.md` - Claude configuration
|
|
17
|
+
- `LICENSE.md` - License file
|
|
18
|
+
- `CHANGELOG.md` - Change history
|
|
19
|
+
- `CONTRIBUTING.md` - Contribution guidelines
|
|
20
|
+
|
|
21
|
+
**Not documentation:**
|
|
22
|
+
- `.claude/commands/**/*.md` - These are slash commands, NOT docs
|
|
23
|
+
|
|
24
|
+
All system documents must be completely ignored by this command.
|
|
25
|
+
|
|
26
|
+
- `location` can be a category name or "global"
|
|
27
|
+
- Without location: stores in `./doc/{slug}.md`
|
|
28
|
+
- With category: stores in `./doc/{category}/{slug}.md`
|
|
29
|
+
- With "global": stores in `~/.claude/documents/{slug}.md`
|
|
30
|
+
|
|
31
|
+
Example: `/docs:get "React hooks"` or `/docs:get "JWT auth" auth` or `/docs:get "Claude API" global`
|
|
32
|
+
|
|
33
|
+
## Process
|
|
34
|
+
|
|
35
|
+
1. **Parse arguments**:
|
|
36
|
+
- `subject`: Topic to search for (required)
|
|
37
|
+
- `location`: Category subfolder, or "global" for `~/.claude/documents/`
|
|
38
|
+
|
|
39
|
+
2. **Determine destination**:
|
|
40
|
+
- No location: `./doc/{slug}.md`
|
|
41
|
+
- Category: `./doc/{category}/{slug}.md`
|
|
42
|
+
- "global": `~/.claude/documents/{slug}.md`
|
|
43
|
+
|
|
44
|
+
3. **Search the web** using WebSearch
|
|
45
|
+
- Prefer official docs over blog posts
|
|
46
|
+
|
|
47
|
+
4. **Fetch primary source** using `hu utils fetch-html`:
|
|
48
|
+
```bash
|
|
49
|
+
hu utils fetch-html <url> -c
|
|
50
|
+
```
|
|
51
|
+
- The `-c` flag enables extra cleaning (removes nav, footer, ads)
|
|
52
|
+
- For specific content areas, use `-s <selector>`: `hu utils fetch-html <url> -c -s "article.main"`
|
|
53
|
+
- Start with the best/most authoritative result
|
|
54
|
+
|
|
55
|
+
5. **Follow reference links** for completeness:
|
|
56
|
+
- Identify key reference links in the fetched content (e.g., "See also", API references, tutorials)
|
|
57
|
+
- Fetch 1-3 additional links using `hu utils fetch-html <url> -c`
|
|
58
|
+
- Skip links that would duplicate content or are too verbose
|
|
59
|
+
- Merge useful content into a single cohesive document
|
|
60
|
+
- Note: Only follow links that add distinct value (examples, API details, configuration options)
|
|
61
|
+
|
|
62
|
+
6. **Generate filename**: Slugify the subject
|
|
63
|
+
- Lowercase, hyphens, no special chars
|
|
64
|
+
- Example: "PostgreSQL indexes" → `postgresql-indexes.md`
|
|
65
|
+
|
|
66
|
+
7. **Format the file**:
|
|
67
|
+
```markdown
|
|
68
|
+
---
|
|
69
|
+
source: {primary_url}
|
|
70
|
+
additional_sources:
|
|
71
|
+
- {url2}
|
|
72
|
+
- {url3}
|
|
73
|
+
fetched: {YYYY-MM-DD}
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
# {Subject Title}
|
|
77
|
+
|
|
78
|
+
{content}
|
|
79
|
+
```
|
|
80
|
+
Note: `additional_sources` only included if reference links were followed
|
|
81
|
+
|
|
82
|
+
8. **Update manifest**:
|
|
83
|
+
- Project: `./document-manifest.toml` (repo root)
|
|
84
|
+
- Global: `~/.claude/documents/manifest.toml`
|
|
85
|
+
- Format (TOML):
|
|
86
|
+
```toml
|
|
87
|
+
[[docs]]
|
|
88
|
+
path = "{path}"
|
|
89
|
+
source = "{url}"
|
|
90
|
+
fetched = "{YYYY-MM-DD}"
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
9. **Update README** (project only):
|
|
94
|
+
- Add to tree structure in `./doc/README.md`
|
|
95
|
+
- Add row to appropriate table
|
|
96
|
+
|
|
97
|
+
10. **Commit**:
|
|
98
|
+
- Project: `git add ./doc/ && git commit -m "docs: add {subject} reference"`
|
|
99
|
+
- Global: no commit needed
|
|
100
|
+
|
|
101
|
+
11. **Report** saved location and summary
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
List documentation files. Arguments: [location]
|
|
2
|
+
|
|
3
|
+
## ⚠️ SYSTEM DOCUMENTS - DO NOT TOUCH
|
|
4
|
+
|
|
5
|
+
The following are **SYSTEM DOCUMENTS** and are **OFF-LIMITS** unless the user explicitly asks you to work with them:
|
|
6
|
+
|
|
7
|
+
**Internal project files:**
|
|
8
|
+
- `MODELS.md` - Model definitions, schemas
|
|
9
|
+
- `PLAN.md` - Project planning, roadmap
|
|
10
|
+
- `TODO.md` - Task tracking
|
|
11
|
+
- `TEST.md` - Test plans, results
|
|
12
|
+
- `REFACTOR.md` - Refactoring notes, tech debt
|
|
13
|
+
|
|
14
|
+
**Standard repo files:**
|
|
15
|
+
- `README.md` - Project readme
|
|
16
|
+
- `CLAUDE.md` - Claude configuration
|
|
17
|
+
- `LICENSE.md` - License file
|
|
18
|
+
- `CHANGELOG.md` - Change history
|
|
19
|
+
- `CONTRIBUTING.md` - Contribution guidelines
|
|
20
|
+
|
|
21
|
+
**Not documentation:**
|
|
22
|
+
- `.claude/commands/**/*.md` - These are slash commands, NOT docs
|
|
23
|
+
|
|
24
|
+
All system documents must be completely ignored by this command.
|
|
25
|
+
|
|
26
|
+
- No argument: list project docs (`./doc/`)
|
|
27
|
+
- "global": list global docs (`~/.claude/documents/`)
|
|
28
|
+
- "all": list both locations
|
|
29
|
+
- "repo": list all markdown in current repo
|
|
30
|
+
|
|
31
|
+
Example: `/docs:list` or `/docs:list global` or `/docs:list repo`
|
|
32
|
+
|
|
33
|
+
## Implementation
|
|
34
|
+
|
|
35
|
+
Use `hu docs list`:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Project docs (default)
|
|
39
|
+
hu docs list
|
|
40
|
+
|
|
41
|
+
# Global docs
|
|
42
|
+
hu docs list global
|
|
43
|
+
|
|
44
|
+
# Both locations
|
|
45
|
+
hu docs list all
|
|
46
|
+
|
|
47
|
+
# All repo markdown (excludes system docs)
|
|
48
|
+
hu docs list repo
|
|
49
|
+
|
|
50
|
+
# JSON output for parsing
|
|
51
|
+
hu docs list -j
|
|
52
|
+
hu docs list repo -j
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
The script outputs a markdown table with: File, Title, Size, Lines, Modified, Source
|
|
56
|
+
|
|
57
|
+
## Manifest
|
|
58
|
+
|
|
59
|
+
The document manifest is located at:
|
|
60
|
+
- Project: `./document-manifest.toml` (repo root)
|
|
61
|
+
- Global: `~/.claude/documents/manifest.toml`
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
Sync and update downloaded documentation. Arguments: [file|category|"all"]
|
|
2
|
+
|
|
3
|
+
Re-fetches documentation sources to expand and update with new information.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
- `/docs:sync` - Sync all docs in current project
|
|
8
|
+
- `/docs:sync all` - Sync all docs (project + global)
|
|
9
|
+
- `/docs:sync auth` - Sync all docs in `./doc/auth/` category
|
|
10
|
+
- `/docs:sync ./doc/react-hooks.md` - Sync specific file
|
|
11
|
+
- `/docs:sync global` - Sync only global docs (`~/.claude/documents/`)
|
|
12
|
+
|
|
13
|
+
## CLI Tools Available
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Scan docs to see what needs updating
|
|
17
|
+
hu docs scan [target] [-j]
|
|
18
|
+
|
|
19
|
+
# Fetch fresh content from a URL
|
|
20
|
+
hu utils fetch-html <url> -c
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Process
|
|
24
|
+
|
|
25
|
+
1. **Identify targets** using `hu docs scan [target] -j`:
|
|
26
|
+
- Returns JSON with source URLs, fetched dates, staleness status
|
|
27
|
+
- Focus on docs where `source` exists and status is "stale"
|
|
28
|
+
|
|
29
|
+
2. **For each stale doc**:
|
|
30
|
+
- Fetch fresh content: `hu utils fetch-html <source_url> -c`
|
|
31
|
+
- Compare with existing content
|
|
32
|
+
- If meaningfully changed, update the file
|
|
33
|
+
|
|
34
|
+
3. **Check for new reference links**:
|
|
35
|
+
- Identify links in fetched content not in `additional_sources`
|
|
36
|
+
- Fetch 1-3 promising new links
|
|
37
|
+
- Add valuable new content
|
|
38
|
+
|
|
39
|
+
4. **Re-fetch existing additional sources**:
|
|
40
|
+
- Fetch each additional source URL
|
|
41
|
+
- Update if changed, remove if 404
|
|
42
|
+
|
|
43
|
+
5. **Update frontmatter**:
|
|
44
|
+
- Set `fetched` date to today (YYYY-MM-DD)
|
|
45
|
+
- Add/remove `additional_sources` as needed
|
|
46
|
+
|
|
47
|
+
6. **Commit changes** (project only):
|
|
48
|
+
```bash
|
|
49
|
+
git add ./doc/ ./document-manifest.toml
|
|
50
|
+
git commit -m "docs: sync {n} documents"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Change Detection
|
|
54
|
+
|
|
55
|
+
Consider content "changed" if:
|
|
56
|
+
- New sections or headings added
|
|
57
|
+
- Code examples modified
|
|
58
|
+
- API signatures changed
|
|
59
|
+
- Deprecation notices added
|
|
60
|
+
|
|
61
|
+
Ignore:
|
|
62
|
+
- Minor wording tweaks
|
|
63
|
+
- Formatting/whitespace changes
|
|
64
|
+
- Navigation elements
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
Update downloaded documentation from sources. Arguments: [target]
|
|
2
|
+
|
|
3
|
+
Simple refresh of existing docs from their source URLs.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
- `/docs:update` - Update project docs
|
|
8
|
+
- `/docs:update global` - Update global docs
|
|
9
|
+
- `/docs:update all` - Update everything
|
|
10
|
+
- `/docs:update doc/api.md` - Update specific file
|
|
11
|
+
|
|
12
|
+
## CLI Tools Available
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# Scan to find docs with sources
|
|
16
|
+
hu docs scan [target] [-j]
|
|
17
|
+
|
|
18
|
+
# Fetch fresh content
|
|
19
|
+
hu utils fetch-html <url> -c
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Process
|
|
23
|
+
|
|
24
|
+
1. **Scan targets**: `hu docs scan [target] -j`
|
|
25
|
+
- Get list of docs with source URLs
|
|
26
|
+
|
|
27
|
+
2. **For each doc with a source**:
|
|
28
|
+
- Fetch: `hu utils fetch-html <source_url> -c`
|
|
29
|
+
- Compare with existing file
|
|
30
|
+
- If changed: update content and `fetched` date in frontmatter
|
|
31
|
+
|
|
32
|
+
3. **Update frontmatter**:
|
|
33
|
+
```yaml
|
|
34
|
+
---
|
|
35
|
+
source: https://example.com/docs
|
|
36
|
+
fetched: 2026-01-13
|
|
37
|
+
---
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
4. **Commit** (project only):
|
|
41
|
+
```bash
|
|
42
|
+
git add ./doc/
|
|
43
|
+
git commit -m "docs: update documentation"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Difference from /docs:sync
|
|
47
|
+
|
|
48
|
+
- **update**: Simple refresh from existing sources only
|
|
49
|
+
- **sync**: Also follows new links, expands content, more intelligent merging
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Delete all plans from `~/.claude/plans/`.
|
|
2
|
+
|
|
3
|
+
## Process
|
|
4
|
+
|
|
5
|
+
1. List all `.md` files in `~/.claude/plans/`
|
|
6
|
+
2. If none exist, inform user and stop
|
|
7
|
+
3. Show plans to delete (filename and title)
|
|
8
|
+
4. Ask for confirmation
|
|
9
|
+
5. Delete all `.md` files
|
|
10
|
+
6. Confirm with count
|
|
11
|
+
|
|
12
|
+
## Example
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
Found 3 plans to delete:
|
|
16
|
+
- crispy-crafting-pnueli.md - Generate GLaDOS Persona
|
|
17
|
+
- magical-nibbling-spark.md - Context Detection
|
|
18
|
+
- mellow-kindling-acorn.md - Documentation Indexing
|
|
19
|
+
|
|
20
|
+
Delete all 3 plans? (This cannot be undone)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Run this now.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
Create implementation plan from user requirements.
|
|
2
|
+
|
|
3
|
+
## Pre-Check
|
|
4
|
+
|
|
5
|
+
If `./PLAN.md` or `./TODO.md` exist and are non-empty:
|
|
6
|
+
1. Read existing file(s)
|
|
7
|
+
2. Output summary before proceeding:
|
|
8
|
+
```
|
|
9
|
+
## Existing Plan Summary
|
|
10
|
+
- **Feature**: [name from existing plan]
|
|
11
|
+
- **Phases**: [count] ([list phase names])
|
|
12
|
+
- **Steps**: [total count]
|
|
13
|
+
- **Status**: [count completed]/[total] steps done (from TODO.md checkboxes)
|
|
14
|
+
```
|
|
15
|
+
3. Ask user: "Overwrite existing plan or append new phase?"
|
|
16
|
+
|
|
17
|
+
## Task
|
|
18
|
+
|
|
19
|
+
1. Create or overwrite `./PLAN.md` with structured implementation plan
|
|
20
|
+
2. Create or overwrite `./TODO.md` with checklist summary
|
|
21
|
+
|
|
22
|
+
## Output Format
|
|
23
|
+
|
|
24
|
+
### PLAN.md Structure
|
|
25
|
+
|
|
26
|
+
```markdown
|
|
27
|
+
# Plan: [Feature Name]
|
|
28
|
+
|
|
29
|
+
## Phase 1: [Phase Name]
|
|
30
|
+
|
|
31
|
+
### Description
|
|
32
|
+
[One paragraph explaining phase objective and deliverables]
|
|
33
|
+
|
|
34
|
+
### Steps
|
|
35
|
+
|
|
36
|
+
#### Step 1.1: [Step Name]
|
|
37
|
+
- **Objective**: [Single sentence goal]
|
|
38
|
+
- **Files**: [List of files to create/modify]
|
|
39
|
+
- **Dependencies**: [Prerequisites or None]
|
|
40
|
+
- **Implementation**:
|
|
41
|
+
- [Specific action 1]
|
|
42
|
+
- [Specific action 2]
|
|
43
|
+
|
|
44
|
+
#### Step 1.2: [Step Name]
|
|
45
|
+
[Same structure]
|
|
46
|
+
|
|
47
|
+
## Phase 2: [Phase Name]
|
|
48
|
+
[Same structure]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### TODO.md Structure
|
|
52
|
+
|
|
53
|
+
```markdown
|
|
54
|
+
# TODO: [Feature Name]
|
|
55
|
+
|
|
56
|
+
## Phase 1: [Phase Name]
|
|
57
|
+
- [ ] Step 1.1: [Step Name]
|
|
58
|
+
- [ ] Step 1.2: [Step Name]
|
|
59
|
+
|
|
60
|
+
## Phase 2: [Phase Name]
|
|
61
|
+
- [ ] Step 2.1: [Step Name]
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Guidelines
|
|
65
|
+
|
|
66
|
+
- Split phases by logical milestones or deployable increments
|
|
67
|
+
- Each step should be completable in one focused session
|
|
68
|
+
- Include file paths relative to project root
|
|
69
|
+
- List dependencies explicitly between steps
|
|
70
|
+
- Use imperative verbs: Create, Implement, Add, Update, Configure
|
|
71
|
+
- Omit explanatory prose; prioritize actionable specifics
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
List saved plans from `~/.claude/plans/`.
|
|
2
|
+
|
|
3
|
+
## Implementation
|
|
4
|
+
|
|
5
|
+
Use `hu plans list`:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Default: formatted output with titles and bullets
|
|
9
|
+
hu plans list
|
|
10
|
+
|
|
11
|
+
# Full preview (more bullets)
|
|
12
|
+
hu plans list -f
|
|
13
|
+
|
|
14
|
+
# Simple list (filenames only)
|
|
15
|
+
hu plans list -s
|
|
16
|
+
|
|
17
|
+
# JSON output
|
|
18
|
+
hu plans list -j
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Run the command now and display its output.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
Sync TODO.md and PLAN.md progress trackers in current repo.
|
|
2
|
+
|
|
3
|
+
Removes completed items, keeps only pending work.
|
|
4
|
+
|
|
5
|
+
## Implementation
|
|
6
|
+
|
|
7
|
+
Use `hu utils sync-checkboxes`:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Process TODO.md and PLAN.md (default)
|
|
11
|
+
hu utils sync-checkboxes
|
|
12
|
+
|
|
13
|
+
# Dry run - show what would change
|
|
14
|
+
hu utils sync-checkboxes -d
|
|
15
|
+
|
|
16
|
+
# Verbose output
|
|
17
|
+
hu utils sync-checkboxes -v
|
|
18
|
+
|
|
19
|
+
# Process specific files
|
|
20
|
+
hu utils sync-checkboxes TODO.md
|
|
21
|
+
hu utils sync-checkboxes ./path/to/file.md
|
|
22
|
+
|
|
23
|
+
# JSON output
|
|
24
|
+
hu utils sync-checkboxes -j
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Cleanup rules
|
|
28
|
+
|
|
29
|
+
- Section ALL complete → remove entire section
|
|
30
|
+
- Section SOME complete → keep section, remove completed items
|
|
31
|
+
- File ALL complete → DELETE file
|
|
32
|
+
- Preserve structure for remaining work
|
|
33
|
+
|
|
34
|
+
## Commits
|
|
35
|
+
|
|
36
|
+
After running the script, commit changes:
|
|
37
|
+
- Modified: `git add <file> && git commit -m "sync: remove completed from {filename}"`
|
|
38
|
+
- Deleted: `git rm <file> && git commit -m "sync: {filename} complete, removing"`
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Reinstall hu from source.
|
|
2
|
+
|
|
3
|
+
## Command
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
cd ~/.claude && npm install && npm link
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
This will:
|
|
10
|
+
1. Install/update dependencies from package.json
|
|
11
|
+
2. Rebuild TypeScript via tsx
|
|
12
|
+
3. Update global symlink for `hu` binary
|
|
13
|
+
|
|
14
|
+
## Verify
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
hu --help
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Run the reinstall now.
|