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.
- package/CHANGELOG.md +34 -0
- package/README.md +63 -16
- package/VERSION +1 -1
- package/dist/_raw/content/deployment/preflight.md +134 -0
- package/dist/_raw/content/deployment/recipes/aws-s3.md +128 -0
- package/dist/_raw/content/deployment/recipes/cloudflare-pages.md +73 -0
- package/dist/_raw/content/deployment/recipes/cloudflare-r2.md +156 -0
- package/dist/_raw/content/deployment/recipes/fly-io.md +57 -0
- package/dist/_raw/content/deployment/recipes/github-pages.md +112 -0
- package/dist/_raw/content/deployment/recipes/netlify.md +99 -0
- package/dist/_raw/content/deployment/recipes/vercel.md +88 -0
- package/dist/_raw/content/deployment/secrets-and-env-vars.md +75 -0
- package/dist/_raw/content/deployment.md +128 -0
- package/dist/_raw/content/guide/approaches.md +182 -0
- package/dist/_raw/content/guide/features.md +121 -0
- package/dist/_raw/content/guide/getting-started.md +112 -0
- package/dist/_raw/content/guide/kitfly-overview.md +209 -0
- package/dist/_raw/content/reference/configuration.md +259 -0
- package/dist/_raw/content/reference/design-catalog.md +167 -0
- package/dist/_raw/content/reference/environment-variables.md +66 -0
- package/dist/_raw/content/reference/glossary.md +92 -0
- package/dist/_raw/content/reference/key-concepts.md +118 -0
- package/dist/_raw/content/reference/plugins.md +220 -0
- package/dist/_raw/content/reference/structure.md +166 -0
- package/dist/_raw/content/reference.md +19 -0
- package/dist/_raw/content/templates/crucible.md +192 -0
- package/dist/_raw/content/templates/handbook.md +83 -0
- package/dist/_raw/content/templates/minimal.md +138 -0
- package/dist/_raw/content/templates/overview.md +187 -0
- package/dist/_raw/content/templates/pipeline.md +151 -0
- package/dist/_raw/content/templates/productbook.md +187 -0
- package/dist/_raw/content/templates/runbook.md +193 -0
- package/dist/_raw/content/templates/servicebook.md +163 -0
- package/dist/_raw/docs/decisions/ADR-0001-minimalist-site-code.md +118 -0
- package/dist/_raw/docs/decisions/ADR-0002-ai-accessibility.md +153 -0
- package/dist/_raw/docs/decisions/ADR-0003-single-file-bundle.md +93 -0
- package/dist/_raw/docs/decisions/ADR-0004-bun-runtime.md +98 -0
- package/dist/_raw/docs/decisions/ADR-0005-plugin-contract-and-distribution.md +110 -0
- package/dist/_raw/docs/decisions/DDR-0001-viewport-locked-layout.md +111 -0
- package/dist/_raw/docs/decisions/DDR-0002-theme-system.md +131 -0
- package/dist/_raw/docs/decisions/DDR-0003-bounded-logo-slot.md +106 -0
- package/dist/_raw/docs/decisions/DDR-0004-slides-rendering-model.md +113 -0
- package/dist/_raw/docs/decisions/DDR-0005-deterministic-layout-boundary.md +107 -0
- package/dist/_raw/docs/userguide/cli/build.md +85 -0
- package/dist/_raw/docs/userguide/cli/bundle.md +81 -0
- package/dist/_raw/docs/userguide/cli/dev.md +92 -0
- package/dist/_raw/docs/userguide/cli/init.md +116 -0
- package/dist/_raw/docs/userguide/cli/servers.md +69 -0
- package/dist/_raw/docs/userguide/cli/stop.md +76 -0
- package/dist/_raw/docs/userguide/cli/update.md +78 -0
- package/dist/_raw/docs/userguide/cli/version.md +65 -0
- package/dist/_raw/docs/userguide/cli.md +34 -0
- package/dist/_raw/docs/userguide/sharing.md +94 -0
- package/dist/_raw/schemas/plugin-schemas-notes.md +71 -0
- package/dist/_raw/schemas.md +42 -0
- package/dist/assets/brand/kitfly-favicon-32.png +0 -0
- package/dist/assets/brand/kitfly-icon-64.png +0 -0
- package/dist/assets/brand/kitfly-logo-128.png +0 -0
- package/dist/assets/brand/kitfly-logo-512.png +0 -0
- package/dist/assets/brand/kitfly-logo.svg +12132 -0
- package/dist/assets/brand/kitfly-neon-128.png +0 -0
- package/dist/assets/brand/kitfly-neon-192.png +0 -0
- package/dist/assets/brand/kitfly-neon-256.png +0 -0
- package/dist/assets/brand/kitfly-neon.png +0 -0
- package/dist/assets/brand/palette.md +75 -0
- package/dist/content/deployment/index.html +11 -0
- package/dist/content/deployment/preflight.html +418 -0
- package/dist/content/deployment/recipes/aws-s3.html +421 -0
- package/dist/content/deployment/recipes/cloudflare-pages.html +372 -0
- package/dist/content/deployment/recipes/cloudflare-r2.html +443 -0
- package/dist/content/deployment/recipes/fly-io.html +356 -0
- package/dist/content/deployment/recipes/github-pages.html +414 -0
- package/dist/content/deployment/recipes/index.html +11 -0
- package/dist/content/deployment/recipes/netlify.html +394 -0
- package/dist/content/deployment/recipes/vercel.html +382 -0
- package/dist/content/deployment/secrets-and-env-vars.html +380 -0
- package/dist/content/deployment.html +426 -0
- package/dist/content/guide/approaches.html +501 -0
- package/dist/content/guide/features.html +436 -0
- package/dist/content/guide/getting-started.html +403 -0
- package/dist/content/guide/index.html +11 -0
- package/dist/content/guide/kitfly-overview.html +544 -0
- package/dist/content/index.html +11 -0
- package/dist/content/reference/configuration.html +580 -0
- package/dist/content/reference/design-catalog.html +449 -0
- package/dist/content/reference/environment-variables.html +367 -0
- package/dist/content/reference/glossary.html +368 -0
- package/dist/content/reference/index.html +11 -0
- package/dist/content/reference/key-concepts.html +399 -0
- package/dist/content/reference/plugins.html +491 -0
- package/dist/content/reference/structure.html +463 -0
- package/dist/content/reference.html +334 -0
- package/dist/content/templates/crucible.html +546 -0
- package/dist/content/templates/handbook.html +405 -0
- package/dist/content/templates/index.html +11 -0
- package/dist/content/templates/minimal.html +447 -0
- package/dist/content/templates/overview.html +558 -0
- package/dist/content/templates/pipeline.html +494 -0
- package/dist/content/templates/productbook.html +540 -0
- package/dist/content/templates/runbook.html +543 -0
- package/dist/content/templates/servicebook.html +523 -0
- package/dist/content-index.json +540 -0
- package/dist/docs/decisions/ADR-0001-minimalist-site-code.html +491 -0
- package/dist/docs/decisions/ADR-0002-ai-accessibility.html +434 -0
- package/dist/docs/decisions/ADR-0003-single-file-bundle.html +412 -0
- package/dist/docs/decisions/ADR-0004-bun-runtime.html +409 -0
- package/dist/docs/decisions/ADR-0005-plugin-contract-and-distribution.html +402 -0
- package/dist/docs/decisions/DDR-0001-viewport-locked-layout.html +459 -0
- package/dist/docs/decisions/DDR-0002-theme-system.html +452 -0
- package/dist/docs/decisions/DDR-0003-bounded-logo-slot.html +423 -0
- package/dist/docs/decisions/DDR-0004-slides-rendering-model.html +399 -0
- package/dist/docs/decisions/DDR-0005-deterministic-layout-boundary.html +422 -0
- package/dist/docs/decisions/index.html +11 -0
- package/dist/docs/userguide/cli/build.html +408 -0
- package/dist/docs/userguide/cli/bundle.html +419 -0
- package/dist/docs/userguide/cli/dev.html +428 -0
- package/dist/docs/userguide/cli/index.html +11 -0
- package/dist/docs/userguide/cli/init.html +436 -0
- package/dist/docs/userguide/cli/servers.html +393 -0
- package/dist/docs/userguide/cli/stop.html +408 -0
- package/dist/docs/userguide/cli/update.html +406 -0
- package/dist/docs/userguide/cli/version.html +406 -0
- package/dist/docs/userguide/cli.html +386 -0
- package/dist/docs/userguide/index.html +11 -0
- package/dist/docs/userguide/sharing.html +465 -0
- package/dist/index.html +387 -0
- package/dist/llms.txt +18 -0
- package/dist/provenance.json +7 -0
- package/dist/schemas/index.html +11 -0
- package/dist/schemas/plugin-registry.schema.html +327 -0
- package/dist/schemas/plugin-schemas-notes.html +364 -0
- package/dist/schemas/plugin.schema.html +327 -0
- package/dist/schemas/plugins.schema.html +327 -0
- package/dist/schemas/v0/common.schema.html +386 -0
- package/dist/schemas/v0/index.html +11 -0
- package/dist/schemas/v0/plugin-registry.schema.html +547 -0
- package/dist/schemas/v0/plugin.schema.html +497 -0
- package/dist/schemas/v0/plugins.schema.html +406 -0
- package/dist/schemas/v0/site.schema.html +541 -0
- package/dist/schemas/v0/theme.schema.html +615 -0
- package/dist/schemas.html +351 -0
- package/dist/styles.css +1262 -0
- package/package.json +4 -2
- package/plugins-dist/callouts.css +32 -0
- package/plugins-dist/callouts.js +46 -0
- package/plugins-dist/slides-visuals.css +224 -0
- package/plugins-dist/slides-visuals.js +598 -0
- package/registry/plugins.yaml +35 -0
- package/schemas/README.md +10 -0
- package/schemas/plugin-registry.schema.json +5 -0
- package/schemas/plugin-schemas-notes.md +71 -0
- package/schemas/plugin.schema.json +5 -0
- package/schemas/plugins.schema.json +5 -0
- package/schemas/v0/common.schema.json +64 -0
- package/schemas/v0/plugin-registry.schema.json +225 -0
- package/schemas/v0/plugin.schema.json +175 -0
- package/schemas/v0/plugins.schema.json +84 -0
- package/schemas/v0/site.schema.json +56 -9
- package/schemas/v0/theme.schema.json +105 -22
- package/scripts/build.ts +155 -3
- package/scripts/bundle.ts +258 -95
- package/scripts/dev.ts +203 -1
- package/src/__tests__/build.test.ts +158 -1
- package/src/__tests__/bundle.test.ts +31 -0
- package/src/__tests__/cli.test.ts +14 -3
- package/src/__tests__/fixtures/fences/slides-visuals/invalid/bad-list-indent.md +5 -0
- package/src/__tests__/fixtures/fences/slides-visuals/invalid/blank-line.md +5 -0
- package/src/__tests__/fixtures/fences/slides-visuals/invalid/compare-object-items.md +9 -0
- package/src/__tests__/fixtures/fences/slides-visuals/invalid/indented-fence.md +4 -0
- package/src/__tests__/fixtures/fences/slides-visuals/invalid/stat-grid-missing-fields.md +5 -0
- package/src/__tests__/fixtures/fences/slides-visuals/invalid/unknown-type.md +3 -0
- package/src/__tests__/fixtures/fences/slides-visuals/valid/compare.md +10 -0
- package/src/__tests__/fixtures/fences/slides-visuals/valid/comparison-table.md +14 -0
- package/src/__tests__/fixtures/fences/slides-visuals/valid/funnel.md +7 -0
- package/src/__tests__/fixtures/fences/slides-visuals/valid/kpi.md +5 -0
- package/src/__tests__/fixtures/fences/slides-visuals/valid/layer-cake.md +6 -0
- package/src/__tests__/fixtures/fences/slides-visuals/valid/pyramid.md +6 -0
- package/src/__tests__/fixtures/fences/slides-visuals/valid/quadrant-grid.md +8 -0
- package/src/__tests__/fixtures/fences/slides-visuals/valid/scorecard.md +13 -0
- package/src/__tests__/fixtures/fences/slides-visuals/valid/stat-grid.md +8 -0
- package/src/__tests__/init.test.ts +35 -0
- package/src/__tests__/plugin-loader.test.ts +221 -0
- package/src/__tests__/shared.test.ts +428 -0
- package/src/__tests__/slides-visuals-fence-contract.test.ts +28 -0
- package/src/__tests__/slides-visuals-runtime-regressions.bun.test.ts +114 -0
- package/src/__tests__/styles.test.ts +35 -0
- package/src/cli.ts +9 -4
- package/src/plugin-loader.ts +245 -0
- package/src/shared.ts +614 -7
- package/src/site/styles.css +331 -0
- package/src/site/template.html +66 -5
- package/src/templates/deck.ts +186 -0
- package/src/templates/driver.ts +11 -1
- 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
|