kitfly 0.1.2 → 0.2.1
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 +46 -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/slides-authoring-guidelines.md +129 -0
- package/dist/_raw/content/reference/structure.md +166 -0
- package/dist/_raw/content/reference.md +20 -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/slides-authoring-guidelines.html +418 -0
- package/dist/content/reference/structure.html +463 -0
- package/dist/content/reference.html +335 -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 +549 -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 +390 -0
- package/plugins-dist/slides-visuals.js +689 -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 +158 -3
- package/scripts/bundle.ts +261 -95
- package/scripts/dev.ts +301 -11
- package/src/__tests__/build.test.ts +220 -1
- package/src/__tests__/bundle.test.ts +31 -0
- package/src/__tests__/cli.test.ts +14 -3
- package/src/__tests__/dev-plugin-errors.test.ts +20 -0
- 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/flow-branching-no-source.md +5 -0
- package/src/__tests__/fixtures/fences/slides-visuals/invalid/flow-converging-no-target.md +6 -0
- package/src/__tests__/fixtures/fences/slides-visuals/invalid/indented-fence.md +4 -0
- package/src/__tests__/fixtures/fences/slides-visuals/invalid/staircase-empty-steps.md +3 -0
- package/src/__tests__/fixtures/fences/slides-visuals/invalid/stat-grid-missing-fields.md +5 -0
- package/src/__tests__/fixtures/fences/slides-visuals/invalid/timeline-horizontal-no-events.md +2 -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/flow-branching-no-split.md +7 -0
- package/src/__tests__/fixtures/fences/slides-visuals/valid/flow-branching.md +8 -0
- package/src/__tests__/fixtures/fences/slides-visuals/valid/flow-converging-no-merge.md +7 -0
- package/src/__tests__/fixtures/fences/slides-visuals/valid/flow-converging.md +8 -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/staircase-down.md +7 -0
- package/src/__tests__/fixtures/fences/slides-visuals/valid/staircase.md +8 -0
- package/src/__tests__/fixtures/fences/slides-visuals/valid/stat-grid.md +8 -0
- package/src/__tests__/fixtures/fences/slides-visuals/valid/timeline-horizontal.md +9 -0
- package/src/__tests__/fixtures/fences/slides-visuals/valid/timeline-vertical.md +10 -0
- package/src/__tests__/init.test.ts +35 -0
- package/src/__tests__/plugin-loader.test.ts +221 -0
- package/src/__tests__/shared.test.ts +451 -0
- package/src/__tests__/slides-visuals-fence-contract.test.ts +28 -0
- package/src/__tests__/slides-visuals-runtime-regressions.bun.test.ts +147 -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 +650 -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,192 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Crucible Template
|
|
3
|
+
description: Information architecture SSOT with specs, schemas, config, and governance
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Crucible Template
|
|
7
|
+
|
|
8
|
+
The `crucible` template creates a **layer-0 information architecture site** — the single source of truth (SSOT) for an ecosystem's specifications, schemas, configuration, and governance. It extends `minimal` with six sections and a four-zone layout that separates rendered documentation from machine-consumable artifacts.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- Establishing the foundational standards for a new ecosystem or platform
|
|
13
|
+
- Centralizing specs, schemas, and config that multiple projects depend on
|
|
14
|
+
- Governing an organization's technical standards, policies, and decision records
|
|
15
|
+
- Creating a reference architecture that AI agents and humans consume together
|
|
16
|
+
- Any situation where you need a "layer 0" that everything else builds on
|
|
17
|
+
|
|
18
|
+
## What You Get
|
|
19
|
+
|
|
20
|
+
Everything from `minimal`, plus:
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
my-crucible/
|
|
24
|
+
├── site.yaml # Configured with 6 sections
|
|
25
|
+
├── index.md # Home page with standards status and zone overview
|
|
26
|
+
├── CUSTOMIZING.md # Four-zone layout guide (AI + human friendly)
|
|
27
|
+
├── content/
|
|
28
|
+
│ ├── specs/
|
|
29
|
+
│ │ ├── overview.md # Standards catalog with status table
|
|
30
|
+
│ │ └── spec-template.md # Specification template (RFC 2119)
|
|
31
|
+
│ ├── schemas/
|
|
32
|
+
│ │ ├── index.md # Schema catalog linking to raw files
|
|
33
|
+
│ │ └── versioning.md # Schema versioning policy
|
|
34
|
+
│ ├── config/
|
|
35
|
+
│ │ ├── overview.md # Config catalog overview
|
|
36
|
+
│ │ ├── roles.md # Role definitions documentation
|
|
37
|
+
│ │ └── prompts.md # Prompt templates documentation
|
|
38
|
+
│ ├── policies/
|
|
39
|
+
│ │ ├── security-model.md # Security baseline
|
|
40
|
+
│ │ ├── dependency-policy.md # Dependency governance
|
|
41
|
+
│ │ └── change-procedure.md # How changes are approved
|
|
42
|
+
│ ├── guides/
|
|
43
|
+
│ │ ├── getting-started.md # Consuming the crucible
|
|
44
|
+
│ │ └── contributing.md # Adding specs, schemas, config
|
|
45
|
+
│ └── reference/
|
|
46
|
+
│ ├── decisions/
|
|
47
|
+
│ │ ├── index.md # Decision log (ADR pattern)
|
|
48
|
+
│ │ └── adr-template.md # ADR template
|
|
49
|
+
│ ├── changelog/
|
|
50
|
+
│ │ └── index.md # Release log
|
|
51
|
+
│ └── glossary.md # Terminology
|
|
52
|
+
├── internal/
|
|
53
|
+
│ └── ops/
|
|
54
|
+
│ └── README.md # Explains the internal zone
|
|
55
|
+
└── ...
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Sections
|
|
59
|
+
|
|
60
|
+
| Section | Purpose | Typical Content |
|
|
61
|
+
| ------------- | ---------------------- | --------------------------------------------------------------- |
|
|
62
|
+
| **Specs** | What the standards are | Specifications, technical definitions, RFC 2119 requirements |
|
|
63
|
+
| **Schemas** | The contracts | Schema catalog, versioning policy, field documentation |
|
|
64
|
+
| **Config** | The data | Configuration catalogs, taxonomies, role and prompt definitions |
|
|
65
|
+
| **Policies** | The rules | Security model, dependency governance, change procedures |
|
|
66
|
+
| **Guides** | How to use it | Getting started, contributing, integration guides |
|
|
67
|
+
| **Reference** | Look-up material | Decision records, changelog, glossary |
|
|
68
|
+
|
|
69
|
+
## The Four-Zone Model
|
|
70
|
+
|
|
71
|
+
This is what makes crucible different from every other template. Crucibles serve two audiences simultaneously — **humans reading documentation** and **machines consuming schemas and config**. The four-zone layout makes this explicit:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
my-crucible/
|
|
75
|
+
├── content/ ← RENDERED: kitfly documentation sections
|
|
76
|
+
├── schemas/ ← MACHINE: JSON Schema files (consumed by code)
|
|
77
|
+
├── config/ ← MACHINE: YAML catalogs, roles, prompts
|
|
78
|
+
├── internal/ ← PROJECT: repo ops, project code, automation
|
|
79
|
+
├── src/ ← KITFLY: site engine (standalone only)
|
|
80
|
+
└── scripts/ ← KITFLY: build scripts (standalone only)
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**Zone rules:**
|
|
84
|
+
|
|
85
|
+
- `content/` documents the artifacts in other zones (e.g., `content/schemas/` documents `schemas/`)
|
|
86
|
+
- `schemas/` and `config/` are machine-consumable — other projects `$ref` or import from these paths
|
|
87
|
+
- `internal/` holds repo housekeeping, project code (lang wrappers, code generators), and automation
|
|
88
|
+
- `src/` and `scripts/` are kitfly's territory (standalone mode only)
|
|
89
|
+
|
|
90
|
+
For a WASM skill platform, this might look like:
|
|
91
|
+
|
|
92
|
+
- **Machine zone**: `schemas/ipc/v0/control.schema.json`, `config/agentic/roles/devlead.yaml`
|
|
93
|
+
- **Content zone**: `content/schemas/ipc-protocol.md` documenting those schemas
|
|
94
|
+
- **Internal zone**: `internal/src/` for language-specific SDK generators
|
|
95
|
+
|
|
96
|
+
## The Config Section
|
|
97
|
+
|
|
98
|
+
Crucibles define the **agentic catalog** — roles and prompts that AI agents use across the ecosystem:
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
config/agentic/
|
|
102
|
+
├── roles/ # WHO — role definitions (scope, mindset, anti-patterns)
|
|
103
|
+
├── prompts/ # HOW — reusable prompt templates for specific tasks
|
|
104
|
+
└── README.md
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Roles define identity ("I am a devlead"). Prompts define approach ("Write a spec following this template"). The `content/config/` section documents these for human consumption.
|
|
108
|
+
|
|
109
|
+
## Usage
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
kitfly init my-crucible --template crucible
|
|
113
|
+
kitfly init my-crucible --template crucible --brand "Lanyte Standards"
|
|
114
|
+
|
|
115
|
+
# With AI assistance instrumentation
|
|
116
|
+
kitfly init my-crucible --template crucible --standalone --ai-assist
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Crucible vs. Other Templates
|
|
120
|
+
|
|
121
|
+
| Aspect | Handbook | Productbook | Crucible |
|
|
122
|
+
| --------------------- | ------------ | -------------- | ------------------------------- |
|
|
123
|
+
| **Orientation** | How we work | What we build | What everything is built on |
|
|
124
|
+
| **Assumes** | Team exists | Product exists | Ecosystem starting |
|
|
125
|
+
| **Key section** | Guides | Domain | Specs |
|
|
126
|
+
| **Audience** | Team members | Product team | All consumers + machines |
|
|
127
|
+
| **Tone** | Explanatory | Analytical | Prescriptive (RFC 2119) |
|
|
128
|
+
| **Machine artifacts** | None | None | Schemas + config alongside docs |
|
|
129
|
+
|
|
130
|
+
## Growing Your Crucible
|
|
131
|
+
|
|
132
|
+
As the ecosystem matures, the sections grow naturally:
|
|
133
|
+
|
|
134
|
+
**Specs accumulate as standards are defined** — each standard gets its own page:
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
content/specs/
|
|
138
|
+
├── overview.md
|
|
139
|
+
├── spec-template.md
|
|
140
|
+
├── skill-abi-v1.md
|
|
141
|
+
├── ipc-protocol.md
|
|
142
|
+
├── autonomy-model.md
|
|
143
|
+
└── capability-model.md
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**Schemas grow with the type system** — organized by domain and version:
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
schemas/
|
|
150
|
+
├── ipc/v0/
|
|
151
|
+
│ ├── control.schema.json
|
|
152
|
+
│ ├── command.schema.json
|
|
153
|
+
│ └── telemetry.schema.json
|
|
154
|
+
├── skill/v0/
|
|
155
|
+
│ ├── manifest.schema.json
|
|
156
|
+
│ └── capability.schema.json
|
|
157
|
+
└── config/v0/
|
|
158
|
+
└── autonomy-gates.schema.json
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**Policies solidify through experience** — security model, dependency rules, and change procedures evolve.
|
|
162
|
+
|
|
163
|
+
**Decisions capture the "why"** — the ADR log becomes the institutional memory.
|
|
164
|
+
|
|
165
|
+
## Example Use Cases
|
|
166
|
+
|
|
167
|
+
**WASM Skill Platform (Lanyte)**
|
|
168
|
+
|
|
169
|
+
- Specs: Skill ABI, IPC protocol, autonomy model, capability taxonomy
|
|
170
|
+
- Schemas: IPC message schemas, skill manifest, assessment pipeline
|
|
171
|
+
- Config: Autonomy gates, delegation rules, proxy policies
|
|
172
|
+
- Policies: Security model, dependency policy, skill assessment criteria
|
|
173
|
+
- Guides: Writing skills, deployment, skill assessment process
|
|
174
|
+
- Reference: ADRs for architecture choices, CalVer changelog
|
|
175
|
+
|
|
176
|
+
**Enterprise Ecosystem (FulmenHQ-style)**
|
|
177
|
+
|
|
178
|
+
- Specs: Coding standards, repository category standards, testing standards
|
|
179
|
+
- Schemas: Logging schemas, config schemas, error handling schemas
|
|
180
|
+
- Config: Repository taxonomy, fixture catalog, branding ecosystem
|
|
181
|
+
- Policies: Stream output policy, dependency governance, publishing standards
|
|
182
|
+
- Guides: Bootstrap guide, integration patterns, consuming assets
|
|
183
|
+
- Reference: Two-tier ADR system, release notes, glossary
|
|
184
|
+
|
|
185
|
+
**Open Source Foundation**
|
|
186
|
+
|
|
187
|
+
- Specs: API standards, data format specifications, interop requirements
|
|
188
|
+
- Schemas: API schemas, event schemas, config schemas
|
|
189
|
+
- Config: Project taxonomy, maintainer roles
|
|
190
|
+
- Policies: Contribution policy, security disclosure, licensing
|
|
191
|
+
- Guides: Getting started, SDK integration, migration guides
|
|
192
|
+
- Reference: Governance decisions, release history, terminology
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Handbook Template
|
|
3
|
+
description: Team documentation with overview, guides, and reference sections
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Handbook Template
|
|
7
|
+
|
|
8
|
+
The `handbook` template creates a structured documentation site for teams. It extends `minimal` with three predefined sections.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- Team onboarding documentation
|
|
13
|
+
- Internal knowledge bases
|
|
14
|
+
- Product documentation
|
|
15
|
+
- Developer handbooks
|
|
16
|
+
- Any docs that explain "what" and "how"
|
|
17
|
+
|
|
18
|
+
## What You Get
|
|
19
|
+
|
|
20
|
+
Everything from `minimal`, plus:
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
my-handbook/
|
|
24
|
+
├── site.yaml # Configured with sections
|
|
25
|
+
├── index.md # Home page linking to sections
|
|
26
|
+
├── CUSTOMIZING.md # How to customize this site (AI + human friendly)
|
|
27
|
+
├── content/
|
|
28
|
+
│ ├── overview/
|
|
29
|
+
│ │ └── introduction.md # High-level concepts
|
|
30
|
+
│ ├── guides/
|
|
31
|
+
│ │ └── getting-started.md # Step-by-step tutorials
|
|
32
|
+
│ └── reference/
|
|
33
|
+
│ └── glossary.md # Terminology and definitions
|
|
34
|
+
└── ...
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Sections
|
|
38
|
+
|
|
39
|
+
| Section | Purpose | Typical Content |
|
|
40
|
+
| ------------- | --------------------- | --------------------------------------- |
|
|
41
|
+
| **Overview** | Big picture, concepts | Architecture, key decisions, principles |
|
|
42
|
+
| **Guides** | How to do things | Tutorials, walkthroughs, recipes |
|
|
43
|
+
| **Reference** | Look-up information | API docs, glossaries, specifications |
|
|
44
|
+
|
|
45
|
+
This follows the [Diátaxis](https://diataxis.fr/) documentation framework's distinction between explanation (Overview), how-to guides (Guides), and reference material (Reference).
|
|
46
|
+
|
|
47
|
+
## Usage
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
kitfly init team-docs --template handbook
|
|
51
|
+
kitfly init team-docs --template handbook --brand "Engineering"
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Customization
|
|
55
|
+
|
|
56
|
+
After creation, you can:
|
|
57
|
+
|
|
58
|
+
- **Add sections**: Edit `site.yaml` to add more sections
|
|
59
|
+
- **Rename sections**: Change the `name` field in `site.yaml`
|
|
60
|
+
- **Restructure**: Move folders and update paths in `site.yaml`
|
|
61
|
+
- **Add files**: Create new `.md` files in any section folder
|
|
62
|
+
|
|
63
|
+
The starter files are placeholders with `<!-- ← CUSTOMIZE -->` comments showing where to add your content.
|
|
64
|
+
|
|
65
|
+
## Example Use Cases
|
|
66
|
+
|
|
67
|
+
**Engineering Handbook**
|
|
68
|
+
|
|
69
|
+
- Overview: Team principles, tech stack decisions
|
|
70
|
+
- Guides: Development setup, deployment process, code review
|
|
71
|
+
- Reference: API contracts, environment variables, tooling
|
|
72
|
+
|
|
73
|
+
**Product Documentation**
|
|
74
|
+
|
|
75
|
+
- Overview: Product vision, target users
|
|
76
|
+
- Guides: Getting started, common workflows
|
|
77
|
+
- Reference: Feature specs, integration docs
|
|
78
|
+
|
|
79
|
+
**Onboarding Docs**
|
|
80
|
+
|
|
81
|
+
- Overview: Company culture, team structure
|
|
82
|
+
- Guides: First week checklist, tool setup
|
|
83
|
+
- Reference: Glossary, org chart, contacts
|
|
@@ -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
|