create-zudo-circuit-doc 0.1.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 +26 -0
- package/LICENSE +21 -0
- package/README.md +58 -0
- package/bin/create-zudo-circuit-doc.js +6 -0
- package/dist/args.d.ts +21 -0
- package/dist/args.js +71 -0
- package/dist/cli.d.ts +27 -0
- package/dist/cli.js +101 -0
- package/dist/errors.d.ts +4 -0
- package/dist/errors.js +7 -0
- package/dist/git.d.ts +11 -0
- package/dist/git.js +69 -0
- package/dist/help.d.ts +2 -0
- package/dist/help.js +21 -0
- package/dist/install.d.ts +3 -0
- package/dist/install.js +17 -0
- package/dist/next-steps.d.ts +10 -0
- package/dist/next-steps.js +24 -0
- package/dist/plan.d.ts +17 -0
- package/dist/plan.js +59 -0
- package/dist/prompt.d.ts +3 -0
- package/dist/prompt.js +12 -0
- package/dist/scaffold.d.ts +22 -0
- package/dist/scaffold.js +187 -0
- package/dist/shell-quote.d.ts +2 -0
- package/dist/shell-quote.js +7 -0
- package/dist/validate.d.ts +18 -0
- package/dist/validate.js +85 -0
- package/dist/version.d.ts +6 -0
- package/dist/version.js +13 -0
- package/package.json +49 -0
- package/templates/default/.claude/skills/circuit-spec-integration/SKILL.md +22 -0
- package/templates/default/.claude/skills/circuit-spec-integration/references/rules.json +4 -0
- package/templates/default/.claude/skills/component-spec-audit/SKILL.md +36 -0
- package/templates/default/.claude/skills/component-spec-audit/references/contract.md +21 -0
- package/templates/default/.claude/skills/component-spec-audit/references/direct-routing.json +5 -0
- package/templates/default/.claude/skills/component-spec-audit/references/external-vendor-qualifiers.json +4 -0
- package/templates/default/.claude/skills/component-spec-audit/references/inventory.json +11 -0
- package/templates/default/.claude/skills/component-spec-audit/references/new-component-workflow.md +113 -0
- package/templates/default/AGENTS.md +7 -0
- package/templates/default/CLAUDE.md +7 -0
- package/templates/default/README.md +49 -0
- package/templates/default/ZUDO_DEPS_PINS.md +48 -0
- package/templates/default/_gitignore +25 -0
- package/templates/default/circuit/WORKFLOW.md +361 -0
- package/templates/default/circuit/agent-task-examples.md +178 -0
- package/templates/default/circuit/checks/README.md +37 -0
- package/templates/default/circuit/generated/preflight.json +625 -0
- package/templates/default/circuit/publication/assets.json +9 -0
- package/templates/default/circuit/publication/selection.json +13 -0
- package/templates/default/circuit/templates/README.md +33 -0
- package/templates/default/circuit/templates/cad-asset-receipt.json +58 -0
- package/templates/default/circuit/templates/cad-asset-receipt.md +33 -0
- package/templates/default/circuit/templates/project-docs/architecture/interfaces.mdx +52 -0
- package/templates/default/circuit/templates/project-docs/architecture/overview.mdx +55 -0
- package/templates/default/circuit/templates/project-docs/decisions/decision.mdx +66 -0
- package/templates/default/circuit/templates/project-docs/decisions/sourcing.mdx +57 -0
- package/templates/default/circuit/templates/project-docs/project/change-impact.mdx +61 -0
- package/templates/default/circuit/templates/project-docs/project/index.mdx +62 -0
- package/templates/default/circuit/templates/project-docs/project/next-actions.mdx +58 -0
- package/templates/default/circuit/templates/project-docs/project/task-request.mdx +56 -0
- package/templates/default/circuit/templates/project-docs/research/component-candidate.mdx +60 -0
- package/templates/default/circuit/templates/project-docs/verification/bring-up.mdx +55 -0
- package/templates/default/circuit.config.ts +36 -0
- package/templates/default/doc/package.json +37 -0
- package/templates/default/doc/pages/docs/[[...slug]].tsx +68 -0
- package/templates/default/doc/pages/index.tsx +6 -0
- package/templates/default/doc/pages/lib/_circuit-doc-islands.ts +4 -0
- package/templates/default/doc/public/favicon-16x16.png +0 -0
- package/templates/default/doc/public/favicon-32x32.png +0 -0
- package/templates/default/doc/public/favicon.ico +0 -0
- package/templates/default/doc/public/favicon.svg +4 -0
- package/templates/default/doc/scripts/check-links.js +969 -0
- package/templates/default/doc/src/chrome-bindings.tsx +11 -0
- package/templates/default/doc/src/content/docs/architecture/index.mdx +11 -0
- package/templates/default/doc/src/content/docs/architecture/overview.mdx +55 -0
- package/templates/default/doc/src/content/docs/components/catalog/index.mdx +12 -0
- package/templates/default/doc/src/content/docs/components/index.mdx +49 -0
- package/templates/default/doc/src/content/docs/components/integration/index.mdx +34 -0
- package/templates/default/doc/src/content/docs/components/records/index.mdx +14 -0
- package/templates/default/doc/src/content/docs/decisions/index.mdx +9 -0
- package/templates/default/doc/src/content/docs/project/how-we-work.mdx +67 -0
- package/templates/default/doc/src/content/docs/project/index.mdx +60 -0
- package/templates/default/doc/src/content/docs/project/next-actions.mdx +58 -0
- package/templates/default/doc/src/content/docs/research/index.mdx +9 -0
- package/templates/default/doc/src/content/docs/verification/index.mdx +9 -0
- package/templates/default/doc/src/styles/global.css +31 -0
- package/templates/default/doc/tsconfig.json +13 -0
- package/templates/default/doc/zfb.config.ts +78 -0
- package/templates/default/package.json +23 -0
- package/templates/default/pnpm-workspace.yaml +9 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Verification and bring-up report"
|
|
3
|
+
description: "A revision-specific test plan and execution record with evidence, results, and remaining limits."
|
|
4
|
+
sidebar_position: 10
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Duplicate this page for a bounded verification or a specific hardware run. The initial state is **plan only; no procedure has been performed**. A new project must define its own sequence, operating limits, and acceptance criteria.
|
|
8
|
+
|
|
9
|
+
## Test identity
|
|
10
|
+
|
|
11
|
+
| Field | Entry |
|
|
12
|
+
|---|---|
|
|
13
|
+
| Report ID | Not assigned |
|
|
14
|
+
| Question or behavior being tested | Not entered |
|
|
15
|
+
| Plan or execution state | Plan only; not run |
|
|
16
|
+
| Date, operator and location | Not entered |
|
|
17
|
+
| Physical unit or specimen ID | Not entered |
|
|
18
|
+
| Schematic and PCB revision | Not entered |
|
|
19
|
+
| Firmware and stored configuration | Not entered |
|
|
20
|
+
| Assembly deviations or rework | Not entered |
|
|
21
|
+
| Related requirements and open questions | Not entered |
|
|
22
|
+
|
|
23
|
+
If no hardware is available, record the work as a proposed procedure, document review, simulation, or other appropriate activity. Do not report a calculated prediction as a measurement.
|
|
24
|
+
|
|
25
|
+
## Scope and prerequisites
|
|
26
|
+
|
|
27
|
+
State what this activity can establish and what it cannot. Identify the actual setup, instruments, source, loads, fixtures, connection mapping, and relevant environmental conditions. Record instrument mode and measurement method where they change the meaning of a result.
|
|
28
|
+
|
|
29
|
+
List prerequisites in the order needed for this project. Link the evidence that defines initial configuration and allowable conditions. Identify any unresolved prerequisite before execution; limits and sequences from another project or a reference design are not defaults for this circuit.
|
|
30
|
+
|
|
31
|
+
## Acceptance criteria and observations
|
|
32
|
+
|
|
33
|
+
| Check ID | Setup and action | Expected criterion and basis | Observation or raw evidence | Outcome |
|
|
34
|
+
|---|---|---|---|---|
|
|
35
|
+
| Not assigned | Not planned | Not defined | Not recorded | Not run |
|
|
36
|
+
|
|
37
|
+
Define each criterion before evaluating the result. A useful outcome distinguishes pass, fail, inconclusive, blocked, and not run, keeping it separate from the evidence verdicts listed in `circuit/WORKFLOW.md`. A check can pass within its scope while a broader design question remains open.
|
|
38
|
+
|
|
39
|
+
Where a staged sequence is necessary, state which result permits the next stage, why that dependency exists, and what action follows an unexpected result. Select the actual limits from this project's evidence and engineering review.
|
|
40
|
+
|
|
41
|
+
## Captured evidence
|
|
42
|
+
|
|
43
|
+
| Evidence reference | What it contains | Capture conditions | Revision or configuration association |
|
|
44
|
+
|---|---|---|---|
|
|
45
|
+
| None recorded | Not entered | Not entered | Not entered |
|
|
46
|
+
|
|
47
|
+
Examples include meter readings, scope captures, logs, photographs, configuration readback, or dimensional measurements. Preserve raw observations and link them from the component evidence bundle or verification records. A filename alone does not establish what setup produced it.
|
|
48
|
+
|
|
49
|
+
## Result and interpretation
|
|
50
|
+
|
|
51
|
+
No result is recorded. Once executed, write what was directly observed, what was inferred, and what remains unresolved. Describe any unexpected behavior before proposing its cause. If a test changes the setup or the hardware partway through, preserve that transition and identify which observations belong to which state.
|
|
52
|
+
|
|
53
|
+
## Follow-up and affected claims
|
|
54
|
+
|
|
55
|
+
List claims, calculations, decisions, or next actions that this result supports or reopens. Update the canonical evidence coverage only for the scope actually demonstrated. Link a separate report for a repeated test or another physical revision.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { CircuitConfig } from "@takazudo/zudo-circuit-doc/config";
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
configVersion: 1,
|
|
5
|
+
project: {
|
|
6
|
+
name: "__PROJECT_NAME__",
|
|
7
|
+
title: "__SITE_TITLE__",
|
|
8
|
+
},
|
|
9
|
+
docs: {
|
|
10
|
+
root: "doc",
|
|
11
|
+
generatedContent: "doc/src/content/docs/components",
|
|
12
|
+
preflight: "circuit/generated/preflight.json",
|
|
13
|
+
publicRoot: "doc/public",
|
|
14
|
+
dist: "doc/dist",
|
|
15
|
+
agentResources: true,
|
|
16
|
+
},
|
|
17
|
+
evidence: {
|
|
18
|
+
contractVersion: 1,
|
|
19
|
+
bundlesRoot: ".claude/skills",
|
|
20
|
+
ownerPrefix: "component-",
|
|
21
|
+
auditSkill: "component-spec-audit",
|
|
22
|
+
integrationSkill: "circuit-spec-integration",
|
|
23
|
+
inventory: ".claude/skills/component-spec-audit/references/inventory.json",
|
|
24
|
+
integrationRules: ".claude/skills/circuit-spec-integration/references/rules.json",
|
|
25
|
+
directRouting: ".claude/skills/component-spec-audit/references/direct-routing.json",
|
|
26
|
+
vendorQualifiers: ".claude/skills/component-spec-audit/references/external-vendor-qualifiers.json",
|
|
27
|
+
sourceCache: ".circuit-cache/sources",
|
|
28
|
+
},
|
|
29
|
+
inventoryProvider: { kind: "manual" },
|
|
30
|
+
publication: {
|
|
31
|
+
selection: "circuit/publication/selection.json",
|
|
32
|
+
assets: "circuit/publication/assets.json",
|
|
33
|
+
},
|
|
34
|
+
cad: { enabled: false, libraryName: "__LIBRARY_NAME__" },
|
|
35
|
+
validation: {},
|
|
36
|
+
} satisfies CircuitConfig;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "__PROJECT_NAME__-doc",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"private": true,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"engines": {
|
|
7
|
+
"node": ">=22.18.0"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"dev": "zudo-circuit-doc generate --config ../circuit.config.ts && run-parallel dev:zfb dev:history dev:circuit",
|
|
11
|
+
"build": "zfb build",
|
|
12
|
+
"preview": "zfb preview",
|
|
13
|
+
"check": "zfb check",
|
|
14
|
+
"check:links": "node scripts/check-links.js",
|
|
15
|
+
"dev:zfb": "zfb dev",
|
|
16
|
+
"dev:zfb:network": "zfb dev --host 0.0.0.0",
|
|
17
|
+
"dev:network": "run-parallel dev:zfb:network dev:history",
|
|
18
|
+
"dev:history": "doc-history-server --port 4322 --content-dir src/content/docs",
|
|
19
|
+
"dev:circuit": "zudo-circuit-doc generate --watch --config ../circuit.config.ts"
|
|
20
|
+
},
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@takazudo/zfb": "2.21.0",
|
|
23
|
+
"@takazudo/zfb-runtime": "2.21.0",
|
|
24
|
+
"@takazudo/zfb-md-wasm": "2.21.0",
|
|
25
|
+
"@takazudo/zudo-doc": "5.27.0",
|
|
26
|
+
"@takazudo/zudo-doc-history-server": "5.27.0",
|
|
27
|
+
"@takazudo/zudo-circuit-doc": "^0.1.0",
|
|
28
|
+
"zod": "^4.3.6",
|
|
29
|
+
"preact": "^10.29.1",
|
|
30
|
+
"preact-render-to-string": "^6.6.6",
|
|
31
|
+
"diff": "^8.0.3"
|
|
32
|
+
},
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"typescript": "^5.9.0",
|
|
35
|
+
"@types/node": "^22.0.0"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/** @jsxRuntime automatic */
|
|
2
|
+
/** @jsxImportSource preact */
|
|
3
|
+
// Locked manifest (#2653 Decision 4): a SELF-CONTAINED doc-route stub retained
|
|
4
|
+
// for explicit host route ownership. zfb 2.13.1 also serves injected dynamic
|
|
5
|
+
// routes in dev. This stub reconstructs the doc route from scratch using ONLY the
|
|
6
|
+
// sanctioned package entrypoints — no `pages/lib`, no `@/config`:
|
|
7
|
+
// 1. the `virtual:zudo-doc-route-context` virtual module (serializable
|
|
8
|
+
// settings/translations/tagVocabulary/colorSchemes payload),
|
|
9
|
+
// 2. `@takazudo/zudo-doc/route-context` (`createRouteContext`),
|
|
10
|
+
// 3. `@takazudo/zudo-doc/chrome` (`createChrome`), and
|
|
11
|
+
// 4. `virtual:zudo-doc-chrome-bindings` (the host-callables channel).
|
|
12
|
+
// The bindings import is unconditional: the routes plugin supplies an empty
|
|
13
|
+
// object when `chromeBindingsModule` is unset, while configured projects get
|
|
14
|
+
// their MDX/chrome bindings without editing this stub.
|
|
15
|
+
// Makes `/docs/getting-started/` return 200 in BOTH `zfb dev` and `zfb build`.
|
|
16
|
+
// The route-injection build test covers the corresponding package-owned route;
|
|
17
|
+
// this kept file remains the explicit host-owned seam.
|
|
18
|
+
//
|
|
19
|
+
// docHistory note: when the docHistory feature is selected, the generator
|
|
20
|
+
// patches this file to statically import DocHistory from
|
|
21
|
+
// "@takazudo/zudo-doc/doc-history" and merge it over chromeBindings in
|
|
22
|
+
// createChrome's hostBindings (second) argument —
|
|
23
|
+
// DocHistory's chrome-derive default is a no-op stub (unlike
|
|
24
|
+
// DesignTokenPanelBootstrap, which the package auto-defaults), so without
|
|
25
|
+
// that patch the doc-history button never hydrates on this route.
|
|
26
|
+
|
|
27
|
+
import type { JSX } from "preact";
|
|
28
|
+
import { routeContext } from "virtual:zudo-doc-route-context";
|
|
29
|
+
import {
|
|
30
|
+
createRouteContext,
|
|
31
|
+
type RouteContextPayload,
|
|
32
|
+
} from "@takazudo/zudo-doc/route-context";
|
|
33
|
+
import { createChrome } from "@takazudo/zudo-doc/chrome";
|
|
34
|
+
import { DocHistory } from "@takazudo/zudo-doc/doc-history";
|
|
35
|
+
import { defineChromeBindings } from "@takazudo/zudo-doc/chrome-bindings";
|
|
36
|
+
import { chromeBindings } from "virtual:zudo-doc-chrome-bindings";
|
|
37
|
+
import "../lib/_circuit-doc-islands";
|
|
38
|
+
|
|
39
|
+
const ctx = routeContext as unknown as RouteContextPayload;
|
|
40
|
+
const routeCtx = createRouteContext(ctx);
|
|
41
|
+
const { renderDocPage } = createChrome(routeCtx, {
|
|
42
|
+
...chromeBindings,
|
|
43
|
+
...defineChromeBindings({ DocHistory }),
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
export const frontmatter = { title: "Docs" };
|
|
47
|
+
|
|
48
|
+
export function paths(): Array<{ params: { slug: string[] }; props: unknown }> {
|
|
49
|
+
const locale = routeCtx.defaultLocale;
|
|
50
|
+
const source = routeCtx.resolveNavSource(locale, undefined);
|
|
51
|
+
return routeCtx.buildDocRouteEntries({
|
|
52
|
+
source,
|
|
53
|
+
locale,
|
|
54
|
+
routeSig: `docs;${locale}`,
|
|
55
|
+
}).map((item) => ({
|
|
56
|
+
params: { slug: item.slugParams },
|
|
57
|
+
props: item.props,
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
type PageArgs = { params: { slug: string[] } } & Record<string, unknown>;
|
|
62
|
+
|
|
63
|
+
export default function DocsPage(props: PageArgs): JSX.Element {
|
|
64
|
+
return renderDocPage(props as never, {
|
|
65
|
+
locale: routeCtx.defaultLocale,
|
|
66
|
+
docHistoryContentDir: routeCtx.settings.docsDir,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Locked manifest (epic zudolab/zudo-doc#2651, Decision 4 on #2653): the home
|
|
2
|
+
// route is a 1-line re-export of the package-owned STATIC index route.
|
|
3
|
+
// Verified by the #2652 spike (Q2) to build, dev-render, and hydrate — a
|
|
4
|
+
// dynamic route (see pages/docs/[[...slug]].tsx) cannot use this form because
|
|
5
|
+
// `paths()` static-AST-extraction requires source, not compiled `dist/` JS.
|
|
6
|
+
export { default } from "@takazudo/zudo-doc/routes/index";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
// ADR-016 seam: the package-owned island seed module. Importing it from the
|
|
2
|
+
// docs route (side-effect only) registers the footprint/WRL preview islands
|
|
3
|
+
// so they hydrate without this host forking a route stub of its own.
|
|
4
|
+
import "@takazudo/zudo-circuit-doc/islands";
|
|
Binary file
|
|
Binary file
|
|
Binary file
|