@cassiomc1/forgeloop 1.0.0 → 1.1.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/.cursor/rules/project-loop.mdc +3 -2
- package/.github/copilot-instructions.md +1 -0
- package/AGENTS.md +2 -1
- package/CLAUDE.md +1 -0
- package/DOCS_INDEX.md +36 -0
- package/ENG/design-code-eng.md +68 -2
- package/ENG/documentation-quality-eng.md +400 -0
- package/ENG/taste-frontend-eng.md +6 -3
- package/EXECUTION_STATE.md +23 -13
- package/GUIDE_ROUTER.md +23 -8
- package/LOOP_ENGINEERING.md +77 -12
- package/PROTOCOL_INTEGRATION.md +9 -6
- package/README.md +86 -39
- package/docs/ARTIFACT_REFERENCE.md +442 -0
- package/docs/CLI_REFERENCE.md +892 -0
- package/docs/CROSS_HARNESS_CONTINUITY.md +198 -0
- package/docs/DOCUMENTATION_GUIDE.md +161 -0
- package/docs/GETTING_STARTED.md +348 -0
- package/docs/RECIPES.md +250 -0
- package/docs/TROUBLESHOOTING.md +345 -0
- package/docs/assets/forgeloop-flow.svg +1 -1
- package/docs/forgeloop-flow.mmd +1 -1
- package/package.json +13 -2
- package/schemas/task-descriptor.schema.json +56 -0
- package/schemas/work-state.schema.json +18 -1
- package/scripts/CI_VALIDATORS.md +7 -0
- package/src/cli.js +280 -388
- package/src/commands/advance.js +5 -2
- package/src/commands/audit.js +11 -1
- package/src/commands/clear-continuity.js +5 -2
- package/src/commands/clear-state.js +5 -2
- package/src/commands/complete.js +9 -1
- package/src/commands/continuity.js +5 -2
- package/src/commands/inspect.js +10 -2
- package/src/commands/next.js +5 -2
- package/src/commands/preflight.js +9 -1
- package/src/commands/prepare-completion.js +5 -2
- package/src/commands/reconcile-continuity.js +5 -2
- package/src/commands/record-check.js +7 -1
- package/src/commands/record-continuity.js +21 -14
- package/src/commands/record-terminal-result.js +7 -1
- package/src/commands/route.js +22 -18
- package/src/commands/run-check.js +52 -44
- package/src/commands/status.js +18 -12
- package/src/commands/task-create.js +94 -0
- package/src/commands/task-list.js +48 -0
- package/src/commands/task-migrate.js +34 -0
- package/src/commands/task-scope.js +75 -0
- package/src/commands/task-show.js +81 -0
- package/src/commands/task-unlock.js +35 -0
- package/src/commands/validate-protocol.js +37 -20
- package/src/commands/validate-state.js +24 -18
- package/src/config/guides.json +42 -0
- package/src/core/activation.js +8 -4
- package/src/core/artifact-registry.js +166 -0
- package/src/core/audit.js +65 -12
- package/src/core/bundles.js +76 -50
- package/src/core/cli-command-definitions.js +611 -0
- package/src/core/cli-metadata.js +23 -0
- package/src/core/completion-artifacts.js +161 -74
- package/src/core/completion.js +134 -76
- package/src/core/continuity.js +20 -13
- package/src/core/contract.js +6 -3
- package/src/core/error-codes.js +197 -0
- package/src/core/events.js +19 -14
- package/src/core/execution.js +38 -6
- package/src/core/gate-artifact.js +12 -9
- package/src/core/gates.js +4 -2
- package/src/core/guide-metadata.js +7 -11
- package/src/core/guide-registry.js +29 -0
- package/src/core/inspect.js +7 -4
- package/src/core/native-adapters.js +6 -0
- package/src/core/phase.js +85 -33
- package/src/core/preflight-consistency.js +24 -14
- package/src/core/preflight-loaders.js +16 -11
- package/src/core/preflight.js +44 -25
- package/src/core/protocol.js +2 -11
- package/src/core/receipt.js +1 -1
- package/src/core/report.js +2 -2
- package/src/core/repository.js +46 -12
- package/src/core/resumability.js +6 -4
- package/src/core/route-artifact.js +9 -5
- package/src/core/router.js +11 -7
- package/src/core/schema-validation.js +1 -0
- package/src/core/task-command.js +41 -0
- package/src/core/task-context.js +126 -0
- package/src/core/task-descriptor.js +81 -0
- package/src/core/task-discovery.js +116 -0
- package/src/core/task-identity.js +76 -0
- package/src/core/task-lock.js +209 -0
- package/src/core/task-migration-validation.js +140 -0
- package/src/core/task-migration.js +361 -0
- package/src/core/task-paths.js +96 -0
- package/src/core/task-scope.js +179 -0
- package/src/core/templates.js +3 -9
- package/src/core/work-state.js +24 -13
|
@@ -17,11 +17,12 @@ Do not treat ForgeLoop as vendor-specific, optional, or to follow only "in spiri
|
|
|
17
17
|
5. Make the minimum change, run specific checks, and run proportional regression checks.
|
|
18
18
|
6. Diagnose failures before fixing them; do not repeat attempts without new evidence.
|
|
19
19
|
7. Request authority for unrelated actions, installations, and publications. Do not install a missing verification tool merely to satisfy a check. For missing Qwen-MM-Plugins, follow `LOOP_ENGINEERING.md`.
|
|
20
|
-
8.
|
|
20
|
+
8. Before creating or activating new lifecycle state: if `.forgeloop/work-state.json` exists, inspect the existing task, reconcile continuity when present, inspect the checkout, and run `forgeloop next`. A change of harness, model, provider, IDE, process, terminal, or session does not create a new task.
|
|
21
|
+
9. After implementation begins, do not return a final result in `EXECUTING`: advance through `VERIFYING` → structured evidence → `REVIEWING` → execution receipt → validator-backed `COMPLETE`. If closure cannot be reached, report `BLOCKED` or `PARTIALLY VERIFIED`.
|
|
21
22
|
|
|
22
23
|
After implementation work for the current task is complete, run `forgeloop next` before returning a final result. Follow the returned lifecycle action until ForgeLoop reaches a terminal state or an explicit blocker.
|
|
23
24
|
|
|
24
|
-
|
|
25
|
+
10. Report only demonstrated results and checks.
|
|
25
26
|
|
|
26
27
|
Do not stop for non-blocking missing product details. When a safe, reversible
|
|
27
28
|
local default exists, record it as an agent assumption and follow the Blocking vs Non-Blocking Decisions policy in `LOOP_ENGINEERING.md`.
|
|
@@ -14,6 +14,7 @@ Use these instructions across the repository while preserving local rules.
|
|
|
14
14
|
- Make the smallest coherent change; validate with specific and regression checks.
|
|
15
15
|
- Diagnose causes before fixing failures; do not make unverified attempts.
|
|
16
16
|
- Do not install software, publish, delete, or alter external state without authority. Do not install a missing verification tool merely to satisfy a check. For missing Qwen-MM-Plugins, follow `LOOP_ENGINEERING.md`.
|
|
17
|
+
- Before creating or activating new lifecycle state: if `.forgeloop/work-state.json` exists, inspect the existing task, reconcile continuity when present, inspect the checkout, and run `forgeloop next`. A change of harness, model, provider, IDE, process, terminal, or session does not create a new task.
|
|
17
18
|
- After implementation begins, do not return a final result in `EXECUTING`: advance through `VERIFYING` → structured evidence → `REVIEWING` → execution receipt → validator-backed `COMPLETE`. If closure cannot be reached, report `BLOCKED` or `PARTIALLY VERIFIED`.
|
|
18
19
|
|
|
19
20
|
After implementation work for the current task is complete, run `forgeloop next` before returning a final result. Follow the returned lifecycle action until ForgeLoop reaches a terminal state or an explicit blocker.
|
package/AGENTS.md
CHANGED
|
@@ -12,7 +12,8 @@ Do not treat ForgeLoop as vendor-specific, optional, or to follow only "in spiri
|
|
|
12
12
|
1. Make the smallest coherent change, run specific checks, and proportional regression checks.
|
|
13
13
|
1. Diagnose failures before fixing; do not repeat attempts without new evidence.
|
|
14
14
|
1. Do not install software, publish, delete, or migrate data without authority. Do not install a missing verification tool merely to satisfy a check. For missing Qwen-MM-Plugins, follow `LOOP_ENGINEERING.md`.
|
|
15
|
-
1. Before
|
|
15
|
+
1. Before creating or activating new lifecycle state: if `.forgeloop/work-state.json` exists, inspect the existing task, reconcile continuity when present, inspect the checkout, and run `forgeloop next`. A change of harness, model, provider, IDE, process, terminal, or session does not create a new task.
|
|
16
|
+
1. Before implementation, create/validate the task contract (`contract.json`), persist routing, satisfy gates, and require `forgeloop preflight` to return `READY`.
|
|
16
17
|
1. Before claiming `COMPLETE`, require `forgeloop complete` to return `VALID`; otherwise report completion as not protocol-verified.
|
|
17
18
|
1. After implementation begins, do not return a final result in `EXECUTING`: advance through `VERIFYING` → structured evidence → `REVIEWING` → execution receipt → validator-backed `COMPLETE`. If closure cannot be reached, report `BLOCKED` or `PARTIALLY VERIFIED`.
|
|
18
19
|
1. After implementation work for the current task is complete, run `forgeloop next` before returning a final result. Follow the returned lifecycle action until ForgeLoop reaches a terminal state or an explicit blocker.
|
package/CLAUDE.md
CHANGED
|
@@ -14,6 +14,7 @@ When working in this repository:
|
|
|
14
14
|
1. Make small changes, run specific checks, and run proportional regression checks.
|
|
15
15
|
1. Investigate root causes before fixing failures; do not make unverified attempts.
|
|
16
16
|
1. Request authority for unrelated installations, publications, deletions, or migrations. Do not install a missing verification tool merely to satisfy a check. For missing Qwen-MM-Plugins, follow `LOOP_ENGINEERING.md`.
|
|
17
|
+
1. Before creating or activating new lifecycle state: if `.forgeloop/work-state.json` exists, inspect the existing task, reconcile continuity when present, inspect the checkout, and run `forgeloop next`. A change of harness, model, provider, IDE, process, terminal, or session does not create a new task.
|
|
17
18
|
1. After implementation begins, do not return a final result in `EXECUTING`: advance through `VERIFYING` → structured evidence → `REVIEWING` → execution receipt → validator-backed `COMPLETE`. If closure cannot be reached, report `BLOCKED` or `PARTIALLY VERIFIED`.
|
|
18
19
|
1. After implementation work for the current task is complete, run `forgeloop next` before returning a final result. Follow the returned lifecycle action until ForgeLoop reaches a terminal state or an explicit blocker.
|
|
19
20
|
1. Report current evidence, limitations, and publication state without claiming checks that were not run.
|
package/DOCS_INDEX.md
CHANGED
|
@@ -7,6 +7,13 @@ integration and guide context. Use this map before editing documentation.
|
|
|
7
7
|
|
|
8
8
|
| Need | Canonical source | Boundary |
|
|
9
9
|
| --- | --- | --- |
|
|
10
|
+
| Getting started tutorial | [`docs/GETTING_STARTED.md`](./docs/GETTING_STARTED.md) | First-time walkthrough from init to completion |
|
|
11
|
+
| Cross-harness continuity | [`docs/CROSS_HARNESS_CONTINUITY.md`](./docs/CROSS_HARNESS_CONTINUITY.md) | Operational handoff and multi-tool resumption |
|
|
12
|
+
| CLI command reference | [`docs/CLI_REFERENCE.md`](./docs/CLI_REFERENCE.md) | Full syntax, options, and JSON examples for all commands |
|
|
13
|
+
| Artifact and schema reference | [`docs/ARTIFACT_REFERENCE.md`](./docs/ARTIFACT_REFERENCE.md) | Purpose, mutability, and trust classifications of `.forgeloop/` |
|
|
14
|
+
| Troubleshooting and recovery | [`docs/TROUBLESHOOTING.md`](./docs/TROUBLESHOOTING.md) | Symptom-first recovery and stable error code reference |
|
|
15
|
+
| Operational recipes | [`docs/RECIPES.md`](./docs/RECIPES.md) | Short copy-paste recipes for daily workflows |
|
|
16
|
+
| Documentation guide | [`docs/DOCUMENTATION_GUIDE.md`](./docs/DOCUMENTATION_GUIDE.md) | Rules and checklist for modifying documentation |
|
|
10
17
|
| Lifecycle, gates, planning, verification, and recovery | [`LOOP_ENGINEERING.md`](./LOOP_ENGINEERING.md) | Normative process for agents and developer workflows |
|
|
11
18
|
| Capability levels, discovery, and degradation | [`PROTOCOL_INTEGRATION.md`](./PROTOCOL_INTEGRATION.md) | Vendor-neutral harness contract |
|
|
12
19
|
| Durable project facts | [`PROJECT_PROFILE.md`](./PROJECT_PROFILE.md) | Target-specific facts only; no prompts or secrets |
|
|
@@ -17,6 +24,35 @@ integration and guide context. Use this map before editing documentation.
|
|
|
17
24
|
| Guide content | [`ENG/`](./ENG/) | Context-specific, English-only operational guides |
|
|
18
25
|
| Diagram | [`docs/forgeloop-flow.mmd`](./docs/forgeloop-flow.mmd) | Canonical Mermaid source; SVG is generated output |
|
|
19
26
|
|
|
27
|
+
## Audience map
|
|
28
|
+
|
|
29
|
+
| I am a... | Start here |
|
|
30
|
+
| --- | --- |
|
|
31
|
+
| **First-time user or developer** | [`docs/GETTING_STARTED.md`](./docs/GETTING_STARTED.md) |
|
|
32
|
+
| **AI coding agent / harness** | [`AGENTS.md`](./AGENTS.md) → [`LOOP_ENGINEERING.md`](./LOOP_ENGINEERING.md) |
|
|
33
|
+
| **Harness integrator** | [`PROTOCOL_INTEGRATION.md`](./PROTOCOL_INTEGRATION.md) |
|
|
34
|
+
| **Resuming another tool / session** | [`docs/CROSS_HARNESS_CONTINUITY.md`](./docs/CROSS_HARNESS_CONTINUITY.md) |
|
|
35
|
+
| **Looking up CLI commands** | [`docs/CLI_REFERENCE.md`](./docs/CLI_REFERENCE.md) |
|
|
36
|
+
| **Inspecting `.forgeloop/` files** | [`docs/ARTIFACT_REFERENCE.md`](./docs/ARTIFACT_REFERENCE.md) |
|
|
37
|
+
| **Fixing a broken or stale state** | [`docs/TROUBLESHOOTING.md`](./docs/TROUBLESHOOTING.md) |
|
|
38
|
+
| **Looking for quick recipes** | [`docs/RECIPES.md`](./docs/RECIPES.md) |
|
|
39
|
+
| **Documentation contributor** | [`docs/DOCUMENTATION_GUIDE.md`](./docs/DOCUMENTATION_GUIDE.md) |
|
|
40
|
+
| **Protocol architect / maintainer** | [`LOOP_SYSTEM_DESIGN.md`](./LOOP_SYSTEM_DESIGN.md) + [`schemas/`](./schemas/) |
|
|
41
|
+
| **Security auditor** | [`THREAT_MODEL.md`](./THREAT_MODEL.md) |
|
|
42
|
+
| **Engineering guide author** | [`GUIDE_ROUTER.md`](./GUIDE_ROUTER.md) + [`ENG/`](./ENG/) |
|
|
43
|
+
|
|
44
|
+
## Task map
|
|
45
|
+
|
|
46
|
+
- **Start my first task**: [`docs/GETTING_STARTED.md`](./docs/GETTING_STARTED.md)
|
|
47
|
+
- **Resume after switching tools**: [`docs/CROSS_HARNESS_CONTINUITY.md`](./docs/CROSS_HARNESS_CONTINUITY.md)
|
|
48
|
+
- **Check CLI options and syntax**: [`docs/CLI_REFERENCE.md`](./docs/CLI_REFERENCE.md)
|
|
49
|
+
- **Understand what `.forgeloop/` stores**: [`docs/ARTIFACT_REFERENCE.md`](./docs/ARTIFACT_REFERENCE.md)
|
|
50
|
+
- **Fix a blocked, stale, or invalid state**: [`docs/TROUBLESHOOTING.md`](./docs/TROUBLESHOOTING.md)
|
|
51
|
+
- **Find operational copy-paste commands**: [`docs/RECIPES.md`](./docs/RECIPES.md)
|
|
52
|
+
- **Read the normative protocol specification**: [`LOOP_ENGINEERING.md`](./LOOP_ENGINEERING.md)
|
|
53
|
+
- **Integrate a new AI environment**: [`PROTOCOL_INTEGRATION.md`](./PROTOCOL_INTEGRATION.md)
|
|
54
|
+
- **Edit documentation safely**: [`docs/DOCUMENTATION_GUIDE.md`](./docs/DOCUMENTATION_GUIDE.md)
|
|
55
|
+
|
|
20
56
|
`README.md` is intentionally a catalog and quickstart. Do not copy the full
|
|
21
57
|
process into adapters or README sections; link to the canonical source.
|
|
22
58
|
|
package/ENG/design-code-eng.md
CHANGED
|
@@ -3,7 +3,7 @@ name: design-code-eng
|
|
|
3
3
|
language: en
|
|
4
4
|
description: "Visual direction, UX, motion, and perceived performance for premium digital experiences."
|
|
5
5
|
version: "2026.09"
|
|
6
|
-
last-reviewed: "2026-08-
|
|
6
|
+
last-reviewed: "2026-08-17"
|
|
7
7
|
guide-id: design
|
|
8
8
|
requires-gates:
|
|
9
9
|
- design
|
|
@@ -307,12 +307,42 @@ Canvas, WebGL, SVG displacement, and Liquid Glass effects follow the **normative
|
|
|
307
307
|
- For charts and data visualization, consult [TanStack Charts](https://github.com/TanStack/charts); preserve responsiveness, contrast, keyboard readability, and never rely on color alone to communicate series or states.
|
|
308
308
|
- For subtle interaction sounds, consult [Cuelume](https://cuelume-site.pages.dev/); provide volume/mute controls and never rely on audio to communicate essential information.
|
|
309
309
|
|
|
310
|
+
### Architecture and diagram design — Beautiful Mermaid
|
|
311
|
+
|
|
312
|
+
When a task benefits from a polished technical diagram — for example an
|
|
313
|
+
architecture flow, lifecycle, state machine, sequence, class, ER, or other
|
|
314
|
+
Mermaid-supported visualization — consider
|
|
315
|
+
[Beautiful Mermaid by Craft](https://agents.craft.do/mermaid) as an optional
|
|
316
|
+
design/rendering resource.
|
|
317
|
+
|
|
318
|
+
Use the live editor at
|
|
319
|
+
[agents.craft.do/mermaid/editor](https://agents.craft.do/mermaid/editor) to
|
|
320
|
+
preview and refine Mermaid source and, when appropriate, export a polished SVG.
|
|
321
|
+
|
|
322
|
+
Rules:
|
|
323
|
+
|
|
324
|
+
- Mermaid source remains the canonical editable artifact when the project
|
|
325
|
+
already uses Mermaid-as-source.
|
|
326
|
+
- Prefer improving diagram structure and semantics before styling.
|
|
327
|
+
- Preserve technical accuracy; visual polish must never remove meaningful
|
|
328
|
+
states, branches, trust boundaries, failure paths, or labels.
|
|
329
|
+
- Prefer local/versioned SVG assets for repository documentation rather than
|
|
330
|
+
hotlinking externally rendered images.
|
|
331
|
+
- Treat Beautiful Mermaid as optional tooling, not as an implementation,
|
|
332
|
+
verification, authority, or completion dependency.
|
|
333
|
+
- Do not install `beautiful-mermaid` merely to render a documentation asset
|
|
334
|
+
when the browser editor or an already available equivalent is sufficient.
|
|
335
|
+
- If automated rendering is explicitly required, evaluate the open-source
|
|
336
|
+
`beautiful-mermaid` library separately under the project's dependency and
|
|
337
|
+
authorization policies before adding it.
|
|
338
|
+
|
|
310
339
|
## External design-reference map
|
|
311
340
|
|
|
312
341
|
Select references for a product problem; they do not override project tokens or semantics. Check every adoption for keyboard and focus access, contrast, reduced motion, touch behavior, bundle/runtime cost, and fallback behavior. Cursor, canvas, 3D, audio, and decorative motion are progressive enhancement only. Do not copy source or assets; check the license and current terms for each exact resource, and treat a catalog listing as no transfer of rights.
|
|
313
342
|
|
|
343
|
+
- **Technical diagrams and architecture flows**: for polished Mermaid-based architecture and workflow diagrams, use [Beautiful Mermaid by Craft](https://agents.craft.do/mermaid) when relevant; preserve canonical Mermaid source, local versioned SVG assets, and do not treat presentation tooling as a mandatory protocol gate or runtime dependency.
|
|
314
344
|
- **Component source and interaction inspiration**: use [21st.dev](https://21st.dev/) to study components and interactions; inspect each source, dependency, community contribution, and premium-material term before adoption.
|
|
315
|
-
- **
|
|
345
|
+
- **React component and motion reference**: use [React Bits](https://reactbits.dev/) to discover animated React components and interaction patterns, and inspect the [React Bits source repository](https://github.com/DavidHDev/react-bits) before adopting code. Use it only when the target stack is React or when a deliberate, reviewed adaptation is appropriate. Prefer the smallest component or pattern that solves the product need; do not install or copy the entire library by default. Inspect the exact component source, transitive dependencies, license/usage terms, accessibility behavior, reduced-motion behavior, responsive behavior, and runtime cost before adoption. Adapt tokens, typography, spacing, states, semantics, and motion to the target project's design system instead of preserving React Bits defaults.
|
|
316
346
|
- **Component inspiration**: use [Fancy Components](https://www.fancycomponents.dev/) to study component composition; verify its terms separately from Motion, Tailwind, shadcn, or other dependencies.
|
|
317
347
|
- **Motion primitives**: use [Motion Primitives](https://motion-primitives.com/) to study discrete interaction patterns; distinguish documented open-source material from its Pro offering and verify component/dependency terms.
|
|
318
348
|
- **Component and design-system research**: use [Component Gallery](https://component.gallery/) for comparison, not for license assumptions.
|
|
@@ -321,6 +351,41 @@ Select references for a product problem; they do not override project tokens or
|
|
|
321
351
|
- **Typography discovery**: verify each [UNCUT](https://uncut.wtf/) font's author, license, weights, and hosting rights.
|
|
322
352
|
- **Creative coding and WebGL**: [cables.gl](https://cables.gl/) requires a semantic fallback, pause/offscreen behavior, a performance budget, and asset/operator provenance.
|
|
323
353
|
|
|
354
|
+
### React Bits — operational use for React interfaces
|
|
355
|
+
|
|
356
|
+
React Bits is an optional implementation/reference source for high-finish React interfaces. It is not a required ForgeLoop tool, protocol dependency, verification dependency, or design-system replacement.
|
|
357
|
+
|
|
358
|
+
Use it when:
|
|
359
|
+
|
|
360
|
+
- the target application uses React;
|
|
361
|
+
- a concrete interaction, text treatment, background, reveal, or UI component would materially improve the product experience;
|
|
362
|
+
- implementing the behavior from scratch would add unnecessary design or engineering cost;
|
|
363
|
+
- the effect fits the selected motion intensity and visual direction.
|
|
364
|
+
|
|
365
|
+
Do not use it when:
|
|
366
|
+
|
|
367
|
+
- the target is not React and adaptation would add more complexity than value;
|
|
368
|
+
- the component exists only as decoration without a product or communication purpose;
|
|
369
|
+
- the same result already exists in the target project's design system;
|
|
370
|
+
- the component violates the project's accessibility, performance, security, dependency, or browser-support constraints;
|
|
371
|
+
- a static or simpler CSS/HTML implementation communicates the same result more clearly.
|
|
372
|
+
|
|
373
|
+
Adoption workflow:
|
|
374
|
+
|
|
375
|
+
1. **Define the need first.** Identify the concrete UI or communication problem before browsing components.
|
|
376
|
+
2. **Confirm the target stack.** Verify React version, styling strategy, TypeScript/JavaScript choice, SSR/CSR boundary, and existing animation/runtime libraries.
|
|
377
|
+
3. **Inspect the source.** Review the exact component in the [React Bits repository](https://github.com/DavidHDev/react-bits), not only the visual demo.
|
|
378
|
+
4. **Check usage terms.** Verify the current license and any component-specific dependency or attribution requirements before copying or installing code.
|
|
379
|
+
5. **Choose the smallest variant.** Prefer one component/pattern and the variant matching the project (JS/TS and CSS/Tailwind); do not add unrelated components.
|
|
380
|
+
6. **Prefer local adaptation.** Adapt the component into the target project's component structure and semantic tokens rather than importing a visual identity wholesale.
|
|
381
|
+
7. **Preserve semantics.** Text, controls, navigation, forms, focus states, errors, status information, and primary actions must remain semantic and usable without decorative motion.
|
|
382
|
+
8. **Respect reduced motion.** Provide a static or substantially reduced alternative under `prefers-reduced-motion`; essential information must never depend on animation.
|
|
383
|
+
9. **Bound runtime cost.** Lazy-load expensive effects when practical, pause continuous animation outside the viewport or on hidden pages, and avoid adding duplicate animation/runtime libraries without justification.
|
|
384
|
+
10. **Verify the result.** Test keyboard/focus behavior, contrast, 320 CSS px reflow, touch behavior, reduced motion, console/runtime errors, and the project's performance budget.
|
|
385
|
+
11. **Record provenance.** When code or a material implementation pattern is adopted, record React Bits as an external source in the task/project attribution or source record when applicable.
|
|
386
|
+
|
|
387
|
+
ForgeLoop runtime must not gain a dependency on React Bits as a result of this guidance. Any installation belongs to the target project and remains subject to normal authorization and dependency policy.
|
|
388
|
+
|
|
324
389
|
---
|
|
325
390
|
|
|
326
391
|
## UX, Accessibility, and Quality
|
|
@@ -514,3 +579,4 @@ Select references for a product problem; they do not override project tokens or
|
|
|
514
579
|
- Rights: the gallery's images and works are distinct from external resources it merely indexes. Consult the [terms](https://liquidglassdesign.com/terms); do not rehost, redistribute, or directly use images or works commercially without permission. For each external prompt or code resource, verify its license, provenance, credits, compatibility, and maintenance individually before use; being indexed does not transfer rights.
|
|
515
580
|
- Apple — Adopting Liquid Glass (official guidance for Apple platforms): https://developer.apple.com/documentation/TechnologyOverviews/adopting-liquid-glass
|
|
516
581
|
- Liquid Glass React, SVG, and Studio (experimental implementations; assess license, compatibility, weight, and maintenance): https://github.com/rdev/liquid-glass-react | https://github.com/shuding/liquid-glass | https://github.com/iyinchao/liquid-glass-studio
|
|
582
|
+
- Beautiful Mermaid (technical diagram design and rendering): https://agents.craft.do/mermaid | https://agents.craft.do/mermaid/editor | https://github.com/lukilabs/beautiful-mermaid
|
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: documentation-quality-eng
|
|
3
|
+
language: en
|
|
4
|
+
description: "Quality standards for accurate, task-oriented, maintainable, accessible, and verifiable technical documentation."
|
|
5
|
+
version: "2026.09"
|
|
6
|
+
last-reviewed: "2026-08-17"
|
|
7
|
+
guide-id: documentation
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Documentation Quality for AI Agents
|
|
11
|
+
|
|
12
|
+
> **Related documents**: use [`clean-code-eng.md`](./clean-code-eng.md) when software behavior or code structure changes; [`test-code-eng.md`](./test-code-eng.md) for executable examples and verification strategy; [`sec-code-eng.md`](./sec-code-eng.md) for secrets, authentication, authorization, privacy, and sensitive examples; [`accessibility-eng.md`](./accessibility-eng.md) when a published documentation surface has additional accessibility requirements. This guide owns documentation architecture, factual quality, freshness, maintainability, and reader usability.
|
|
13
|
+
>
|
|
14
|
+
> **Tooling policy**: identify the documentation surface, canonical sources, and existing project checks first. Prefer already available project-native tools. Ask for authorization before installing tooling or changing the environment. If a required check cannot be executed, record it as blocked or `NOT_VERIFIED`; never claim it passed.
|
|
15
|
+
|
|
16
|
+
## Context
|
|
17
|
+
|
|
18
|
+
Technical documentation is part of the product contract. A document can compile, render, and contain no broken links while still being wrong, incomplete, difficult to use, or stale. Treat documentation changes with the same evidence discipline as executable changes: identify the reader, identify the authoritative source, make the smallest coherent change, and verify what can be observed.
|
|
19
|
+
|
|
20
|
+
## Documentation quality model
|
|
21
|
+
|
|
22
|
+
Review documentation across independent dimensions:
|
|
23
|
+
|
|
24
|
+
- **Accuracy** — facts match the implementation, public contract, schema, registry, configuration, or other authoritative source.
|
|
25
|
+
- **Completeness** — the intended reader has enough information to complete the intended task.
|
|
26
|
+
- **Consistency** — terminology, values, commands, and behavior do not contradict other authoritative documentation.
|
|
27
|
+
- **Precision** — statements are specific enough to act on and verify.
|
|
28
|
+
- **Usefulness** — the content serves a real reader need rather than filling a template.
|
|
29
|
+
- **Freshness** — current supported behavior is documented and obsolete claims are removed or versioned.
|
|
30
|
+
- **Findability** — readers can reach the content through predictable navigation and descriptive headings/links.
|
|
31
|
+
- **Accessibility** — structure and meaning remain usable with assistive technology and without visual-only cues.
|
|
32
|
+
- **Verifiability** — executable or machine-defined claims are checked against authoritative sources where feasible.
|
|
33
|
+
- **Flow** — prerequisites, actions, results, and recovery guidance follow the reader's task without unrelated detours.
|
|
34
|
+
|
|
35
|
+
Functional correctness is required before polish. A beautiful document that is inaccurate is not high-quality documentation.
|
|
36
|
+
|
|
37
|
+
## Identify the reader and job
|
|
38
|
+
|
|
39
|
+
Before writing, answer:
|
|
40
|
+
|
|
41
|
+
- Who is the intended reader?
|
|
42
|
+
- What are they trying to accomplish or understand?
|
|
43
|
+
- What can they reasonably be expected to know?
|
|
44
|
+
- What prerequisites must exist?
|
|
45
|
+
- What is the expected result?
|
|
46
|
+
- Which project source owns each factual claim?
|
|
47
|
+
- Which checks can verify the result?
|
|
48
|
+
|
|
49
|
+
Do not write from memory when the repository contains a more authoritative source.
|
|
50
|
+
|
|
51
|
+
## Documentation modes
|
|
52
|
+
|
|
53
|
+
Use the Diátaxis model as a practical mental model. Do not create empty structures merely to satisfy it.
|
|
54
|
+
|
|
55
|
+
### Tutorial
|
|
56
|
+
|
|
57
|
+
Use a tutorial for learning. Provide a controlled, safe path that produces a working result and helps the reader acquire familiarity. Keep optional branches and exhaustive reference material out of the main learning flow.
|
|
58
|
+
|
|
59
|
+
### How-to guide
|
|
60
|
+
|
|
61
|
+
Use a how-to guide for a real task. State the goal and prerequisites, provide ordered actions, show the expected result, and include verification or recovery where useful. Link to explanation rather than interrupting the procedure with long conceptual digressions.
|
|
62
|
+
|
|
63
|
+
### Reference
|
|
64
|
+
|
|
65
|
+
Use reference for authoritative technical facts: APIs, CLI commands, configuration, schemas, environment variables, statuses, and error codes. Prioritize accuracy, completeness, precision, neutrality, and predictable structure. Where possible, structure reference documentation to reflect the structure of the system it describes.
|
|
66
|
+
|
|
67
|
+
### Explanation
|
|
68
|
+
|
|
69
|
+
Use explanation for understanding: architecture, concepts, trade-offs, context, and why the system behaves as it does. Keep required operational steps in how-to material.
|
|
70
|
+
|
|
71
|
+
## README quality
|
|
72
|
+
|
|
73
|
+
A repository README should normally make it possible to answer:
|
|
74
|
+
|
|
75
|
+
1. What is this project?
|
|
76
|
+
2. Why would I use it?
|
|
77
|
+
3. What are the prerequisites?
|
|
78
|
+
4. How do I get a minimal working result?
|
|
79
|
+
5. Where is deeper documentation?
|
|
80
|
+
6. How do I get help or contribute when relevant?
|
|
81
|
+
7. What license or support policy applies?
|
|
82
|
+
|
|
83
|
+
Keep the README as an entry point. Move deep tutorials, reference, architecture, and troubleshooting to dedicated documents when they grow.
|
|
84
|
+
|
|
85
|
+
## Canonical sources and docs-as-code
|
|
86
|
+
|
|
87
|
+
Prefer one authoritative source for machine-defined facts.
|
|
88
|
+
|
|
89
|
+
Examples:
|
|
90
|
+
|
|
91
|
+
```text
|
|
92
|
+
package scripts -> documented development commands
|
|
93
|
+
CLI registry -> CLI reference
|
|
94
|
+
OpenAPI description -> HTTP API reference
|
|
95
|
+
JSON Schema/types -> configuration/reference fields
|
|
96
|
+
error registry -> error-code reference
|
|
97
|
+
runtime config -> environment-variable reference
|
|
98
|
+
protocol constants -> lifecycle/status reference
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Generate or validate projections when practical. Do not manually copy the same factual table into multiple documents.
|
|
102
|
+
|
|
103
|
+
## Generated and handwritten documentation
|
|
104
|
+
|
|
105
|
+
Generated content must have an explicit owner and deterministic generation path. Edit the canonical source or generator, not the generated projection.
|
|
106
|
+
|
|
107
|
+
Keep handwritten content for reader context, explanation, examples, and guidance that cannot be mechanically derived.
|
|
108
|
+
|
|
109
|
+
If generated regions use markers, validation must fail closed on missing, duplicate, nested, malformed, or unknown regions rather than silently rewriting arbitrary content.
|
|
110
|
+
|
|
111
|
+
## Documentation impact analysis
|
|
112
|
+
|
|
113
|
+
For each task, assess whether it changes:
|
|
114
|
+
|
|
115
|
+
- public behavior;
|
|
116
|
+
- API or CLI syntax;
|
|
117
|
+
- installation or prerequisites;
|
|
118
|
+
- configuration or environment variables;
|
|
119
|
+
- architecture or trust boundaries;
|
|
120
|
+
- authentication or authorization;
|
|
121
|
+
- errors or observable states;
|
|
122
|
+
- deployment or operation;
|
|
123
|
+
- version compatibility;
|
|
124
|
+
- deprecations or migration steps;
|
|
125
|
+
- examples or workflows.
|
|
126
|
+
|
|
127
|
+
Update affected documentation in the same task when the change is required for correct use.
|
|
128
|
+
|
|
129
|
+
## Freshness and timeless wording
|
|
130
|
+
|
|
131
|
+
Avoid time-sensitive words such as `new`, `currently`, `latest`, `now`, or `soon` in evergreen technical documentation when they will age without adding information.
|
|
132
|
+
|
|
133
|
+
Use explicit versions or dates when history or compatibility requires them.
|
|
134
|
+
|
|
135
|
+
Release notes, migration histories, and announcements may intentionally use time-based language.
|
|
136
|
+
|
|
137
|
+
## Writing style and terminology
|
|
138
|
+
|
|
139
|
+
- Use direct, concise language.
|
|
140
|
+
- Prefer active voice.
|
|
141
|
+
- Use second person where it clarifies reader actions.
|
|
142
|
+
- Prefer specific nouns and verbs over vague references.
|
|
143
|
+
- Use one canonical term per concept.
|
|
144
|
+
- Define acronyms when the intended audience may not know them.
|
|
145
|
+
- Use sentence-case headings unless project style requires otherwise.
|
|
146
|
+
- Avoid idioms, culture-specific jokes, unnecessary metaphors, and ambiguous language in globally consumed documentation.
|
|
147
|
+
- Use normative `MUST`, `SHOULD`, and `MAY` only when the document is truly specifying requirement levels.
|
|
148
|
+
|
|
149
|
+
## Procedures
|
|
150
|
+
|
|
151
|
+
A procedure should normally include:
|
|
152
|
+
|
|
153
|
+
```text
|
|
154
|
+
goal
|
|
155
|
+
prerequisites
|
|
156
|
+
ordered actions
|
|
157
|
+
expected result
|
|
158
|
+
verification
|
|
159
|
+
recovery/troubleshooting
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Use numbered steps when order matters and imperative verbs for required actions.
|
|
163
|
+
|
|
164
|
+
Do not hide a prerequisite after the step that depends on it.
|
|
165
|
+
|
|
166
|
+
## Commands and code samples
|
|
167
|
+
|
|
168
|
+
Runnable commands and copyable code must be safe and credible.
|
|
169
|
+
|
|
170
|
+
- Validate examples when feasible.
|
|
171
|
+
- Never invent successful command output.
|
|
172
|
+
- Label illustrative output explicitly.
|
|
173
|
+
- Use clear placeholders.
|
|
174
|
+
- Never include real secrets, tokens, private keys, PII, or production credentials.
|
|
175
|
+
- Explain destructive effects before the command.
|
|
176
|
+
- Follow the project's language and formatting conventions.
|
|
177
|
+
- Prefer real text over screenshots of terminal output or code.
|
|
178
|
+
|
|
179
|
+
## API documentation
|
|
180
|
+
|
|
181
|
+
For HTTP APIs, use a machine-readable description such as OpenAPI when the project already supports or benefits from it.
|
|
182
|
+
|
|
183
|
+
Document relevant:
|
|
184
|
+
|
|
185
|
+
- authentication and authorization;
|
|
186
|
+
- operations and paths;
|
|
187
|
+
- parameters;
|
|
188
|
+
- request and response bodies;
|
|
189
|
+
- status codes and errors;
|
|
190
|
+
- pagination;
|
|
191
|
+
- rate limits;
|
|
192
|
+
- idempotency;
|
|
193
|
+
- webhooks;
|
|
194
|
+
- versioning;
|
|
195
|
+
- deprecation;
|
|
196
|
+
- examples.
|
|
197
|
+
|
|
198
|
+
Do not require OpenAPI for projects without an HTTP API.
|
|
199
|
+
|
|
200
|
+
## CLI documentation
|
|
201
|
+
|
|
202
|
+
CLI reference should describe relevant:
|
|
203
|
+
|
|
204
|
+
- usage;
|
|
205
|
+
- commands;
|
|
206
|
+
- arguments;
|
|
207
|
+
- options;
|
|
208
|
+
- aliases;
|
|
209
|
+
- defaults;
|
|
210
|
+
- repeatable options;
|
|
211
|
+
- exit/error behavior;
|
|
212
|
+
- examples;
|
|
213
|
+
- shell-sensitive behavior;
|
|
214
|
+
- configuration precedence.
|
|
215
|
+
|
|
216
|
+
Derive or validate these facts from the CLI registry/parser when possible.
|
|
217
|
+
|
|
218
|
+
## Configuration and environment documentation
|
|
219
|
+
|
|
220
|
+
Document each public configuration item with relevant:
|
|
221
|
+
|
|
222
|
+
```text
|
|
223
|
+
name
|
|
224
|
+
purpose
|
|
225
|
+
type
|
|
226
|
+
required/optional
|
|
227
|
+
default
|
|
228
|
+
allowed values
|
|
229
|
+
safe example
|
|
230
|
+
secret classification
|
|
231
|
+
scope
|
|
232
|
+
precedence
|
|
233
|
+
reload/restart behavior
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
Keep `.env.example`, runtime configuration, and documentation consistent.
|
|
237
|
+
|
|
238
|
+
## Architecture documentation
|
|
239
|
+
|
|
240
|
+
Document the architecture at the smallest useful level.
|
|
241
|
+
|
|
242
|
+
Cover relevant:
|
|
243
|
+
|
|
244
|
+
- system context;
|
|
245
|
+
- major runtime boundaries;
|
|
246
|
+
- dependencies;
|
|
247
|
+
- data flow;
|
|
248
|
+
- trust boundaries;
|
|
249
|
+
- storage;
|
|
250
|
+
- external systems;
|
|
251
|
+
- deployment topology;
|
|
252
|
+
- important architectural decisions.
|
|
253
|
+
|
|
254
|
+
Use diagrams only when they improve understanding. A context/container view is enough for many systems; do not generate every possible diagram level.
|
|
255
|
+
|
|
256
|
+
For significant decisions, use an ADR or equivalent record containing context, decision, alternatives when useful, consequences, and status.
|
|
257
|
+
|
|
258
|
+
## Troubleshooting and runbooks
|
|
259
|
+
|
|
260
|
+
Write troubleshooting around observable symptoms or stable error codes.
|
|
261
|
+
|
|
262
|
+
Prefer:
|
|
263
|
+
|
|
264
|
+
```text
|
|
265
|
+
symptom
|
|
266
|
+
likely cause
|
|
267
|
+
how to verify
|
|
268
|
+
correction
|
|
269
|
+
next diagnostic/escalation step
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
Operational runbooks should identify trigger, access prerequisites, safety checks, steps, verification, rollback, and escalation.
|
|
273
|
+
|
|
274
|
+
## Accessibility
|
|
275
|
+
|
|
276
|
+
- Use one clear title.
|
|
277
|
+
- Maintain meaningful heading hierarchy.
|
|
278
|
+
- Use descriptive link text instead of `click here`.
|
|
279
|
+
- Provide text alternatives for informative images.
|
|
280
|
+
- Do not put unique information only in screenshots or diagrams.
|
|
281
|
+
- Do not use color, location, shape, or direction as the only semantic cue.
|
|
282
|
+
- Use tables for tabular data, not layout.
|
|
283
|
+
- Keep long content scannable.
|
|
284
|
+
- Prefer real text for code and terminal output.
|
|
285
|
+
|
|
286
|
+
## Security and sensitive information
|
|
287
|
+
|
|
288
|
+
Documentation must not expose:
|
|
289
|
+
|
|
290
|
+
```text
|
|
291
|
+
tokens
|
|
292
|
+
passwords
|
|
293
|
+
private keys
|
|
294
|
+
real credentials
|
|
295
|
+
session identifiers
|
|
296
|
+
personal data
|
|
297
|
+
production connection strings
|
|
298
|
+
internal secrets
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
Use explicitly fake examples. Authentication and authorization documentation must match actual server-side behavior and permissions.
|
|
302
|
+
|
|
303
|
+
## Versioning, deprecation, and migration
|
|
304
|
+
|
|
305
|
+
If the project has a versioned public API, keep its documentation precise and comprehensive enough to understand compatibility.
|
|
306
|
+
|
|
307
|
+
Document breaking changes and deprecations. When users need action to upgrade, provide a migration guide with affected versions, prerequisites, steps, verification, rollback/recovery, and known incompatibilities.
|
|
308
|
+
|
|
309
|
+
Do not promise removal dates or future behavior unless the project has committed to them.
|
|
310
|
+
|
|
311
|
+
## Validation and evidence
|
|
312
|
+
|
|
313
|
+
Use the project's own tools first.
|
|
314
|
+
|
|
315
|
+
Possible checks include:
|
|
316
|
+
|
|
317
|
+
- Markdown lint/validation;
|
|
318
|
+
- internal link and anchor validation;
|
|
319
|
+
- external link checks with an explicit network-failure policy;
|
|
320
|
+
- documentation build;
|
|
321
|
+
- code example execution or compilation;
|
|
322
|
+
- OpenAPI/schema validation;
|
|
323
|
+
- CLI/reference parity;
|
|
324
|
+
- configuration/reference parity;
|
|
325
|
+
- generated-document freshness;
|
|
326
|
+
- diagram source/artifact parity;
|
|
327
|
+
- README quick-start execution.
|
|
328
|
+
|
|
329
|
+
Do not install optional tooling solely to satisfy this list.
|
|
330
|
+
|
|
331
|
+
If a required check is unavailable, record it as blocked or `NOT_VERIFIED`. Never report an unexecuted check as passed.
|
|
332
|
+
|
|
333
|
+
## Anti-patterns
|
|
334
|
+
|
|
335
|
+
Avoid:
|
|
336
|
+
|
|
337
|
+
- README as a dumping ground;
|
|
338
|
+
- tutorials mixed with exhaustive reference;
|
|
339
|
+
- procedures interrupted by unrelated explanation;
|
|
340
|
+
- factual tables manually duplicated across files;
|
|
341
|
+
- untested commands presented as guaranteed;
|
|
342
|
+
- invented output;
|
|
343
|
+
- screenshots of code or terminal text;
|
|
344
|
+
- stale time-sensitive wording;
|
|
345
|
+
- dead-end documents with no navigation;
|
|
346
|
+
- manual edits to generated documentation;
|
|
347
|
+
- undocumented breaking changes;
|
|
348
|
+
- known required documentation deferred indefinitely after behavior changes.
|
|
349
|
+
|
|
350
|
+
## Agent workflow
|
|
351
|
+
|
|
352
|
+
For documentation work:
|
|
353
|
+
|
|
354
|
+
1. Discover relevant documentation and project truth sources.
|
|
355
|
+
2. Classify the reader need: tutorial, how-to, reference, or explanation.
|
|
356
|
+
3. Identify the authoritative source for factual claims.
|
|
357
|
+
4. Map documentation impact.
|
|
358
|
+
5. Make the smallest coherent update.
|
|
359
|
+
6. Run relevant project-native documentation checks.
|
|
360
|
+
7. Inspect the diff from the intended reader's perspective.
|
|
361
|
+
8. Cross-check facts against implementation or canonical machine sources.
|
|
362
|
+
9. Record observed verification evidence through the project/ForgeLoop verification flow.
|
|
363
|
+
10. Do not claim completion beyond the evidence.
|
|
364
|
+
|
|
365
|
+
## Documentation Definition of Done
|
|
366
|
+
|
|
367
|
+
Before completion verify:
|
|
368
|
+
|
|
369
|
+
- [ ] Intended reader and purpose are clear.
|
|
370
|
+
- [ ] Factual claims match authoritative project sources.
|
|
371
|
+
- [ ] The documentation mode fits the reader need.
|
|
372
|
+
- [ ] Required information is complete for the intended task.
|
|
373
|
+
- [ ] Terminology is consistent.
|
|
374
|
+
- [ ] Procedures are ordered and actionable.
|
|
375
|
+
- [ ] Examples and commands are safe and validated when feasible.
|
|
376
|
+
- [ ] Internal navigation and links are coherent.
|
|
377
|
+
- [ ] Accessibility basics are satisfied.
|
|
378
|
+
- [ ] No real secrets or sensitive data appear.
|
|
379
|
+
- [ ] Generated/reference material is fresh.
|
|
380
|
+
- [ ] Version/deprecation/migration impact is documented when applicable.
|
|
381
|
+
- [ ] Relevant project-native checks have observed evidence.
|
|
382
|
+
- [ ] Unavailable required checks are explicitly `NOT_VERIFIED` or blocked.
|
|
383
|
+
- [ ] The completion claim does not exceed the evidence.
|
|
384
|
+
|
|
385
|
+
## Sources and further reading
|
|
386
|
+
|
|
387
|
+
This guide is an original operational synthesis informed by:
|
|
388
|
+
|
|
389
|
+
- Diátaxis — https://diataxis.fr/
|
|
390
|
+
- Diátaxis quality — https://diataxis.fr/quality/
|
|
391
|
+
- Google Developer Documentation Style Guide — https://developers.google.com/style
|
|
392
|
+
- Google accessible documentation guidance — https://developers.google.com/style/accessibility
|
|
393
|
+
- Google code sample guidance — https://developers.google.com/style/code-samples
|
|
394
|
+
- Google timeless documentation guidance — https://developers.google.com/style/timeless-documentation
|
|
395
|
+
- GitHub repository documentation guidance — https://docs.github.com/en/repositories/creating-and-managing-repositories/best-practices-for-repositories
|
|
396
|
+
- W3C WAI writing guidance — https://www.w3.org/WAI/tips/writing/
|
|
397
|
+
- OpenAPI Specification — https://spec.openapis.org/oas/
|
|
398
|
+
- Semantic Versioning — https://semver.org/
|
|
399
|
+
- C4 model — https://c4model.com/
|
|
400
|
+
- RFC 2119 — https://www.rfc-editor.org/rfc/rfc2119.html
|
|
@@ -3,7 +3,7 @@ name: taste-frontend-eng
|
|
|
3
3
|
language: en
|
|
4
4
|
description: "Contextual visual-taste review for premium frontend and brand-heavy work."
|
|
5
5
|
version: "2026.09"
|
|
6
|
-
last-reviewed: "2026-08-
|
|
6
|
+
last-reviewed: "2026-08-17"
|
|
7
7
|
guide-id: taste
|
|
8
8
|
---
|
|
9
9
|
|
|
@@ -107,8 +107,11 @@ Use the existing product system when one is present. If the target has no
|
|
|
107
107
|
system, choose a small coherent set of semantic tokens, components, states,
|
|
108
108
|
and usage rules that the team can maintain. A vendor guide, gallery, template,
|
|
109
109
|
or AI output can inform a direction, but it is not evidence of product fit,
|
|
110
|
-
license, accessibility, or performance.
|
|
111
|
-
|
|
110
|
+
license, accessibility, or performance. For React-specific external component
|
|
111
|
+
or motion references, follow the React Bits adoption rules in
|
|
112
|
+
[`design-code-eng.md`](./design-code-eng.md) rather than treating a gallery
|
|
113
|
+
component as a project design-system default. Keep any external reference in
|
|
114
|
+
the task's source and attribution records; do not add a network dependency to
|
|
112
115
|
ForgeLoop runtime.
|
|
113
116
|
|
|
114
117
|
## Visual Pre-Flight
|