@theglitchking/persistent-planning 3.0.1 → 3.4.0

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 (76) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.documentation/INDEX.md +224 -0
  4. package/.documentation/README.md +90 -0
  5. package/.documentation/REGISTRY.md +80 -0
  6. package/.documentation/agents/INDEX.md +43 -0
  7. package/.documentation/agents/REGISTRY.md +38 -0
  8. package/.documentation/api/INDEX.md +43 -0
  9. package/.documentation/api/REGISTRY.md +38 -0
  10. package/.documentation/architecture/INDEX.md +50 -0
  11. package/.documentation/architecture/REGISTRY.md +57 -0
  12. package/{docs/reference.md → .documentation/architecture/context-engineering-principles.md} +20 -1
  13. package/{docs → .documentation/architecture}/lg-mode.md +33 -8
  14. package/.documentation/architecture/lg-plan-artifact-lifecycle.md +104 -0
  15. package/.documentation/architecture/skill-linking-and-reclaim.md +84 -0
  16. package/.documentation/archive/README.md +46 -0
  17. package/.documentation/backups/INDEX.md +43 -0
  18. package/.documentation/backups/REGISTRY.md +38 -0
  19. package/.documentation/database/INDEX.md +43 -0
  20. package/.documentation/database/REGISTRY.md +38 -0
  21. package/.documentation/devops/INDEX.md +43 -0
  22. package/.documentation/devops/REGISTRY.md +38 -0
  23. package/.documentation/drafts/.gitkeep +1 -0
  24. package/.documentation/features/INDEX.md +43 -0
  25. package/.documentation/features/REGISTRY.md +38 -0
  26. package/.documentation/plans/INDEX.md +43 -0
  27. package/.documentation/plans/REGISTRY.md +38 -0
  28. package/.documentation/procedures/INDEX.md +43 -0
  29. package/.documentation/procedures/REGISTRY.md +53 -0
  30. package/.documentation/procedures/plan-completion-and-archive.md +185 -0
  31. package/.documentation/procedures/plugin-update-delivery.md +99 -0
  32. package/.documentation/quickstart/INDEX.md +42 -0
  33. package/.documentation/quickstart/REGISTRY.md +51 -0
  34. package/{docs → .documentation/quickstart}/examples.md +20 -0
  35. package/.documentation/reference/INDEX.md +49 -0
  36. package/.documentation/reference/REGISTRY.md +55 -0
  37. package/.documentation/reference/mandatory-frontmatter.md +71 -0
  38. package/.documentation/reference/skill-version-marker.md +70 -0
  39. package/{docs → .documentation/reference}/workspace-json.md +11 -5
  40. package/.documentation/security/INDEX.md +43 -0
  41. package/.documentation/security/REGISTRY.md +38 -0
  42. package/.documentation/standards/INDEX.md +43 -0
  43. package/.documentation/standards/REGISTRY.md +53 -0
  44. package/{docs → .documentation/standards}/atom-granularity.md +12 -5
  45. package/.documentation/standards/mandatory-closing-phases.md +145 -0
  46. package/.documentation/testing/INDEX.md +42 -0
  47. package/.documentation/testing/REGISTRY.md +51 -0
  48. package/.documentation/testing/test-suite.md +126 -0
  49. package/.documentation/troubleshooting/INDEX.md +43 -0
  50. package/.documentation/troubleshooting/REGISTRY.md +53 -0
  51. package/.documentation/troubleshooting/plan-never-reads-complete.md +109 -0
  52. package/.documentation/troubleshooting/stale-skill-dir-drift.md +115 -0
  53. package/.documentation/workflows/INDEX.md +43 -0
  54. package/.documentation/workflows/REGISTRY.md +38 -0
  55. package/CHANGELOG.md +198 -0
  56. package/README.md +67 -7
  57. package/bin/persistent-planning.js +56 -6
  58. package/commands/archive-plan.md +66 -0
  59. package/commands/plan-status.md +62 -0
  60. package/commands/start-atom.md +3 -3
  61. package/commands/start-planning.md +2 -2
  62. package/commands/start-task.md +2 -2
  63. package/hooks/session-start.js +191 -8
  64. package/package.json +6 -3
  65. package/scripts/archive-plan.sh +143 -0
  66. package/scripts/init-atom.sh +7 -0
  67. package/scripts/init-phase.sh +58 -6
  68. package/scripts/init-planning.sh +39 -4
  69. package/scripts/init-task.sh +7 -0
  70. package/scripts/lib/planning.sh +122 -0
  71. package/scripts/lib/skill-link.js +177 -0
  72. package/scripts/link-skills.js +38 -0
  73. package/scripts/plan-status.sh +196 -0
  74. package/skills/persistent-planning/SKILL.md +37 -9
  75. package/templates/lg/phase.md +22 -3
  76. package/templates/lg/task.md +4 -3
@@ -0,0 +1,126 @@
1
+ ---
2
+ title: Test Suite
3
+ tier: guide
4
+ domains:
5
+ - testing
6
+ audience:
7
+ - developers
8
+ tags: []
9
+ status: active
10
+ last_updated: '2026-08-31'
11
+ version: 1.0.0
12
+ purpose: What tests/run.sh covers, how to run it, how to add an assertion, and
13
+ why the suite is plain bash rather than a framework.
14
+ estimated_read_time: 3 minutes
15
+ word_count: 450
16
+ last_validated: '2026-08-31'
17
+ backlinks: []
18
+ ---
19
+
20
+ # Test Suite
21
+
22
+ `tests/run.sh` is the whole test suite. It is plain bash with assert helpers —
23
+ no framework, no fixtures, no dependencies beyond what the scripts under test
24
+ already need.
25
+
26
+ ## Why bash and not a framework
27
+
28
+ Everything under test *is* bash. `init-planning.sh`, `init-phase.sh`,
29
+ `init-task.sh`, `init-atom.sh`, and `detect-mode.sh` are shell scripts whose
30
+ observable behavior is "what landed on disk." A JS test runner would add a
31
+ dependency, a config file, and a translation layer between the runner and the
32
+ thing being run, to assert the same `grep`s. The suite stays in the language of
33
+ its subject.
34
+
35
+ The suite is also the thing that makes the
36
+ [mandatory closing phases](../standards/mandatory-closing-phases.md) enforceable rather than
37
+ aspirational: a template edit that pushes a checkbox below the closing pair turns
38
+ the suite red.
39
+
40
+ ## How to run it
41
+
42
+ ```bash
43
+ npm test # preferred
44
+ bash tests/run.sh # identical, no npm needed
45
+ ```
46
+
47
+ Output is one line per assertion and a `N passed, M failed` summary. Exit status
48
+ is non-zero if anything failed, so it drops into CI unchanged.
49
+
50
+ ## What it covers
51
+
52
+ | Group | Asserts |
53
+ |---|---|
54
+ | sm mode | `task_plan.md` + `notes.md` land at the slugified path; the plan seeds 6 phases; validation is second-to-last and documentation is last; the ordering rule text is present; the task name is substituted; re-running does not clobber an edited plan |
55
+ | lg mode | `detect-mode.sh` honors the `workspace.json` override; `phase.md` + `notes.md` are created; the two closing tasks are last and in order; HEWTD `tier: plan` frontmatter is present; no `PLACEHOLDER` tokens survive rendering; `task.md` is created with the right `parent:`; atom `sequence:` auto-increments 1 → 2 |
56
+ | mode guards | `init-phase.sh` exits non-zero in sm mode |
57
+
58
+ Every test runs the real script against a throwaway `CLAUDE_PROJECT_DIR` created
59
+ with `mktemp -d`, then removes it. Nothing touches the repository's own
60
+ `.planning/` tree.
61
+
62
+ ## How to add an assertion
63
+
64
+ Use the helpers already in the file — `assert_eq`, `assert_contains`,
65
+ `assert_file`, and `checkbox_lines` (which extracts the checkbox lines of a named
66
+ markdown section). A new case looks like:
67
+
68
+ ```bash
69
+ WS=$(new_workspace)
70
+ CLAUDE_PROJECT_DIR="$WS" bash "$REPO_DIR/scripts/init-planning.sh" "Some Task" >/dev/null
71
+ assert_contains "$WS/.planning/some-task/task_plan.md" "## Goal" "plan has a Goal section"
72
+ rm -rf "$WS"
73
+ ```
74
+
75
+ **Then prove the assertion can fail.** Break the template on purpose, run
76
+ `npm test`, confirm the new line goes red, and restore it. An assertion that has
77
+ never failed is not known to test anything.
78
+
79
+ ## Failure modes
80
+
81
+ | Symptom | Cause | Fix |
82
+ |---|---|---|
83
+ | `no unsubstituted placeholders remain` fails | A template gained a `*_PLACEHOLDER` token with no matching substitution arg | Add the `KEY=value` pair to the matching `planning_render_and_log` call |
84
+ | `init-phase.sh refuses to run in sm mode` fails | The lg-mode guard was dropped from an init script | Restore the `planning_mode` check |
85
+ | Every lg assertion fails at once | `templates/lg/` not resolvable from the script directory | Check the `TEMPLATE_DIR` fallback chain in the init scripts |
86
+ | Tests pass locally, lg mode broken for installed users | `templates/` or `scripts/` missing from the `files` array in `package.json` | Add them, verify with `npm pack` before publishing |
87
+
88
+ That last row is not hypothetical — it is exactly how v3.0.0 shipped broken.
89
+
90
+
91
+ ## The marketplace-shaped fixture
92
+
93
+ The skill-reclaim tests (issue #10) build a consumer workspace with **no
94
+ `node_modules`**, mirroring a Claude Code marketplace install — the shape that never
95
+ runs npm postinstall, and the shape that was actually broken. Driving the SessionStart
96
+ hook against it proves a repair lands with no `npm install` anywhere in the path.
97
+
98
+ A test that only passes under `npm install` proves nothing about that population. See
99
+ [Plugin update delivery](../procedures/plugin-update-delivery.md).
100
+
101
+ ## Assert by diff, not by feature-grep
102
+
103
+ When checking that generated output matches a template, `diff` it. During triage of
104
+ issue #10 a keyword count (`phases: 6 | closers: 2`) reported two known-stale copies as
105
+ healthy; only `diff` exposed the 23-line gap, including an entirely missing
106
+ `## On Completion` block.
107
+
108
+ Likewise, assertions against the SessionStart payload parse it as JSON rather than
109
+ string-matching. The failure being guarded is an invalid second response line — a
110
+ substring check would pass on malformed output.
111
+
112
+
113
+ ## Assert after mutation, not at render
114
+
115
+ The ordering rule for the mandatory closers went unenforced for a long time while a
116
+ test claimed to cover it. That test asserted the order of two checkbox lines in a
117
+ *freshly rendered template* — which can never be wrong, because nothing had happened to
118
+ it yet.
119
+
120
+ Assertions about an invariant must mutate the plan first: create a phase, add several
121
+ tasks, then check the closers are still last. The issue #12 block does this throughout,
122
+ including against a hand-reordered, partially-checked, annotated list.
123
+
124
+ The same instinct applies elsewhere in this suite: verify generated output by `diff`
125
+ rather than keyword count, and parse the SessionStart payload as JSON rather than
126
+ string-matching it.
@@ -0,0 +1,43 @@
1
+ ---
2
+ title: Troubleshooting Documentation Index
3
+ tier: reference
4
+ domains: [troubleshooting]
5
+ status: active
6
+ last_updated: '2026-09-04'
7
+ version: '1.0.0'
8
+ purpose: Complete listing of troubleshooting documentation
9
+ ---
10
+
11
+ # Troubleshooting Documentation
12
+
13
+ > Debug guides, common issues, solutions
14
+
15
+ ## Overview
16
+
17
+ - **Total Documents:** 2
18
+ - **Domain:** `troubleshooting/`
19
+ - **Category:** advanced
20
+ - **Load Priority:** 6/10
21
+
22
+ ## Documents
23
+
24
+ ### Guides
25
+
26
+ | Document | Status | Updated | Words |
27
+ |----------|--------|---------|-------|
28
+ | [A plan won't read COMPLETE](plan-never-reads-complete.md) | active | 2026-09-04 | 264 |
29
+ | [Stale skill directory — commands run frozen code](stale-skill-dir-drift.md) | active | 2026-09-04 | 403 |
30
+
31
+ ## Keywords
32
+
33
+ This domain covers: troubleshooting, troubleshoot, debug, debugging, issue, issues, problem, problems, error, errors
34
+
35
+ ## Related Domains
36
+
37
+ - [Agents](../agents/) - Expert agent documentation, specialty matrix
38
+ - [Backups](../backups/) - Backup/restore guides, disaster recovery
39
+ - [Plans](../plans/) - Planning documents, roadmaps, proposals
40
+
41
+ ---
42
+
43
+ *Last updated: 2026-09-04*
@@ -0,0 +1,53 @@
1
+ ---
2
+ title: Troubleshooting Registry
3
+ tier: reference
4
+ domains: [troubleshooting]
5
+ status: active
6
+ last_updated: '2026-09-04'
7
+ version: '1.0.0'
8
+ purpose: Quick reference for troubleshooting documentation
9
+ ---
10
+
11
+ # Troubleshooting Registry
12
+
13
+ > Quick reference for debug guides, common issues, solutions.
14
+
15
+ ## At a Glance
16
+
17
+ | Metric | Value |
18
+ |--------|-------|
19
+ | Documents | 2 |
20
+ | Category | advanced |
21
+ | Load Priority | 6/10 |
22
+
23
+ ## Active Documents
24
+
25
+ - [A plan won't read COMPLETE](plan-never-reads-complete.md)
26
+ - [Stale skill directory — commands run frozen code](stale-skill-dir-drift.md)
27
+
28
+ ## Recently Updated
29
+
30
+ - [A plan won't read COMPLETE](plan-never-reads-complete.md) - 2026-09-04
31
+ - [Stale skill directory — commands run frozen code](stale-skill-dir-drift.md) - 2026-09-04
32
+
33
+ ## By Status
34
+
35
+ | Status | Count |
36
+ |--------|-------|
37
+ | active | 2 |
38
+ | draft | 0 |
39
+ | deprecated | 0 |
40
+ | archived | 0 |
41
+
42
+ ## Keywords
43
+
44
+ `troubleshooting` `troubleshoot` `debug` `debugging` `issue` `issues` `problem` `problems` `error` `errors` `fix` `solution` `solutions` `resolve` `diagnose` `diagnosis` `log` `logs` `faq`
45
+
46
+ ## See Also
47
+
48
+ - [Full Index](INDEX.md) - Complete document listing
49
+ - [Root Index](../INDEX.md) - All domains
50
+
51
+ ---
52
+
53
+ *Last updated: 2026-09-04*
@@ -0,0 +1,109 @@
1
+ ---
2
+ title: A plan won't read COMPLETE
3
+ tier: guide
4
+ domains:
5
+ - troubleshooting
6
+ audience:
7
+ - developers
8
+ tags: []
9
+ status: active
10
+ last_updated: '2026-09-04'
11
+ version: 1.0.0
12
+ purpose: >-
13
+ Three reasons a plan will not read COMPLETE — an unfinished mandatory closer, a
14
+ placeholder counted as work, or a blocked artifact — and the fix for each.
15
+ estimated_read_time: 2 minutes
16
+ word_count: 264
17
+ last_validated: '2026-09-04'
18
+ backlinks: []
19
+ ---
20
+
21
+ # A plan won't read COMPLETE
22
+
23
+ `/plan-status` shows a plan stuck below 100%, or at `100%` but still `in progress`,
24
+ and it is not obvious what is outstanding. There are three causes with three
25
+ different fixes.
26
+
27
+ ## 1. Every box is ticked but it still says `in progress`
28
+
29
+ ```
30
+ my-phase in progress 13/13 boxes
31
+ ```
32
+
33
+ A **mandatory closing task is not done.** Ticking its checkbox in `phase.md` is not
34
+ enough — the closer's own `task.md` must carry `status: done`.
35
+
36
+ ```bash
37
+ grep -l '^mandatory: true' .planning/my-phase/*/task.md | xargs grep -H '^status:'
38
+ ```
39
+
40
+ Anything not `done` or `archived` is what is holding the plan open. Finish the work,
41
+ then set `status: done` in that task's frontmatter.
42
+
43
+ This is deliberate. A closer that was ticked but never performed is precisely the
44
+ failure the gate exists to catch — see
45
+ [`mandatory:` frontmatter](../reference/mandatory-frontmatter.md).
46
+
47
+ ## 2. The count includes a box that isn't work
48
+
49
+ ```
50
+ my-phase in progress 0/5 boxes # but only 2 real tasks exist
51
+ ```
52
+
53
+ Older plans carry the placeholder lines as **checkboxes**:
54
+
55
+ ```markdown
56
+ - [ ] (no tasks yet — run `/start-task …`)
57
+ - [ ] (no atoms yet — add inline checkboxes here for simple atoms,
58
+ or run `/start-atom …` for complex ones)
59
+ ```
60
+
61
+ `plan-status.sh` counts every `- [ ]` under a plan, so those inflate the total and the
62
+ plan cannot finish until someone ticks a line that says nothing exists.
63
+
64
+ **Fix:** delete the placeholder line, or add a real task/atom — from 3.3.0 the init
65
+ scripts remove it automatically on first insert. New plans ship the placeholders as
66
+ italic text, which is not counted.
67
+
68
+ ## 2b. Quoted markdown used to count (fixed in 3.3.1)
69
+
70
+ Before 3.3.1, three readers scanned whole files: the checkbox counter, the mandatory
71
+ gate, and blocked detection. A `notes.md` that merely *documented* the contract tripped
72
+ all three — a fenced `- [ ]` example inflated the denominator, a fenced `mandatory: true`
73
+ held the plan open with the box count reading a perfect `n/n`, and a fenced
74
+ `status: blocked` produced a false `blocked` verdict.
75
+
76
+ Frontmatter fields are now read from frontmatter only, and checkbox counting skips fenced
77
+ code blocks. If you are on an older version, move the example out of the plan or upgrade.
78
+
79
+ ## 3. Something under the plan is `status: blocked`
80
+
81
+ ```
82
+ my-phase blocked 7/20 boxes
83
+ ```
84
+
85
+ `plan-status.sh` reports `blocked` when any artifact under the plan has
86
+ `status: blocked`. Find it:
87
+
88
+ ```bash
89
+ grep -rl '^status: blocked' .planning/my-phase/
90
+ ```
91
+
92
+ That is a report, not a defect — the plan is telling you what it is waiting on.
93
+
94
+ ## Checking the whole picture
95
+
96
+ ```bash
97
+ bash scripts/plan-status.sh # table: in progress / blocked / COMPLETE / empty
98
+ bash scripts/plan-status.sh --complete # one complete slug per line, for scripts
99
+ ```
100
+
101
+ `archive-plan.sh` refuses an incomplete plan using the same check, so anything above
102
+ that blocks COMPLETE also blocks archiving. `--force` overrides it; nothing is ever
103
+ deleted either way.
104
+
105
+ ## Related
106
+
107
+ - [Plan completion and archive](../procedures/plan-completion-and-archive.md)
108
+ - [lg plan artifact lifecycle](../architecture/lg-plan-artifact-lifecycle.md)
109
+ - [Mandatory closing phases](../standards/mandatory-closing-phases.md)
@@ -0,0 +1,115 @@
1
+ ---
2
+ title: Stale skill directory — commands run frozen code
3
+ tier: guide
4
+ domains:
5
+ - troubleshooting
6
+ audience:
7
+ - developers
8
+ tags: []
9
+ status: active
10
+ last_updated: '2026-09-04'
11
+ version: 1.0.0
12
+ purpose: Symptom, cause, detection and repair for a stale .claude/skills/persistent-planning
13
+ directory that makes commands run frozen pre-3.1.0 code (issue #10).
14
+ estimated_read_time: 3 minutes
15
+ word_count: 403
16
+ last_validated: '2026-09-04'
17
+ backlinks: []
18
+ ---
19
+
20
+ # Stale skill directory — commands run frozen code
21
+
22
+ `/start-planning` produces a plan that is missing the mandatory validate and
23
+ documentation phases, and has no `## On Completion` archive block. No warning is
24
+ shown. `npx persistent-planning status` reports the current version. Everything
25
+ exits 0.
26
+
27
+ This is the failure mode from [issue #10](https://github.com/the-glitch-kingdom/persistent-planning/issues/10),
28
+ fixed in 3.2.0.
29
+
30
+ ## Symptom
31
+
32
+ A generated `task_plan.md` ends at Phase 4. A correct one ends:
33
+
34
+ ```
35
+ - [ ] Phase 5: Validate success through comprehensive testing (MANDATORY)
36
+ - [ ] Phase 6: Documentation pass -- create/update/deprecate as many docs as needed to capture what was done, where it lives, how to troubleshoot it, etc. etc.. etc.. (MANDATORY)
37
+ ```
38
+
39
+ and carries an `## On Completion` section naming `/plan-status` and `/archive-plan`.
40
+
41
+ ## Cause
42
+
43
+ `.claude/skills/persistent-planning/` is a **real directory** instead of a symlink
44
+ into the installed package. v1's `persistent-planning install` (removed in 2.0.0)
45
+ copied the skill dir. The v2+ linker only symlinks, and when it found a real
46
+ directory at the destination it warned once during `npm install` and skipped —
47
+ permanently.
48
+
49
+ The result: the update check read the *plugin's* version while `/start-planning`
50
+ executed the *skill dir's* frozen copy. Same version number, different artifact,
51
+ nothing reconciling them. `commands/start-planning.md` lists
52
+ `~/.claude/skills/persistent-planning/scripts/init-planning.sh` among its fallback
53
+ paths, and in a v1-era skill dir that file exists — so the stale copy wins.
54
+
55
+ ## Detect
56
+
57
+ **Check the shape, not the contents:**
58
+
59
+ ```bash
60
+ ls -ld .claude/skills/persistent-planning
61
+ ```
62
+
63
+ A symlink is healthy. A real directory is drift — nothing in the current system
64
+ creates one.
65
+
66
+ **Confirm how far behind, by diff:**
67
+
68
+ ```bash
69
+ diff <path-to-package>/scripts/init-planning.sh \
70
+ .claude/skills/persistent-planning/scripts/init-planning.sh
71
+ ```
72
+
73
+ > **Do not verify by keyword grep.** Counting `Phase` or `MANDATORY` occurrences
74
+ > reported the known-stale copies as healthy during triage; only `diff` exposed the
75
+ > 23-line gap. See [Skill version marker](../reference/skill-version-marker.md) for
76
+ > the version signal.
77
+
78
+ From 3.2.0 the SessionStart hook detects this for you and prints the path, the
79
+ running version vs the installed one, and the fix.
80
+
81
+ ## Fix
82
+
83
+ On 3.2.0 or later, with `updatePolicy: auto`, the next session repairs it by itself
84
+ — once per plugin version. Otherwise:
85
+
86
+ ```bash
87
+ npx persistent-planning relink
88
+ ```
89
+
90
+ Either way the original is renamed to `.claude/skills/persistent-planning.bak-<timestamp>`.
91
+ **Nothing is deleted.** Delete the backup yourself once you are satisfied.
92
+
93
+ If the directory is tracked in git — v1's installer sometimes committed it — the
94
+ repair shows up as deleted files plus a new symlink. That is a real commit for that
95
+ repo to take, and a prompt to decide whether a skill dir belongs in version control
96
+ at all.
97
+
98
+ ## When repair cannot run
99
+
100
+ `relink` reports a rename failure and leaves the directory alone rather than
101
+ deleting anything. Move it aside by hand and re-run. To manage the directory
102
+ yourself and silence the machinery:
103
+
104
+ ```bash
105
+ PERSISTENT_PLANNING_NO_RECLAIM=1 # never reclaim
106
+ PERSISTENT_PLANNING_SKIP_LINK=1 # never link at all
107
+ ```
108
+
109
+ `updatePolicy: off` also suppresses both the warning and the repair.
110
+
111
+ ## Related
112
+
113
+ - [Skill linking and reclaim](../architecture/skill-linking-and-reclaim.md) — how it works
114
+ - [Plugin update delivery](../procedures/plugin-update-delivery.md) — why the hook, not postinstall
115
+ - [Skill version marker](../reference/skill-version-marker.md) — the `.version` contract
@@ -0,0 +1,43 @@
1
+ ---
2
+ title: Workflows Documentation Index
3
+ tier: reference
4
+ domains: [workflows]
5
+ status: active
6
+ last_updated: '2026-09-04'
7
+ version: '1.0.0'
8
+ purpose: Complete listing of workflows documentation
9
+ ---
10
+
11
+ # Workflows Documentation
12
+
13
+ > Process documentation, multi-step operations
14
+
15
+ ## Overview
16
+
17
+ - **Total Documents:** 0
18
+ - **Domain:** `workflows/`
19
+ - **Category:** features
20
+ - **Load Priority:** 5/10
21
+
22
+ ## Documents
23
+
24
+ *No documents in this domain yet.*
25
+
26
+ To add a document:
27
+
28
+ 1. Create a markdown file in this directory
29
+ 2. Add YAML frontmatter with required metadata
30
+ 3. Run `npx hit-em-with-the-docs integrate <file>`
31
+ ## Keywords
32
+
33
+ This domain covers: workflow, workflows, process, processes, flow, flowchart, sequence, pipeline, automation, automated
34
+
35
+ ## Related Domains
36
+
37
+ - [Procedures](../procedures/) - Step-by-step operational procedures (SOP)
38
+ - [Quickstart](../quickstart/) - Setup guides, dev workflow, onboarding
39
+ - [Features](../features/) - Feature implementation guides, admin docs
40
+
41
+ ---
42
+
43
+ *Last updated: 2026-09-04*
@@ -0,0 +1,38 @@
1
+ ---
2
+ title: Workflows Registry
3
+ tier: reference
4
+ domains: [workflows]
5
+ status: active
6
+ last_updated: '2026-09-04'
7
+ version: '1.0.0'
8
+ purpose: Quick reference for workflows documentation
9
+ ---
10
+
11
+ # Workflows Registry
12
+
13
+ > Quick reference for process documentation, multi-step operations.
14
+
15
+ ## At a Glance
16
+
17
+ | Metric | Value |
18
+ |--------|-------|
19
+ | Documents | 0 |
20
+ | Category | features |
21
+ | Load Priority | 5/10 |
22
+
23
+ ## Documents
24
+
25
+ *No documents in this domain yet.*
26
+
27
+ ## Keywords
28
+
29
+ `workflow` `workflows` `process` `processes` `flow` `flowchart` `sequence` `pipeline` `automation` `automated` `multi-step` `orchestration` `state-machine`
30
+
31
+ ## See Also
32
+
33
+ - [Full Index](INDEX.md) - Complete document listing
34
+ - [Root Index](../INDEX.md) - All domains
35
+
36
+ ---
37
+
38
+ *Last updated: 2026-09-04*