kitfly 0.1.2 → 0.2.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 (194) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +63 -16
  3. package/VERSION +1 -1
  4. package/dist/_raw/content/deployment/preflight.md +134 -0
  5. package/dist/_raw/content/deployment/recipes/aws-s3.md +128 -0
  6. package/dist/_raw/content/deployment/recipes/cloudflare-pages.md +73 -0
  7. package/dist/_raw/content/deployment/recipes/cloudflare-r2.md +156 -0
  8. package/dist/_raw/content/deployment/recipes/fly-io.md +57 -0
  9. package/dist/_raw/content/deployment/recipes/github-pages.md +112 -0
  10. package/dist/_raw/content/deployment/recipes/netlify.md +99 -0
  11. package/dist/_raw/content/deployment/recipes/vercel.md +88 -0
  12. package/dist/_raw/content/deployment/secrets-and-env-vars.md +75 -0
  13. package/dist/_raw/content/deployment.md +128 -0
  14. package/dist/_raw/content/guide/approaches.md +182 -0
  15. package/dist/_raw/content/guide/features.md +121 -0
  16. package/dist/_raw/content/guide/getting-started.md +112 -0
  17. package/dist/_raw/content/guide/kitfly-overview.md +209 -0
  18. package/dist/_raw/content/reference/configuration.md +259 -0
  19. package/dist/_raw/content/reference/design-catalog.md +167 -0
  20. package/dist/_raw/content/reference/environment-variables.md +66 -0
  21. package/dist/_raw/content/reference/glossary.md +92 -0
  22. package/dist/_raw/content/reference/key-concepts.md +118 -0
  23. package/dist/_raw/content/reference/plugins.md +220 -0
  24. package/dist/_raw/content/reference/structure.md +166 -0
  25. package/dist/_raw/content/reference.md +19 -0
  26. package/dist/_raw/content/templates/crucible.md +192 -0
  27. package/dist/_raw/content/templates/handbook.md +83 -0
  28. package/dist/_raw/content/templates/minimal.md +138 -0
  29. package/dist/_raw/content/templates/overview.md +187 -0
  30. package/dist/_raw/content/templates/pipeline.md +151 -0
  31. package/dist/_raw/content/templates/productbook.md +187 -0
  32. package/dist/_raw/content/templates/runbook.md +193 -0
  33. package/dist/_raw/content/templates/servicebook.md +163 -0
  34. package/dist/_raw/docs/decisions/ADR-0001-minimalist-site-code.md +118 -0
  35. package/dist/_raw/docs/decisions/ADR-0002-ai-accessibility.md +153 -0
  36. package/dist/_raw/docs/decisions/ADR-0003-single-file-bundle.md +93 -0
  37. package/dist/_raw/docs/decisions/ADR-0004-bun-runtime.md +98 -0
  38. package/dist/_raw/docs/decisions/ADR-0005-plugin-contract-and-distribution.md +110 -0
  39. package/dist/_raw/docs/decisions/DDR-0001-viewport-locked-layout.md +111 -0
  40. package/dist/_raw/docs/decisions/DDR-0002-theme-system.md +131 -0
  41. package/dist/_raw/docs/decisions/DDR-0003-bounded-logo-slot.md +106 -0
  42. package/dist/_raw/docs/decisions/DDR-0004-slides-rendering-model.md +113 -0
  43. package/dist/_raw/docs/decisions/DDR-0005-deterministic-layout-boundary.md +107 -0
  44. package/dist/_raw/docs/userguide/cli/build.md +85 -0
  45. package/dist/_raw/docs/userguide/cli/bundle.md +81 -0
  46. package/dist/_raw/docs/userguide/cli/dev.md +92 -0
  47. package/dist/_raw/docs/userguide/cli/init.md +116 -0
  48. package/dist/_raw/docs/userguide/cli/servers.md +69 -0
  49. package/dist/_raw/docs/userguide/cli/stop.md +76 -0
  50. package/dist/_raw/docs/userguide/cli/update.md +78 -0
  51. package/dist/_raw/docs/userguide/cli/version.md +65 -0
  52. package/dist/_raw/docs/userguide/cli.md +34 -0
  53. package/dist/_raw/docs/userguide/sharing.md +94 -0
  54. package/dist/_raw/schemas/plugin-schemas-notes.md +71 -0
  55. package/dist/_raw/schemas.md +42 -0
  56. package/dist/assets/brand/kitfly-favicon-32.png +0 -0
  57. package/dist/assets/brand/kitfly-icon-64.png +0 -0
  58. package/dist/assets/brand/kitfly-logo-128.png +0 -0
  59. package/dist/assets/brand/kitfly-logo-512.png +0 -0
  60. package/dist/assets/brand/kitfly-logo.svg +12132 -0
  61. package/dist/assets/brand/kitfly-neon-128.png +0 -0
  62. package/dist/assets/brand/kitfly-neon-192.png +0 -0
  63. package/dist/assets/brand/kitfly-neon-256.png +0 -0
  64. package/dist/assets/brand/kitfly-neon.png +0 -0
  65. package/dist/assets/brand/palette.md +75 -0
  66. package/dist/content/deployment/index.html +11 -0
  67. package/dist/content/deployment/preflight.html +418 -0
  68. package/dist/content/deployment/recipes/aws-s3.html +421 -0
  69. package/dist/content/deployment/recipes/cloudflare-pages.html +372 -0
  70. package/dist/content/deployment/recipes/cloudflare-r2.html +443 -0
  71. package/dist/content/deployment/recipes/fly-io.html +356 -0
  72. package/dist/content/deployment/recipes/github-pages.html +414 -0
  73. package/dist/content/deployment/recipes/index.html +11 -0
  74. package/dist/content/deployment/recipes/netlify.html +394 -0
  75. package/dist/content/deployment/recipes/vercel.html +382 -0
  76. package/dist/content/deployment/secrets-and-env-vars.html +380 -0
  77. package/dist/content/deployment.html +426 -0
  78. package/dist/content/guide/approaches.html +501 -0
  79. package/dist/content/guide/features.html +436 -0
  80. package/dist/content/guide/getting-started.html +403 -0
  81. package/dist/content/guide/index.html +11 -0
  82. package/dist/content/guide/kitfly-overview.html +544 -0
  83. package/dist/content/index.html +11 -0
  84. package/dist/content/reference/configuration.html +580 -0
  85. package/dist/content/reference/design-catalog.html +449 -0
  86. package/dist/content/reference/environment-variables.html +367 -0
  87. package/dist/content/reference/glossary.html +368 -0
  88. package/dist/content/reference/index.html +11 -0
  89. package/dist/content/reference/key-concepts.html +399 -0
  90. package/dist/content/reference/plugins.html +491 -0
  91. package/dist/content/reference/structure.html +463 -0
  92. package/dist/content/reference.html +334 -0
  93. package/dist/content/templates/crucible.html +546 -0
  94. package/dist/content/templates/handbook.html +405 -0
  95. package/dist/content/templates/index.html +11 -0
  96. package/dist/content/templates/minimal.html +447 -0
  97. package/dist/content/templates/overview.html +558 -0
  98. package/dist/content/templates/pipeline.html +494 -0
  99. package/dist/content/templates/productbook.html +540 -0
  100. package/dist/content/templates/runbook.html +543 -0
  101. package/dist/content/templates/servicebook.html +523 -0
  102. package/dist/content-index.json +540 -0
  103. package/dist/docs/decisions/ADR-0001-minimalist-site-code.html +491 -0
  104. package/dist/docs/decisions/ADR-0002-ai-accessibility.html +434 -0
  105. package/dist/docs/decisions/ADR-0003-single-file-bundle.html +412 -0
  106. package/dist/docs/decisions/ADR-0004-bun-runtime.html +409 -0
  107. package/dist/docs/decisions/ADR-0005-plugin-contract-and-distribution.html +402 -0
  108. package/dist/docs/decisions/DDR-0001-viewport-locked-layout.html +459 -0
  109. package/dist/docs/decisions/DDR-0002-theme-system.html +452 -0
  110. package/dist/docs/decisions/DDR-0003-bounded-logo-slot.html +423 -0
  111. package/dist/docs/decisions/DDR-0004-slides-rendering-model.html +399 -0
  112. package/dist/docs/decisions/DDR-0005-deterministic-layout-boundary.html +422 -0
  113. package/dist/docs/decisions/index.html +11 -0
  114. package/dist/docs/userguide/cli/build.html +408 -0
  115. package/dist/docs/userguide/cli/bundle.html +419 -0
  116. package/dist/docs/userguide/cli/dev.html +428 -0
  117. package/dist/docs/userguide/cli/index.html +11 -0
  118. package/dist/docs/userguide/cli/init.html +436 -0
  119. package/dist/docs/userguide/cli/servers.html +393 -0
  120. package/dist/docs/userguide/cli/stop.html +408 -0
  121. package/dist/docs/userguide/cli/update.html +406 -0
  122. package/dist/docs/userguide/cli/version.html +406 -0
  123. package/dist/docs/userguide/cli.html +386 -0
  124. package/dist/docs/userguide/index.html +11 -0
  125. package/dist/docs/userguide/sharing.html +465 -0
  126. package/dist/index.html +387 -0
  127. package/dist/llms.txt +18 -0
  128. package/dist/provenance.json +7 -0
  129. package/dist/schemas/index.html +11 -0
  130. package/dist/schemas/plugin-registry.schema.html +327 -0
  131. package/dist/schemas/plugin-schemas-notes.html +364 -0
  132. package/dist/schemas/plugin.schema.html +327 -0
  133. package/dist/schemas/plugins.schema.html +327 -0
  134. package/dist/schemas/v0/common.schema.html +386 -0
  135. package/dist/schemas/v0/index.html +11 -0
  136. package/dist/schemas/v0/plugin-registry.schema.html +547 -0
  137. package/dist/schemas/v0/plugin.schema.html +497 -0
  138. package/dist/schemas/v0/plugins.schema.html +406 -0
  139. package/dist/schemas/v0/site.schema.html +541 -0
  140. package/dist/schemas/v0/theme.schema.html +615 -0
  141. package/dist/schemas.html +351 -0
  142. package/dist/styles.css +1262 -0
  143. package/package.json +4 -2
  144. package/plugins-dist/callouts.css +32 -0
  145. package/plugins-dist/callouts.js +46 -0
  146. package/plugins-dist/slides-visuals.css +224 -0
  147. package/plugins-dist/slides-visuals.js +598 -0
  148. package/registry/plugins.yaml +35 -0
  149. package/schemas/README.md +10 -0
  150. package/schemas/plugin-registry.schema.json +5 -0
  151. package/schemas/plugin-schemas-notes.md +71 -0
  152. package/schemas/plugin.schema.json +5 -0
  153. package/schemas/plugins.schema.json +5 -0
  154. package/schemas/v0/common.schema.json +64 -0
  155. package/schemas/v0/plugin-registry.schema.json +225 -0
  156. package/schemas/v0/plugin.schema.json +175 -0
  157. package/schemas/v0/plugins.schema.json +84 -0
  158. package/schemas/v0/site.schema.json +56 -9
  159. package/schemas/v0/theme.schema.json +105 -22
  160. package/scripts/build.ts +155 -3
  161. package/scripts/bundle.ts +258 -95
  162. package/scripts/dev.ts +203 -1
  163. package/src/__tests__/build.test.ts +158 -1
  164. package/src/__tests__/bundle.test.ts +31 -0
  165. package/src/__tests__/cli.test.ts +14 -3
  166. package/src/__tests__/fixtures/fences/slides-visuals/invalid/bad-list-indent.md +5 -0
  167. package/src/__tests__/fixtures/fences/slides-visuals/invalid/blank-line.md +5 -0
  168. package/src/__tests__/fixtures/fences/slides-visuals/invalid/compare-object-items.md +9 -0
  169. package/src/__tests__/fixtures/fences/slides-visuals/invalid/indented-fence.md +4 -0
  170. package/src/__tests__/fixtures/fences/slides-visuals/invalid/stat-grid-missing-fields.md +5 -0
  171. package/src/__tests__/fixtures/fences/slides-visuals/invalid/unknown-type.md +3 -0
  172. package/src/__tests__/fixtures/fences/slides-visuals/valid/compare.md +10 -0
  173. package/src/__tests__/fixtures/fences/slides-visuals/valid/comparison-table.md +14 -0
  174. package/src/__tests__/fixtures/fences/slides-visuals/valid/funnel.md +7 -0
  175. package/src/__tests__/fixtures/fences/slides-visuals/valid/kpi.md +5 -0
  176. package/src/__tests__/fixtures/fences/slides-visuals/valid/layer-cake.md +6 -0
  177. package/src/__tests__/fixtures/fences/slides-visuals/valid/pyramid.md +6 -0
  178. package/src/__tests__/fixtures/fences/slides-visuals/valid/quadrant-grid.md +8 -0
  179. package/src/__tests__/fixtures/fences/slides-visuals/valid/scorecard.md +13 -0
  180. package/src/__tests__/fixtures/fences/slides-visuals/valid/stat-grid.md +8 -0
  181. package/src/__tests__/init.test.ts +35 -0
  182. package/src/__tests__/plugin-loader.test.ts +221 -0
  183. package/src/__tests__/shared.test.ts +428 -0
  184. package/src/__tests__/slides-visuals-fence-contract.test.ts +28 -0
  185. package/src/__tests__/slides-visuals-runtime-regressions.bun.test.ts +114 -0
  186. package/src/__tests__/styles.test.ts +35 -0
  187. package/src/cli.ts +9 -4
  188. package/src/plugin-loader.ts +245 -0
  189. package/src/shared.ts +614 -7
  190. package/src/site/styles.css +331 -0
  191. package/src/site/template.html +66 -5
  192. package/src/templates/deck.ts +186 -0
  193. package/src/templates/driver.ts +11 -1
  194. package/src/templates/minimal.ts +1 -0
@@ -0,0 +1,138 @@
1
+ ---
2
+ title: Minimal Template
3
+ description: The base template that all others extend
4
+ ---
5
+
6
+ # Minimal Template
7
+
8
+ The `minimal` template is the foundation. Every other template extends it, inheriting these core files. Use it when you want complete control over your site's structure.
9
+
10
+ ## When to Use
11
+
12
+ - You want to define your own sections from scratch
13
+ - Your documentation doesn't fit the patterns of handbook, runbook, pipeline, or productbook
14
+ - You're prototyping or experimenting with kitfly
15
+ - You plan to build a custom structure for a specific domain
16
+
17
+ ## What You Get
18
+
19
+ ```
20
+ my-site/
21
+ ├── site.yaml # Basic configuration (no sections)
22
+ ├── index.md # Simple welcome page
23
+ ├── .gitignore # Standard ignores
24
+ ├── README.md # Project documentation
25
+ ├── content/ # Empty, ready for your structure
26
+ │ └── .gitkeep
27
+ └── assets/brand/ # Placeholder for logo, favicon
28
+ └── .gitkeep
29
+ ```
30
+
31
+ ## Usage
32
+
33
+ ```bash
34
+ kitfly init my-site
35
+ # or explicitly:
36
+ kitfly init my-site --template minimal
37
+ ```
38
+
39
+ ## Building Your Own Structure
40
+
41
+ Creating a custom site from minimal takes three steps:
42
+
43
+ ### 1. Create content folders
44
+
45
+ Organize your markdown files under `content/` however makes sense for your domain:
46
+
47
+ ```
48
+ content/
49
+ ├── concepts/
50
+ │ ├── overview.md
51
+ │ └── architecture.md
52
+ ├── workflows/
53
+ │ ├── onboarding.md
54
+ │ ├── review-process.md
55
+ │ └── advanced/
56
+ │ ├── index.md
57
+ │ └── custom-pipelines.md
58
+ └── api/
59
+ ├── authentication.md
60
+ └── endpoints/
61
+ ├── users.md
62
+ └── projects.md
63
+ ```
64
+
65
+ ### 2. Define sections in `site.yaml`
66
+
67
+ Each section maps to a folder. The sidebar builds automatically from your files:
68
+
69
+ ```yaml
70
+ title: "My Platform Docs"
71
+
72
+ brand:
73
+ name: "Platform"
74
+ url: "/"
75
+
76
+ sections:
77
+ - name: "Concepts"
78
+ path: "content/concepts"
79
+ - name: "Workflows"
80
+ path: "content/workflows"
81
+ - name: "API"
82
+ path: "content/api"
83
+ ```
84
+
85
+ ### 3. Add markdown files
86
+
87
+ Write your content. Each `.md` file appears in the sidebar under its section. That's it — no registration step, no config per file.
88
+
89
+ ## Hierarchical Navigation
90
+
91
+ Kitfly automatically organizes deeper folder structures into collapsible navigation groups. If you nest files inside subdirectories, the sidebar reflects that hierarchy:
92
+
93
+ ```
94
+ WORKFLOWS
95
+ onboarding
96
+ review-process
97
+ ▸ advanced ← click to expand
98
+ custom-pipelines
99
+ ```
100
+
101
+ - Subdirectories appear as collapsible groups with expand/collapse indicators
102
+ - An `index.md` inside a subdirectory becomes the clickable link on the group label
103
+ - Flat sections (no subdirectories) render as simple lists — no extra overhead
104
+ - No JavaScript required — this uses native HTML `<details>` elements
105
+
106
+ This means you can start flat and add depth later without changing any configuration. Just create subdirectories and the sidebar adapts.
107
+
108
+ ## Configuration
109
+
110
+ The generated `site.yaml` includes commented examples to get you started:
111
+
112
+ ```yaml
113
+ title: "My Site"
114
+
115
+ brand:
116
+ name: "My Brand"
117
+ url: "/"
118
+
119
+ # Uncomment and customize:
120
+ # sections:
121
+ # - name: "Guide"
122
+ # path: "content/guide"
123
+ # - name: "Reference"
124
+ # path: "content/reference"
125
+ ```
126
+
127
+ ## When to Use a Specialized Template Instead
128
+
129
+ If your site fits one of these patterns, start with a specialized template — you'll get curated sections, starter content, and a `CUSTOMIZING.md` guide:
130
+
131
+ | Pattern | Template | Why |
132
+ | ------------------------- | ------------- | ------------------------------------------ |
133
+ | Team knowledge base | `handbook` | Overview / Guides / Reference structure |
134
+ | Service operations | `runbook` | Procedures, troubleshooting, incidents |
135
+ | Data pipeline ops | `pipeline` | Stages, sources, destinations, manifests |
136
+ | Product + business domain | `productbook` | Features, domain processes, planning, ADRs |
137
+
138
+ You can always restructure later — templates are starting points, not constraints.
@@ -0,0 +1,187 @@
1
+ ---
2
+ title: Templates Overview
3
+ description: How kitfly templates work and the layering model
4
+ ---
5
+
6
+ # Templates
7
+
8
+ Templates provide starting points for new kitfly sites. Each template creates a folder structure, configuration, and starter content appropriate for a specific use case.
9
+
10
+ ## The Layering Model
11
+
12
+ Templates follow a simple inheritance pattern:
13
+
14
+ ```
15
+ minimal (base)
16
+ ├── handbook (team documentation)
17
+ ├── runbook (operational procedures)
18
+ ├── pipeline (data pipeline operations)
19
+ ├── productbook (product & domain knowledge)
20
+ ├── servicebook (professional services catalog)
21
+ └── crucible (information architecture SSOT)
22
+ ```
23
+
24
+ Every template **extends `minimal`**, which provides the essential files every site needs. Specialized templates add sections and starter content on top.
25
+
26
+ ## What Templates Create
27
+
28
+ When you run `kitfly init`, the template generates:
29
+
30
+ | Component | Source | Purpose |
31
+ | ---------------- | --------------------- | ------------------------------------------- |
32
+ | `site.yaml` | Template | Site configuration with sections defined |
33
+ | `index.md` | Template | Home page with navigation to sections |
34
+ | `content/` | Template | Folder structure with starter files |
35
+ | `.gitignore` | `minimal` | Standard ignores for builds, deps, OS files |
36
+ | `README.md` | `minimal` | Project readme with dev commands |
37
+ | `CUSTOMIZING.md` | Specialized templates | How to customize (AI + human friendly) |
38
+ | `assets/brand/` | `minimal` | Placeholder for logo, favicon |
39
+
40
+ ### The Customizing Guide
41
+
42
+ Specialized templates include `CUSTOMIZING.md` — an onboarding document that helps both humans and AI assistants understand:
43
+
44
+ - **Structure**: What each section is for, naming conventions
45
+ - **Adding content**: Where to put new files, how to create sections
46
+ - **Linking**: How to cross-reference within the site
47
+ - **Limitations**: Content must live in the site folder; external files linked via URL
48
+
49
+ ### Provenance Record
50
+
51
+ Every generated site includes provenance metadata (in `CUSTOMIZING.md` header):
52
+
53
+ ```yaml
54
+ ---
55
+ template: runbook
56
+ template_version: 1
57
+ created: 2026-02-04
58
+ kitfly_version: 0.1.0
59
+ ---
60
+ ```
61
+
62
+ This tracks:
63
+
64
+ - **template**: Which template was used
65
+ - **template_version**: Version of that template's structure
66
+ - **created**: When the site was initialized
67
+ - **kitfly_version**: Kitfly version at creation time
68
+
69
+ Provenance helps when upgrading sites or understanding what conventions were in place at creation time.
70
+
71
+ ## The `.kitfly/` Metadata Folder
72
+
73
+ Sites can have a `.kitfly/` folder for kitfly-specific metadata (gitignored by default).
74
+
75
+ ### All Sites: `manifest.json`
76
+
77
+ Every site gets a manifest tracking creation metadata:
78
+
79
+ ```json
80
+ {
81
+ "template": "runbook",
82
+ "templateVersion": 1,
83
+ "created": "2026-02-04T14:30:00Z",
84
+ "kitflyVersion": "0.1.0",
85
+ "standalone": false
86
+ }
87
+ ```
88
+
89
+ ### Standalone Sites: `provenance.json`
90
+
91
+ Standalone sites additionally track copied files with SHA256 hashes:
92
+
93
+ ```json
94
+ {
95
+ "kitflyVersion": "0.1.0",
96
+ "createdAt": "2026-02-04T14:30:00Z",
97
+ "template": "runbook",
98
+ "files": [
99
+ { "path": "scripts/dev.ts", "sourceHash": "a1b2c3..." },
100
+ { "path": "src/engine.ts", "sourceHash": "d4e5f6..." }
101
+ ]
102
+ }
103
+ ```
104
+
105
+ **Why hashes?** For future `kitfly update` support:
106
+
107
+ - Compare hashes to detect user modifications
108
+ - Safely update unmodified files
109
+ - Warn before overwriting customized code
110
+ - Track version gaps that need bridging
111
+
112
+ ### Future: `updates.json`
113
+
114
+ When `kitfly update` ships (v0.2.x), we'll track update history:
115
+
116
+ ```json
117
+ {
118
+ "updates": [
119
+ {
120
+ "date": "2026-03-15T10:00:00Z",
121
+ "fromVersion": "0.1.0",
122
+ "toVersion": "0.2.0",
123
+ "filesUpdated": ["scripts/dev.ts", "src/theme.ts"],
124
+ "filesSkipped": ["scripts/build.ts"]
125
+ }
126
+ ]
127
+ }
128
+ ```
129
+
130
+ This enables rollback awareness and audit trails for managed sites.
131
+
132
+ ## Choosing a Template
133
+
134
+ | Template | Best For | Sections |
135
+ | ------------- | -------------------------------------------------- | ----------------------------------------------------------------------- |
136
+ | `minimal` | Custom structures, experimentation | None predefined — you define your own |
137
+ | `handbook` | Team docs, onboarding, knowledge bases | Overview, Guides, Reference |
138
+ | `runbook` | Operations, procedures, incidents | Procedures, Troubleshooting, Reference, Incidents |
139
+ | `pipeline` | Data pipeline operations | Pipeline, Sources, Destinations, Operations, Troubleshooting, Reference |
140
+ | `productbook` | Product + domain docs for complex engagements | Product, Domain, Planning, Operations, Guides, Reference |
141
+ | `servicebook` | Professional services, consulting catalogs | Offerings, Methodology, Delivery, Verticals, Case Studies, Reference |
142
+ | `crucible` | Information architecture SSOT, ecosystem standards | Specs, Schemas, Config, Policies, Guides, Reference |
143
+
144
+ ## Usage
145
+
146
+ ```bash
147
+ # Create with default template (minimal)
148
+ kitfly init my-site
149
+
150
+ # Create with specific template
151
+ kitfly init my-docs --template handbook
152
+
153
+ # Add branding
154
+ kitfly init my-docs --template handbook --brand "Acme Corp"
155
+
156
+ # Create standalone (includes kitfly site code)
157
+ kitfly init my-docs --template handbook --standalone
158
+
159
+ # Add AI assistance instrumentation
160
+ kitfly init my-docs --template runbook --ai-assist
161
+
162
+ # Skip git initialization
163
+ kitfly init my-docs --template handbook --no-git
164
+ ```
165
+
166
+ ## Lifecycle Operations
167
+
168
+ Kitfly focuses on **creation** only:
169
+
170
+ | Operation | Support | Notes |
171
+ | --------- | --------------- | ------------------------------------- |
172
+ | Create | `kitfly init` | Full template system |
173
+ | Read | `kitfly dev` | Preview any markdown folder |
174
+ | Update | `kitfly update` | Planned for v0.2.x |
175
+ | Delete | Not supported | Use `rm -rf` - sites are just folders |
176
+
177
+ **Why no delete?** Sites are self-contained folders with no external references. Deleting is simply removing the folder. There's no registry or metadata outside the site to clean up.
178
+
179
+ ## Template Details
180
+
181
+ - [Minimal](minimal) — The base layer every site inherits
182
+ - [Handbook](handbook) — Team documentation structure
183
+ - [Runbook](runbook) — Operational procedures and checklists
184
+ - [Pipeline](pipeline) — Data pipeline stages, sources, and destinations
185
+ - [Productbook](productbook) — Product and domain knowledge for greenfield engagements
186
+ - [Servicebook](servicebook) — Professional services catalog with methodology and delivery
187
+ - [Crucible](crucible) — Information architecture SSOT with specs, schemas, and governance
@@ -0,0 +1,151 @@
1
+ ---
2
+ title: Pipeline Template
3
+ description: Data pipeline operations with stages, sources, destinations, and manifests
4
+ ---
5
+
6
+ # Pipeline Template
7
+
8
+ The `pipeline` template creates a structured site for data pipeline operations. It extends `minimal` with sections designed for teams that build, run, and maintain data pipelines — index builds, content extraction, transfer/reflow, and validation.
9
+
10
+ ## When to Use
11
+
12
+ - Data pipeline operational documentation
13
+ - ETL/ELT process runbooks
14
+ - Data migration projects
15
+ - Batch processing operations
16
+ - Any workflow with sequential stages moving data from sources to destinations
17
+
18
+ ## What You Get
19
+
20
+ Everything from `minimal`, plus:
21
+
22
+ ```
23
+ my-pipeline/
24
+ ├── site.yaml # Configured with pipeline sections
25
+ ├── index.md # Pipeline status dashboard with quick links
26
+ ├── CUSTOMIZING.md # How to customize (AI + human friendly)
27
+ ├── content/
28
+ │ ├── pipeline/
29
+ │ │ ├── overview.md # End-to-end dataflow
30
+ │ │ ├── index-build.md # Index build stage
31
+ │ │ ├── extract.md # Content extraction stage
32
+ │ │ ├── transfer.md # Transfer / reflow stage
33
+ │ │ └── validate.md # Validation stage
34
+ │ ├── sources/
35
+ │ │ └── index.md # Source system catalog
36
+ │ ├── destinations/
37
+ │ │ └── index.md # Destination catalog
38
+ │ ├── operations/
39
+ │ │ ├── run-pipeline.md # Full execution procedure
40
+ │ │ └── schedules.md # Pipeline schedule table
41
+ │ ├── troubleshooting/
42
+ │ │ └── common-issues.md # Pipeline-specific issues
43
+ │ └── reference/
44
+ │ ├── manifests/
45
+ │ │ └── index.md # Job manifest YAML templates
46
+ │ ├── field-mappings/
47
+ │ │ └── index.md # Source → destination mappings
48
+ │ ├── metrics/
49
+ │ │ └── index.md # Pipeline KPIs and SLAs
50
+ │ ├── checklists/
51
+ │ │ └── pre-run.md # Pre-run verification
52
+ │ └── contacts/
53
+ │ └── directory.md # Team contacts and escalation
54
+ └── ...
55
+ ```
56
+
57
+ ## Sections
58
+
59
+ | Section | Purpose | Typical Content |
60
+ | ------------------- | --------------------------- | ----------------------------------------------------------------- |
61
+ | **Pipeline** | Core dataflow documentation | Stage definitions, data movement, processing logic |
62
+ | **Sources** | Input systems | Connection details, schemas, auth profiles, data formats |
63
+ | **Destinations** | Output systems | Target structures, path layouts, landing zones |
64
+ | **Operations** | Run procedures | Execution steps, schedules, checkpoint/resume |
65
+ | **Troubleshooting** | Problem resolution | Auth expiry, index locks, duplicate conflicts, collision handling |
66
+ | **Reference** | Supporting materials | Manifests, field mappings, metrics, checklists, contacts |
67
+
68
+ ### Pipeline vs. Runbook
69
+
70
+ Both are operational templates, but they serve different shapes of work:
71
+
72
+ | Aspect | Runbook | Pipeline |
73
+ | ------------------- | -------------------------------- | ---------------------------------------- |
74
+ | **Focus** | Service operations | Data movement |
75
+ | **Structure** | Procedures + incidents | Sequential stages + sources/destinations |
76
+ | **Key question** | "What do I do when X breaks?" | "How does data flow from A to B?" |
77
+ | **Reference model** | Interfaces, contacts, checklists | Manifests, field mappings, metrics |
78
+
79
+ ## Usage
80
+
81
+ ```bash
82
+ kitfly init data-ops --template pipeline
83
+ kitfly init data-ops --template pipeline --brand "Data Platform"
84
+
85
+ # With AI assistance instrumentation
86
+ kitfly init data-ops --template pipeline --standalone --ai-assist
87
+ ```
88
+
89
+ ## The Pipeline Section
90
+
91
+ The core of this template. Each stage is documented with:
92
+
93
+ - **Objective** — what the stage accomplishes
94
+ - **Prerequisites** — what must be in place before running
95
+ - **Procedure** — step-by-step execution
96
+ - **Verification** — how to confirm success
97
+
98
+ The default stages follow a common data pipeline pattern:
99
+
100
+ ```
101
+ Source → Index Build → Content Extraction → Transfer/Reflow → Validation → Destination
102
+ ```
103
+
104
+ Adapt these to your actual pipeline. Add, remove, or rename stages as needed.
105
+
106
+ ## Growing Your Pipeline Docs
107
+
108
+ As your pipeline matures, consider expanding:
109
+
110
+ **Multiple pipelines** — add subdirectories under `content/pipeline/`:
111
+
112
+ ```
113
+ content/pipeline/
114
+ ├── overview.md
115
+ ├── daily-sync/
116
+ │ ├── index.md
117
+ │ ├── extract.md
118
+ │ └── validate.md
119
+ └── quarterly-migration/
120
+ ├── index.md
121
+ └── stages.md
122
+ ```
123
+
124
+ The sidebar automatically organizes these into collapsible groups — each subdirectory becomes an expandable section in the navigation.
125
+
126
+ **Multiple sources/destinations** — add a page per system:
127
+
128
+ ```
129
+ content/sources/
130
+ ├── index.md # Catalog table
131
+ ├── salesforce.md # Source details
132
+ └── data-warehouse.md # Source details
133
+ ```
134
+
135
+ ## Example Use Cases
136
+
137
+ **Cloud Data Migration**
138
+
139
+ - Pipeline: S3 scan → content probe → key rewrite → validation
140
+ - Sources: AWS S3 buckets with legacy key structure
141
+ - Destinations: GCS with date-partitioned layout
142
+ - Operations: Weekly full sync, daily incremental
143
+ - Reference/Manifests: Job definitions per source bucket
144
+
145
+ **ETL for Analytics**
146
+
147
+ - Pipeline: Extract from APIs → transform/enrich → load to warehouse
148
+ - Sources: REST APIs, SFTP drops, webhook events
149
+ - Destinations: Snowflake tables, Parquet files in S3
150
+ - Troubleshooting: Rate limits, schema drift, partial loads
151
+ - Reference/Metrics: Row counts, freshness SLAs, error rates
@@ -0,0 +1,187 @@
1
+ ---
2
+ title: Productbook Template
3
+ description: Product and domain documentation for complex greenfield engagements
4
+ ---
5
+
6
+ # Productbook Template
7
+
8
+ The `productbook` template creates a documentation site that captures both **product definition** and **business domain knowledge**. It extends `minimal` with six sections designed for greenfield engagements where the product operates in a complex business domain.
9
+
10
+ ## When to Use
11
+
12
+ - Greenfield product development in complex business domains
13
+ - Client engagements that need to capture domain expertise alongside product specs
14
+ - Products with regulatory, industry, or process complexity
15
+ - Projects where the team needs a shared reference for "how this business works"
16
+ - Any situation where product decisions depend on deep domain understanding
17
+
18
+ ## What You Get
19
+
20
+ Everything from `minimal`, plus:
21
+
22
+ ```
23
+ my-productbook/
24
+ ├── site.yaml # Configured with 6 sections
25
+ ├── index.md # Home page with product status and quick links
26
+ ├── CUSTOMIZING.md # How to customize (AI + human friendly)
27
+ ├── content/
28
+ │ ├── product/
29
+ │ │ ├── overview.md # Vision, users, capabilities
30
+ │ │ ├── features/
31
+ │ │ │ └── index.md # Feature catalog
32
+ │ │ └── releases/
33
+ │ │ └── index.md # Release log
34
+ │ ├── domain/
35
+ │ │ ├── overview.md # Business domain context
36
+ │ │ ├── processes/
37
+ │ │ │ └── index.md # Business process catalog
38
+ │ │ ├── data-dictionary.md # Terms and definitions
39
+ │ │ └── industry-notes.md # Regulations and standards
40
+ │ ├── planning/
41
+ │ │ ├── roadmap.md # Phases and priorities
42
+ │ │ ├── decisions/
43
+ │ │ │ ├── index.md # Decision log (ADR pattern)
44
+ │ │ │ └── adr-template.md # ADR template
45
+ │ │ ├── specs/
46
+ │ │ │ └── index.md # Specification index
47
+ │ │ └── research/
48
+ │ │ └── index.md # Research index
49
+ │ ├── operations/
50
+ │ │ ├── environments.md # Dev, staging, production
51
+ │ │ └── deployment.md # Deployment procedures
52
+ │ ├── guides/
53
+ │ │ ├── getting-started.md # Onboarding guide
54
+ │ │ └── user-guide.md # End-user documentation
55
+ │ └── reference/
56
+ │ ├── architecture/
57
+ │ │ └── overview.md # System architecture
58
+ │ ├── integrations/
59
+ │ │ └── index.md # Integration catalog
60
+ │ ├── data-models/
61
+ │ │ └── overview.md # Schemas and data flow
62
+ │ ├── contacts/
63
+ │ │ └── directory.md # Team and vendor contacts
64
+ │ └── metrics/
65
+ │ └── overview.md # KPIs and dashboards
66
+ └── ...
67
+ ```
68
+
69
+ ## Sections
70
+
71
+ | Section | Purpose | Typical Content |
72
+ | -------------- | -------------------- | ---------------------------------------------------------- |
73
+ | **Product** | What we're building | Vision, features, releases, acceptance criteria |
74
+ | **Domain** | The business reality | Processes, terminology, data dictionary, industry context |
75
+ | **Planning** | Why and when | Roadmap, ADRs, specifications, research |
76
+ | **Operations** | How we run it | Environments, deployment, configuration |
77
+ | **Guides** | How to use it | Onboarding, tutorials, user documentation |
78
+ | **Reference** | Look-up material | Architecture, integrations, data models, contacts, metrics |
79
+
80
+ ## The Domain Section
81
+
82
+ This is what makes productbook different from every other template. It captures the **complex business reality** that the product operates in.
83
+
84
+ For a propane delivery company, this might hold:
85
+
86
+ - **Processes**: Tank monitoring workflow, delivery scheduling, seasonal demand forecasting
87
+ - **Data Dictionary**: What "will-call" vs "automatic" delivery means, ERP entity definitions
88
+ - **Industry Notes**: DOT regulations for hazmat transport, state-level propane licensing
89
+
90
+ For a healthcare platform:
91
+
92
+ - **Processes**: Claims adjudication, prior authorization, formulary management
93
+ - **Data Dictionary**: CPT codes, NDC numbers, explanation of benefits
94
+ - **Industry Notes**: HIPAA requirements, CMS guidelines, state insurance mandates
95
+
96
+ This section is the "context dump" that every new team member and AI agent needs. It turns tribal knowledge into navigable documentation.
97
+
98
+ ## Planning Artifacts
99
+
100
+ The planning section includes built-in support for common planning patterns:
101
+
102
+ **Decision Records (ADRs)** — each decision documented with:
103
+
104
+ - Context: What prompted this decision
105
+ - Options: What we considered
106
+ - Decision: What we chose and why
107
+ - Consequences: What follows from this choice
108
+
109
+ **Specifications** — feature specs with:
110
+
111
+ - Problem statement
112
+ - Proposed solution
113
+ - Acceptance criteria
114
+ - Status tracking
115
+
116
+ **Research** — structured research outputs:
117
+
118
+ - Market analysis
119
+ - User research findings
120
+ - Technology assessments
121
+
122
+ The sidebar organizes these into collapsible groups — decisions, specs, and research each appear as expandable subsections under Planning.
123
+
124
+ ## Usage
125
+
126
+ ```bash
127
+ kitfly init client-docs --template productbook
128
+ kitfly init client-docs --template productbook --brand "Project Atlas"
129
+
130
+ # With AI assistance instrumentation
131
+ kitfly init client-docs --template productbook --standalone --ai-assist
132
+ ```
133
+
134
+ ## Productbook vs. Other Templates
135
+
136
+ | Aspect | Handbook | Runbook | Productbook |
137
+ | --------------- | ------------ | ---------------------- | --------------------------- |
138
+ | **Orientation** | How we work | How we keep it running | What we're building and why |
139
+ | **Assumes** | Team exists | System exists | Starting from scratch |
140
+ | **Key section** | Guides | Procedures | Domain |
141
+ | **Audience** | Team members | Operators | Product team + stakeholders |
142
+ | **Tone** | Explanatory | Imperative | Analytical |
143
+
144
+ ## Growing Your Productbook
145
+
146
+ As the engagement matures, the sections grow naturally:
147
+
148
+ **Domain deepens first** — business process docs accumulate as the team learns the domain:
149
+
150
+ ```
151
+ content/domain/processes/
152
+ ├── index.md
153
+ ├── order-fulfillment.md
154
+ ├── returns-processing.md
155
+ ├── inventory-reconciliation.md
156
+ └── seasonal-forecasting.md
157
+ ```
158
+
159
+ **Product fills in as features ship** — feature pages link to the domain processes they automate:
160
+
161
+ ```
162
+ content/product/features/
163
+ ├── index.md
164
+ ├── auto-scheduling.md # References domain/processes/delivery-scheduling
165
+ ├── tank-monitoring.md # References domain/processes/tank-monitoring
166
+ └── customer-portal.md
167
+ ```
168
+
169
+ **Planning captures decisions over time** — the ADR log becomes a valuable historical record.
170
+
171
+ ## Example Use Cases
172
+
173
+ **Enterprise SaaS for Complex Industry**
174
+
175
+ - Product: Platform features, integrations, user workflows
176
+ - Domain: Industry processes, regulatory requirements, competitive context
177
+ - Planning: Roadmap, ADRs for technology and vendor choices
178
+ - Guides: Customer onboarding, admin guides
179
+ - Reference: API architecture, third-party integrations, data models
180
+
181
+ **Client Engagement with Legacy System Modernization**
182
+
183
+ - Product: New platform capabilities replacing legacy functions
184
+ - Domain: Existing business processes, data structures, edge cases the legacy handles
185
+ - Planning: Migration specs, cutover decisions, research on replacement options
186
+ - Operations: Parallel-run environments, migration deployment procedures
187
+ - Reference: Legacy system documentation, data mapping, vendor contacts