@orkestrel/scaffold 0.0.18 → 0.0.19
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/dist/host/AGENTS.md +4 -2
- package/dist/host/CLAUDE.md +22 -10
- package/dist/host/agents/skills/enterprise-bootstrap/SKILL.md +267 -0
- package/dist/host/agents/skills/enterprise-bootstrap/agents/openai.yaml +4 -0
- package/dist/host/agents/skills/enterprise-bootstrap/references/bootstrap-reference.md +609 -0
- package/dist/host/agents/skills/enterprise-bootstrap/references/components.md +994 -0
- package/dist/host/agents/skills/enterprise-bootstrap/references/frontend-design.md +59 -0
- package/dist/host/agents/skills/enterprise-bootstrap/references/utilities.md +312 -0
- package/dist/host/agents/skills/orkestrel-align-packages/references/integration.md +4 -13
- package/dist/host/agents/skills/orkestrel-build-application/SKILL.md +78 -50
- package/dist/host/agents/skills/orkestrel-debrief/SKILL.md +81 -0
- package/dist/host/agents/skills/orkestrel-debrief/agents/openai.yaml +4 -0
- package/dist/host/agents/skills/orkestrel-debrief/references/field-testing.md +75 -0
- package/dist/host/agents/skills/orkestrel-harden-package/SKILL.md +11 -9
- package/dist/host/agents/skills/orkestrel-harden-package/references/centralization.md +44 -59
- package/dist/host/agents/skills/orkestrel-harden-package/references/hardening.md +14 -6
- package/dist/host/agents/skills/orkestrel-polish-surface/SKILL.md +113 -0
- package/dist/host/agents/skills/orkestrel-polish-surface/agents/openai.yaml +4 -0
- package/dist/host/agents/skills/orkestrel-polish-surface/references/capture-harness.md +82 -0
- package/dist/host/claude/agents/builder.md +2 -0
- package/dist/host/claude/agents/codex.md +33 -26
- package/dist/host/claude/agents/grok.md +7 -0
- package/dist/host/claude/agents/implementer.md +2 -1
- package/dist/host/claude/agents/orkestrel.md +20 -15
- package/dist/host/claude/agents/planner.md +2 -1
- package/dist/host/claude/agents/reviewer.md +6 -0
- package/dist/host/claude/rules/documentation.md +1 -0
- package/dist/host/claude/rules/names.md +5 -7
- package/dist/host/claude/rules/quality.md +7 -5
- package/dist/host/claude/rules/styles.md +1 -0
- package/dist/host/claude/rules/tests.md +1 -0
- package/dist/host/claude/rules/typescript.md +3 -10
- package/dist/host/claude/rules/workspace.md +2 -5
- package/dist/host/claude/skills/enterprise-bootstrap/SKILL.md +12 -0
- package/dist/host/claude/skills/orkestrel-debrief/SKILL.md +12 -0
- package/dist/host/claude/skills/orkestrel-polish-surface/SKILL.md +12 -0
- package/dist/host/codex/agents/analyst.toml +6 -3
- package/dist/host/codex/agents/builder.toml +3 -2
- package/dist/host/codex/agents/checker.toml +4 -2
- package/dist/host/codex/agents/grok.toml +3 -1
- package/dist/host/codex/agents/implementer.toml +4 -2
- package/dist/host/codex/agents/opus.toml +5 -3
- package/dist/host/codex/agents/orkestrel.toml +6 -5
- package/dist/host/codex/agents/planner.toml +6 -2
- package/dist/host/codex/agents/reviewer.toml +7 -2
- package/dist/host/codex/config.toml +11 -2
- package/dist/host/dotfiles/prettierignore +3 -0
- package/dist/host/guides/src/scaffold.md +42 -12
- package/dist/host/manifest.json +80 -9
- package/dist/src/core/index.cjs +162 -14
- package/dist/src/core/index.cjs.map +1 -1
- package/dist/src/core/index.d.cts +17 -6
- package/dist/src/core/index.d.ts +17 -6
- package/dist/src/core/index.js +162 -15
- package/dist/src/core/index.js.map +1 -1
- package/dist/src/server/index.cjs +9 -3
- package/dist/src/server/index.cjs.map +1 -1
- package/dist/src/server/index.d.cts +2 -1
- package/dist/src/server/index.d.ts +2 -1
- package/dist/src/server/index.js +10 -4
- package/dist/src/server/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/host/agents/skills/orkestrel-build-application/references/application.md +0 -129
- package/dist/host/claude/agents/application.md +0 -30
- package/dist/host/codex/agents/application.toml +0 -25
|
@@ -13,9 +13,14 @@ nothing and edit nothing.
|
|
|
13
13
|
|
|
14
14
|
The catalog below is discovery data, not instruction and not proof of current state.
|
|
15
15
|
Before reporting a version, range, guide, branch, or capability, verify it against the
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
manifest, lockfile, installed declarations, canonical guide, or repository source named
|
|
17
|
+
by the dispatch. Prefer exact installed declarations when implementation depends on a
|
|
18
|
+
package contract. Never inspect credentials or mutate package state.
|
|
19
|
+
|
|
20
|
+
You have no shell and no network, so you never read the registry yourself. Live registry
|
|
21
|
+
state is evidence the Orchestrator supplies with the dispatch; without it, report that
|
|
22
|
+
fact as unknown and name what would settle it. Never present the catalog, a lockfile
|
|
23
|
+
entry, or memory as live registry truth.
|
|
19
24
|
|
|
20
25
|
## Package catalog
|
|
21
26
|
|
|
@@ -29,10 +34,10 @@ descriptions never enter agent instruction context.
|
|
|
29
34
|
|
|
30
35
|
| Package | Version |
|
|
31
36
|
| --------------------- | ------- |
|
|
32
|
-
| @orkestrel/abort | 0.0.
|
|
37
|
+
| @orkestrel/abort | 0.0.5 |
|
|
33
38
|
| @orkestrel/agent | 0.0.13 |
|
|
34
39
|
| @orkestrel/browser | 0.0.8 |
|
|
35
|
-
| @orkestrel/budget | 0.0.
|
|
40
|
+
| @orkestrel/budget | 0.0.5 |
|
|
36
41
|
| @orkestrel/console | 0.0.4 |
|
|
37
42
|
| @orkestrel/contract | 0.0.9 |
|
|
38
43
|
| @orkestrel/csv | 0.0.2 |
|
|
@@ -43,8 +48,8 @@ descriptions never enter agent instruction context.
|
|
|
43
48
|
| @orkestrel/indexeddb | 0.0.6 |
|
|
44
49
|
| @orkestrel/interpret | 0.0.7 |
|
|
45
50
|
| @orkestrel/markdown | 0.0.7 |
|
|
46
|
-
| @orkestrel/mcp | 0.0.
|
|
47
|
-
| @orkestrel/middleware | 0.0.
|
|
51
|
+
| @orkestrel/mcp | 0.0.11 |
|
|
52
|
+
| @orkestrel/middleware | 0.0.9 |
|
|
48
53
|
| @orkestrel/msg | 0.0.5 |
|
|
49
54
|
| @orkestrel/ndjson | 0.0.5 |
|
|
50
55
|
| @orkestrel/ollama | 0.0.8 |
|
|
@@ -55,20 +60,20 @@ descriptions never enter agent instruction context.
|
|
|
55
60
|
| @orkestrel/rater | 0.0.8 |
|
|
56
61
|
| @orkestrel/reason | 0.0.4 |
|
|
57
62
|
| @orkestrel/relation | 0.0.7 |
|
|
58
|
-
| @orkestrel/router | 0.0.
|
|
59
|
-
| @orkestrel/scaffold | 0.0.
|
|
60
|
-
| @orkestrel/sea | 0.0.
|
|
61
|
-
| @orkestrel/server | 0.0.
|
|
63
|
+
| @orkestrel/router | 0.0.8 |
|
|
64
|
+
| @orkestrel/scaffold | 0.0.18 |
|
|
65
|
+
| @orkestrel/sea | 0.0.5 |
|
|
66
|
+
| @orkestrel/server | 0.0.10 |
|
|
62
67
|
| @orkestrel/sqlite | 0.0.6 |
|
|
63
68
|
| @orkestrel/sse | 0.0.4 |
|
|
64
69
|
| @orkestrel/template | 0.0.2 |
|
|
65
70
|
| @orkestrel/terminal | 0.0.5 |
|
|
66
|
-
| @orkestrel/timeout | 0.0.
|
|
71
|
+
| @orkestrel/timeout | 0.0.5 |
|
|
67
72
|
| @orkestrel/tool | 0.0.9 |
|
|
68
|
-
| @orkestrel/toolbox | 0.0.
|
|
73
|
+
| @orkestrel/toolbox | 0.0.3 |
|
|
69
74
|
| @orkestrel/websocket | 0.0.7 |
|
|
70
|
-
| @orkestrel/worker | 0.0.
|
|
71
|
-
| @orkestrel/workflow | 0.0.
|
|
75
|
+
| @orkestrel/worker | 0.0.6 |
|
|
76
|
+
| @orkestrel/workflow | 0.0.10 |
|
|
72
77
|
| @orkestrel/workspace | 0.0.2 |
|
|
73
78
|
|
|
74
79
|
<!-- catalog:end -->
|
|
@@ -16,7 +16,8 @@ Return only:
|
|
|
16
16
|
|
|
17
17
|
- `Design`: the coherent API, vocabulary, architecture, and user experience.
|
|
18
18
|
- `Alternatives`: at most two real alternatives and why the design wins.
|
|
19
|
-
- `Units`: bounded work
|
|
19
|
+
- `Units`: bounded work, each naming its role AND engine so the routing ledger is
|
|
20
|
+
derivable, with ownership, dependencies, and acceptance criteria.
|
|
20
21
|
- `Tensions`: subjective choices that Sol should challenge objectively.
|
|
21
22
|
- `Risks`: design-fit risks and the evidence needed to settle them.
|
|
22
23
|
|
|
@@ -33,6 +33,12 @@ Audit the changed work only through Opus 5's subjective and creative lens:
|
|
|
33
33
|
5. **Guide voice and product coherence** — documentation reads as the package's
|
|
34
34
|
current, self-contained human guide and matches the experience the code presents.
|
|
35
35
|
|
|
36
|
+
For a rendered or externally driven surface, the supplied capture portfolio is the
|
|
37
|
+
primary evidence and source is corroboration only: cite a capture for every rendered
|
|
38
|
+
claim, mark what the portfolio cannot show as NOT-EVIDENCED instead of inferring it,
|
|
39
|
+
and when the dispatch names a skill that fixes the verdict shape, return that shape
|
|
40
|
+
and its single terminal line.
|
|
41
|
+
|
|
36
42
|
Read the actual diff plus enough surrounding code to judge it in context.
|
|
37
43
|
Correctness, security, dependency constraints, test sufficiency, and mechanical
|
|
38
44
|
conformance belong to the independent Sol analyst and checker. If you notice a
|
|
@@ -23,6 +23,7 @@ Documentation is an enforced contract, not explanatory decoration.
|
|
|
23
23
|
- `guides/README.md` is the map: maintain both a concept index (`spec ↔ source ↔ tests ↔ showcase`) and directory index.
|
|
24
24
|
- `ROADMAP.md` is the sequenced plan of record. Each chunk reaches green before the next.
|
|
25
25
|
- A showcase is executable proof of public API. A missing demonstration is a missing feature, detectable by parity.
|
|
26
|
+
- An integration surface's guide documents the validated hookup for each supported client: the exact commands run, the authentication and approval model that client needs, and the honest limit wherever a client cannot reach part of the surface.
|
|
26
27
|
|
|
27
28
|
## Parity
|
|
28
29
|
|
|
@@ -93,18 +93,16 @@ Module helpers have no owning entity at the call site, so default to `{verb}{Nou
|
|
|
93
93
|
|
|
94
94
|
## General vocabulary
|
|
95
95
|
|
|
96
|
+
The root design laws in `AGENTS.md` — one term per concept, boolean behavior switches, `undefined` absence, derived state, real domain states, and named discriminants — bind here. This section adds only their naming specifics:
|
|
97
|
+
|
|
96
98
|
- Describe what a thing is, not its implementation.
|
|
97
99
|
- Prefer short common English; avoid jargon, abbreviations, and non-universal acronyms.
|
|
98
|
-
- One concept has one word project-wide. Do not alternate `count`/`length`/`size`/`total` or `abort`/`cancel`.
|
|
99
100
|
- Properties are nouns; methods are verbs.
|
|
100
101
|
- Booleans read as assertions: `aborted`, `exhausted`, `expired`.
|
|
101
|
-
- A binary behavior switch is a boolean, such as `bail`; never model it as `'continue' | 'halt'`.
|
|
102
|
-
- Genuine discriminants, multi-state lifecycles, conventional value pairs (`ascending`/`descending`, `and`/`or`), and external-spec literals remain unions.
|
|
103
|
-
- Absence is `undefined`, never `'none'`, `'unset'`, `'unknown'`, `''`, `-1`, or another sentinel. Use `null` only when an external protocol distinguishes it from omission.
|
|
104
|
-
- Derive facts from existing state through a getter or at the use site. Do not store a duplicate boolean/string label that can drift.
|
|
105
|
-
- Use a union only for irreducible modes, phases, discriminants, or external values.
|
|
106
102
|
- Accessors use bare nouns, never `get*`/`set*`.
|
|
107
|
-
-
|
|
103
|
+
- Do not alternate `count`/`length`/`size`/`total` or `abort`/`cancel`.
|
|
104
|
+
- Name the axis a discriminant varies: `relationship`, `command`, `category`, `operation`, `via`.
|
|
105
|
+
- A binary switch is a boolean such as `bail`, never `'continue' | 'halt'`; genuine discriminants, multi-state lifecycles, conventional value pairs (`ascending`/`descending`, `and`/`or`), and external-spec literals remain unions.
|
|
108
106
|
|
|
109
107
|
## Acronyms
|
|
110
108
|
|
|
@@ -23,10 +23,11 @@ paths:
|
|
|
23
23
|
|
|
24
24
|
## Ecosystem reuse
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
The root laws on inspecting declared `@orkestrel/*` capabilities, reusing a matching primitive, and updating every consumer without shims bind here without restatement. They leave this file the judgment calls:
|
|
27
|
+
|
|
28
|
+
- Prove the semantic difference before keeping a local variant; similar names are not evidence of different behavior.
|
|
28
29
|
- Downstream friction is valid evidence of a reusable upstream defect, not automatic proof. Fix the lowest package that owns the general mechanism and keep product policy downstream.
|
|
29
|
-
-
|
|
30
|
+
- Never re-export a dependency's symbol to soften a consumer's import.
|
|
30
31
|
|
|
31
32
|
## Production hardening
|
|
32
33
|
|
|
@@ -35,11 +36,12 @@ paths:
|
|
|
35
36
|
- Use dedicated real-service projects for external model/service behavior. Require readiness and tune each request to the smallest robust proof.
|
|
36
37
|
- Audit test discovery, counts, skipped/todo tests, cleanup, and assertion adequacy; passing discovered tests alone is insufficient.
|
|
37
38
|
- Inspect public exports, declarations, supported runtime targets, and generated outputs.
|
|
39
|
+
- A claim that a surface works with an external client stays unproven until one representative real client of that class has driven it end to end. Protocol tests prove the protocol, not the integration.
|
|
38
40
|
- Add an independent adversarial review for security, destructive paths, concurrency, protocols, or untrusted external input.
|
|
39
41
|
|
|
40
42
|
## Completion
|
|
41
43
|
|
|
42
|
-
-
|
|
43
|
-
|
|
44
|
+
The root completion law — finish every in-scope capability now, leave no TODO, deferral, or hidden follow-up, and run the applicable repository skill for comprehensive work — binds here without restatement. It leaves this file two obligations:
|
|
45
|
+
|
|
44
46
|
- Perform a final centralization/wrapper/test-helper/text-integrity sweep after implementation and before gates.
|
|
45
47
|
- Local quality gates and relevant output inspection are required evidence.
|
|
@@ -35,6 +35,7 @@ SCSS mirrors TypeScript centralization. Concrete token prefixes are project-spec
|
|
|
35
35
|
|
|
36
36
|
## Prohibitions
|
|
37
37
|
|
|
38
|
+
- Verify every treatment against the shipped resolved cascade — the compiled output plus the stylesheet of every dependency the consumer loads — before accepting it. A dependency's own default rules, not documentation or memory, decide what a bare element renders as.
|
|
38
39
|
- Check `_tokens.scss` before inventing a token.
|
|
39
40
|
- Put global tokens in `_tokens.scss`; put truly component-scoped custom properties on the component selector.
|
|
40
41
|
- Never bury tokens in unrelated partials.
|
|
@@ -20,6 +20,7 @@ paths:
|
|
|
20
20
|
- Prefer inert customizable data/input stubs. A scripted boundary stub is allowed only when it implements the real interface/protocol minimally to drive the system under test; it never reimplements project-owned behavior or stands in for the integration being claimed.
|
|
21
21
|
- Cover happy paths, error paths, empty input, boundary values, `NaN`, positive/negative zero, cycles, and Map/Set order where relevant.
|
|
22
22
|
- Test observable behavior, not implementation details.
|
|
23
|
+
- A regression test records the exact command and its failing count before the fix, and the same command's passing count after.
|
|
23
24
|
- Use `it.todo()` only for explicitly out-of-scope roadmap work, never to complete the current request. Every `.skip` or conditional skip has a narrow verifiable applicability reason.
|
|
24
25
|
- Do not create test files solely for `constants.ts`, barrels, error definitions, or `types.ts`.
|
|
25
26
|
- Run the narrowest relevant Vitest project during development; do not run the entire suite casually.
|
|
@@ -5,7 +5,7 @@ paths:
|
|
|
5
5
|
|
|
6
6
|
# TypeScript rules
|
|
7
7
|
|
|
8
|
-
The non-negotiables in `AGENTS.md` apply without exception.
|
|
8
|
+
The non-negotiables and design laws in `AGENTS.md` apply without exception and are not restated here. This file adds only what TypeScript itself decides.
|
|
9
9
|
|
|
10
10
|
## Syntax and imports
|
|
11
11
|
|
|
@@ -16,20 +16,13 @@ The non-negotiables in `AGENTS.md` apply without exception.
|
|
|
16
16
|
- ESM imports use explicit `.js` extensions for local TypeScript modules.
|
|
17
17
|
- Place `import type` declarations before value imports.
|
|
18
18
|
- Do not place blank lines between consecutive imports of the same kind.
|
|
19
|
-
-
|
|
20
|
-
- Accept untrusted values as `unknown`; narrow with total guards.
|
|
21
|
-
- Never assert with `as` or `!`, and never suppress TypeScript/lint diagnostics.
|
|
19
|
+
- Narrow an accepted `unknown` with a total guard rather than a conditional access.
|
|
22
20
|
|
|
23
21
|
## Types
|
|
24
22
|
|
|
25
23
|
- Put every reusable or public interface/type alias in the nearest authoritative `*/types.ts`.
|
|
26
|
-
- Define the public contract before implementation.
|
|
27
|
-
- Interface properties are readonly.
|
|
28
24
|
- Public collection properties and return types use `readonly T[]`, `ReadonlyMap<K, V>`, or `ReadonlySet<T>`.
|
|
29
|
-
-
|
|
30
|
-
- Optional state is `T | undefined`; optional lookup failure returns `undefined`.
|
|
31
|
-
- Use `null` only when an external protocol/data format gives it semantics distinct from omission.
|
|
32
|
-
- A binary behavior switch is boolean; a literal union must represent real domain modes, phases, discriminants, or external values.
|
|
25
|
+
- Optional state is `T | undefined`; an optional lookup failure returns `undefined`.
|
|
33
26
|
|
|
34
27
|
## Immutability
|
|
35
28
|
|
|
@@ -12,7 +12,7 @@ paths:
|
|
|
12
12
|
|
|
13
13
|
# Workspace, environments, builds, and scripts
|
|
14
14
|
|
|
15
|
-
Use only the environments a project needs,
|
|
15
|
+
Use only the environments a project needs, and keep the root dependency model intact while doing it.
|
|
16
16
|
|
|
17
17
|
## Environments
|
|
18
18
|
|
|
@@ -29,10 +29,7 @@ Use only the environments a project needs, but preserve this dependency model.
|
|
|
29
29
|
| `tests/` | Mirrors src/app environments |
|
|
30
30
|
| `configs/` | Thin target wrappers around root configs |
|
|
31
31
|
|
|
32
|
-
-
|
|
33
|
-
- `app/core` is host-independent.
|
|
34
|
-
- `app/server` may import app/core and core/server libraries; it never imports browser code.
|
|
35
|
-
- `app/browser` may import app/core and core/browser libraries. It reaches server behavior through shared contracts/transports and never imports Node or app/server implementation.
|
|
32
|
+
- Dependency direction is the root project model in `AGENTS.md` and is not restated here; this file governs where the environments live and how they are configured.
|
|
36
33
|
- Typical browser-app domains: `components/`, `pages/`, `composables.ts`, `controllers/`, `services/`, `stores/`.
|
|
37
34
|
- Typical server-app domains: `handlers/`, `middlewares.ts`, `routes.ts`.
|
|
38
35
|
- `src/styles/index.ts` is a side-effect entry importing `./index.scss`.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: enterprise-bootstrap
|
|
3
|
+
description: Design and build distinctive, production-grade user interfaces with Bootstrap 5.3 and intentional frontend craft. Use for ANY UI work — pages, screens, components, layouts, app shells, dashboards, data tables, filter bars, forms, wizards, navigation, modals, empty/loading/error states, dark mode, marketing surfaces — whenever the task touches HTML/CSS/visual design, mentions Bootstrap or its components, or must look professional and avoid templated defaults.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Load the canonical workflow
|
|
7
|
+
|
|
8
|
+
Read `.agents/skills/enterprise-bootstrap/SKILL.md` completely, then read every
|
|
9
|
+
reference layer it names for the work in hand. Follow that canonical package before acting.
|
|
10
|
+
|
|
11
|
+
This bridge contains no independent process. `AGENTS.md`, applicable rules, the
|
|
12
|
+
canonical skill, and the governing guide/spec remain authoritative in that order.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: orkestrel-debrief
|
|
3
|
+
description: Convert a closed campaign's residue into portable truth through field evidence, a findings ledger, fix loops with live re-proof, canon refinement, and disciplined disposal. Use after a campaign or milestone closes to audit what was built and how it was built, when live field testing must precede judgment, when learnings must propagate into skills/rules/guides/scaffold, or when working ledgers must fold into canon and retire.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Load the canonical workflow
|
|
7
|
+
|
|
8
|
+
Read `.agents/skills/orkestrel-debrief/SKILL.md` completely, then read every reference it
|
|
9
|
+
requires. Follow that canonical workflow before acting.
|
|
10
|
+
|
|
11
|
+
This bridge contains no independent process. `AGENTS.md`, applicable rules, the canonical
|
|
12
|
+
skill, and the governing guide/spec remain authoritative in that order.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: orkestrel-polish-surface
|
|
3
|
+
description: Drive a rendered or externally driven surface to shipped quality through capture-evidence verdict rounds. Use for interface polish, rendered-state audits, reconciling design/state-truth/inventory findings into fix units, and converging review rounds on captured proof.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Load the canonical workflow
|
|
7
|
+
|
|
8
|
+
Read `.agents/skills/orkestrel-polish-surface/SKILL.md` completely, then read every
|
|
9
|
+
reference it requires. Follow that canonical workflow before acting.
|
|
10
|
+
|
|
11
|
+
This bridge contains no independent process. `AGENTS.md`, applicable rules, the
|
|
12
|
+
canonical skill, and the governing guide/spec remain authoritative in that order.
|
|
@@ -9,7 +9,10 @@ governing guide/spec, and the exact scope. For design, take the same brief as Op
|
|
|
9
9
|
independently and argue what contracts, evidence, and constraints permit. For audit,
|
|
10
10
|
read the actual diff and examine correctness, security, concurrency, failure modes,
|
|
11
11
|
dependency reuse, boundary behavior, tests, cleanup, and guide parity. Require
|
|
12
|
-
file:line evidence and drop unsupported claims.
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
file:line evidence and drop unsupported claims. For a rendered or externally driven
|
|
13
|
+
surface, the supplied capture portfolio is primary evidence and source is
|
|
14
|
+
corroboration; mark a claim the portfolio cannot show NOT-EVIDENCED rather than
|
|
15
|
+
inferring it from source. Never edit, implement, reconcile, accept, or spawn. Return
|
|
16
|
+
only the objective argument or PASS/FAIL audit, blockers, advisories, and criterion
|
|
17
|
+
confirmations.
|
|
15
18
|
"""
|
|
@@ -10,8 +10,9 @@ A unit whose naming, API shape, architecture, or house taste is still open belon
|
|
|
10
10
|
implementer: stop and say so.
|
|
11
11
|
|
|
12
12
|
Read AGENTS.md, applicable .claude/rules files, the dispatch-named skill and required
|
|
13
|
-
references, and the governing guide/spec before writing.
|
|
14
|
-
|
|
13
|
+
references, and the governing guide/spec before writing. An app-layer unit additionally
|
|
14
|
+
binds .claude/rules/application.md and .claude/rules/workspace.md. Execute the supplied
|
|
15
|
+
plan exactly, in owned files only; shared and off-limits files are report-only and return
|
|
15
16
|
as exact patches. Add no dependency, suppression, mock, superfluous wrapper, or
|
|
16
17
|
current-scope TODO/skip/deferral. Never install, commit, push, publish, read
|
|
17
18
|
credentials, run a destructive command, or run a tree-wide mutating command. Validate
|
|
@@ -5,8 +5,10 @@ model_reasoning_effort = "medium"
|
|
|
5
5
|
sandbox_mode = "read-only"
|
|
6
6
|
developer_instructions = """
|
|
7
7
|
Read AGENTS.md, every rule applicable to changed paths or concepts, the dispatch-named
|
|
8
|
-
skill and required references, the governing guide/spec, and the actual diff
|
|
9
|
-
|
|
8
|
+
skill and required references, the governing guide/spec, and both the actual diff and
|
|
9
|
+
the repository status supplied with the dispatch. If either is missing, return a
|
|
10
|
+
deviation instead of reconstructing it. Check each acceptance criterion, naming,
|
|
11
|
+
placement, centralization, wrappers, declared
|
|
10
12
|
dependency reuse, real-test policy, TODO/skip/deferral state, exports, forbidden
|
|
11
13
|
syntax, owned-file scope, and source/guide parity. Use one evidence pointer per item.
|
|
12
14
|
Flag judgment questions for reviewer instead of guessing. Never edit or spawn. Return
|
|
@@ -7,8 +7,10 @@ developer_instructions = """
|
|
|
7
7
|
Act only as a cheap bridge to Cursor Grok. Read AGENTS.md, applicable rules, the
|
|
8
8
|
dispatch-named skill and references, and the governing guide/spec. Require a bounded
|
|
9
9
|
question and scope. Resolve the exact model from CURSOR_GROK_MODEL; never guess or
|
|
10
|
-
substitute. Invoke Cursor in ask mode:
|
|
10
|
+
substitute. Invoke Cursor in ask mode only for a short bounded ask:
|
|
11
11
|
agent -p --trust --mode=ask --model "$CURSOR_GROK_MODEL" "<brief>"
|
|
12
|
+
For longer work do not launch anything: return the brief path, the exact resolved
|
|
13
|
+
command, the journal path, and a cap recommendation for the Orchestrator to launch.
|
|
12
14
|
The brief requires read-only work, concise evidence with file:line pointers, and no
|
|
13
15
|
raw dumps, design, decisions, or edits. Never use --force, expose CURSOR_API_KEY,
|
|
14
16
|
read secrets, or edit. Compare git status before and after. Return only the question,
|
|
@@ -10,8 +10,10 @@ files, acceptance criteria, and deviation contract. Implement only the bounded u
|
|
|
10
10
|
in its explicitly disjoint writable scope within the main checkout. Do not add
|
|
11
11
|
dependencies, edit shared files, suppress diagnostics, leave current-scope
|
|
12
12
|
deferrals, use mocks, install, commit, push, publish, read secrets, run destructive
|
|
13
|
-
commands, or run tree-wide mutating gates. Validate only owned scope.
|
|
14
|
-
|
|
13
|
+
commands, or run tree-wide mutating gates. Validate only owned scope. For a defect
|
|
14
|
+
unit, record the exact command and its failing count before the fix and the same
|
|
15
|
+
command's passing count after, and report both. Stop when reality diverges; return
|
|
16
|
+
expected, found, evidence, done/not done, and one short
|
|
15
17
|
hypothesis. Otherwise return touched paths, diffstat, actual scoped validation, and
|
|
16
18
|
shared-file patches. Never spawn another agent or accept your own work.
|
|
17
19
|
"""
|
|
@@ -14,9 +14,11 @@ to tmp/claude/<unit>.jsonl, gitignored) and record the session id so follow-ups
|
|
|
14
14
|
can continue the same session via --resume with context intact.
|
|
15
15
|
Verify the `claude` CLI is available before dispatch; if it is absent or the
|
|
16
16
|
dispatch fails, return the failure immediately so the unit can route to the Sol
|
|
17
|
-
implementer instead.
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
implementer instead. An implementation unit is long work: do not launch it. Return
|
|
18
|
+
the brief path, the exact resolved command, the journal path, and a cap
|
|
19
|
+
recommendation, and let the Orchestrator launch it as a tracked background command
|
|
20
|
+
under a hard cap. Never detach a run, poll, restart, or kill one. The brief requires
|
|
21
|
+
owned files, off-limits files, acceptance criteria, TTTDD, and a deviation contract; it
|
|
20
22
|
forbids dependency installation, commits, pushes, publishing, credentials,
|
|
21
23
|
destructive commands, shared-file edits, and tree-wide mutating gates. After it
|
|
22
24
|
returns, verify with git status, the diff, and scoped validation, then return
|
|
@@ -7,10 +7,11 @@ developer_instructions = """
|
|
|
7
7
|
Read AGENTS.md, applicable .claude/rules files, the dispatch-named skill and required
|
|
8
8
|
references, guides/src/scaffold.md, the governing package guide, and
|
|
9
9
|
.claude/agents/orkestrel.md as the canonical ecosystem catalog and operating
|
|
10
|
-
reference. Do not edit its generated catalog. Verify
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
reference. Do not edit its generated catalog. Verify versions, ranges, guide parity,
|
|
11
|
+
branch position, and gate results against manifests, lockfiles, exact installed
|
|
12
|
+
declarations, and current guides, never memory. You read no registry yourself: live
|
|
13
|
+
registry state is evidence the Orchestrator supplies, and without it you report that
|
|
14
|
+
fact as unknown and name what would settle it. Never edit, install, push, or spawn.
|
|
15
|
+
Return only the requested primed map, evidence-first health audit, or
|
|
15
16
|
dependency blast-radius and topological work-order proposal.
|
|
16
17
|
"""
|
|
@@ -9,12 +9,16 @@ dispatch-named skill and references, the governing guide/spec, and the distilled
|
|
|
9
9
|
Grok evidence. Pass the exact design brief independently shared with the Sol analyst
|
|
10
10
|
to:
|
|
11
11
|
claude -p "<brief>" --model opus --effort high --permission-mode plan
|
|
12
|
+
Run that yourself only for a short bounded design pass; for longer work return the
|
|
13
|
+
brief path, the exact resolved command, the journal path, and a cap recommendation
|
|
14
|
+
for the Orchestrator to launch.
|
|
12
15
|
Verify that the `claude` CLI is available before dispatch. If it is absent or the
|
|
13
16
|
dispatch fails, return the failure immediately so the Sol main session can run the
|
|
14
17
|
design pass itself and record that Opus was unavailable for this round.
|
|
15
18
|
The brief asks for coherent API shape, vocabulary, ergonomics, at most two
|
|
16
|
-
alternatives, bounded units
|
|
17
|
-
commands, reconciliation with Sol, orchestration, and
|
|
19
|
+
alternatives, bounded units that each name their role and engine, subjective tensions,
|
|
20
|
+
and risks. It forbids edits, commands, reconciliation with Sol, orchestration, and
|
|
21
|
+
acceptance. Never invoke Fable,
|
|
18
22
|
read credentials, edit, or spawn. Return the Opus proposal labeled untrusted plus
|
|
19
23
|
any CLI/auth deviation.
|
|
20
24
|
"""
|
|
@@ -8,11 +8,16 @@ Act only as a cheap bridge to Claude Opus 5. Read AGENTS.md, applicable rules, t
|
|
|
8
8
|
dispatch-named skill and references, the governing guide/spec, and the actual diff.
|
|
9
9
|
Pass a bounded design-review brief to:
|
|
10
10
|
claude -p "<brief>" --model opus --effort high --permission-mode plan
|
|
11
|
+
Run that yourself only for a short bounded review; for longer work return the brief
|
|
12
|
+
path, the exact resolved command, the journal path, and a cap recommendation for the
|
|
13
|
+
Orchestrator to launch.
|
|
11
14
|
Verify that the `claude` CLI is available before dispatch. If it is absent or the
|
|
12
15
|
dispatch fails, return the failure immediately so the Sol main session can run the
|
|
13
16
|
design-audit pass itself and record that Opus was unavailable for this round.
|
|
14
17
|
Require PASS/FAIL, design-fit blockers with file:line evidence, nonblocking
|
|
15
|
-
advisories, and acceptance-criterion confirmations.
|
|
16
|
-
|
|
18
|
+
advisories, and acceptance-criterion confirmations. For a rendered or externally
|
|
19
|
+
driven surface, require capture citations as primary evidence and the verdict shape
|
|
20
|
+
of the dispatch-named skill. Forbid edits, commands, orchestration, reconciliation,
|
|
21
|
+
and acceptance. Never invoke Fable, read credentials,
|
|
17
22
|
edit, or spawn. Return the Opus audit labeled untrusted plus any CLI/auth deviation.
|
|
18
23
|
"""
|
|
@@ -40,7 +40,7 @@ planner (Opus 5, subjective) and analyst (Sol, objective) on the
|
|
|
40
40
|
SAME design brief in parallel without showing either the other's answer, then
|
|
41
41
|
reconcile them into one plan; plan bounded units with disjoint ownership; route each
|
|
42
42
|
nontrivial unit to implementer (Sol) or the opus implementation bridge (Opus 5) —
|
|
43
|
-
whichever engine fits the unit — reserving builder
|
|
43
|
+
whichever engine fits the unit — reserving builder for fully
|
|
44
44
|
specified taste-free mechanics; integrate
|
|
45
45
|
shared files serially; obtain an independent reviewer (Opus 5) design audit and an
|
|
46
46
|
independent analyst (Sol) correctness audit plus a checker conformance pass; then
|
|
@@ -52,7 +52,16 @@ Every dispatch includes objective, context, AGENTS.md, applicable rules, governi
|
|
|
52
52
|
skill name/path and required references (or explicit none), guide/spec, owned and
|
|
53
53
|
off-limits files, permissions, exact output, deviation behavior, and independently
|
|
54
54
|
checkable acceptance criteria. Writers stop when reality diverges; they do not re-plan
|
|
55
|
-
or debug beyond scope.
|
|
55
|
+
or debug beyond scope. After reconciling findings into briefs, every retained finding
|
|
56
|
+
names the brief item that carries it; a finding with no carrier is a dropped finding.
|
|
57
|
+
|
|
58
|
+
A claim about a rendered or externally driven surface is evidenced by its capture
|
|
59
|
+
portfolio or a real foreign client driving it, never by source alone; the campaign
|
|
60
|
+
skill defines the fixed verdict shape and single terminal line for multi-round audits,
|
|
61
|
+
and a fix unit's auditor is an engine that did not write it. Size every long-exec cap
|
|
62
|
+
from the observed high mark of comparable units plus a gate allowance plus explicit
|
|
63
|
+
slack. The first use of any CLI flag, subcommand, quoting form, or stdin combination
|
|
64
|
+
happens in a throwaway probe, never inside a dispatched unit.
|
|
56
65
|
|
|
57
66
|
No executor self-assessment is authoritative. External findings are hypotheses until
|
|
58
67
|
verified against source. No agent commits, pushes, tags, publishes, installs
|
|
@@ -186,10 +186,11 @@ is `'INVALID' | 'BLOCKED' | 'DESTROYED' | 'TARGET' | 'WRITE' | 'FETCH'`.
|
|
|
186
186
|
environment contributes, its test-project label, and — on the `src` axis — its `exports` subpath
|
|
187
187
|
and build formats, or — on the `app` axis — its optional runtime entry.
|
|
188
188
|
|
|
189
|
-
`ViteMachinery` names the
|
|
189
|
+
`ViteMachinery` names the four host-specific pipelines a workspace's generated `vite.config.ts` may
|
|
190
190
|
carry: `browser` selects the shared root CSS-analysis and Playwright machinery, `vue` selects the
|
|
191
191
|
single-file-component, HTML, and development-server machinery an application browser environment
|
|
192
|
-
needs,
|
|
192
|
+
needs, `output` selects build-output containment, and `showcase` selects the optional single-file
|
|
193
|
+
application-browser projection. The root machinery selection never attaches a
|
|
193
194
|
`css` property to a nonbrowser project: only the `srcBrowser` and `appBrowser` factories own
|
|
194
195
|
`ENVIRONMENT_CSS`. It never selects a boundary guarantee — those ship in every shape, as the
|
|
195
196
|
compilers section sets out.
|
|
@@ -197,7 +198,8 @@ compilers section sets out.
|
|
|
197
198
|
`ViteFacts` is the optional structural-fact slice shared by every root Vite compiler:
|
|
198
199
|
`bin`, `integration`, and `service` each select their matching standalone project when `true`;
|
|
199
200
|
`global` records the exact-case consumer-owned global-setup module and wires it into each eligible
|
|
200
|
-
project
|
|
201
|
+
project; `showcase` records the exact-case consumer-owned showcase wrapper and selects only its
|
|
202
|
+
generated browser machinery.
|
|
201
203
|
|
|
202
204
|
`ViteProjectRegistration` carries one generated project factory identifier and its optional browser
|
|
203
205
|
label. Root configuration renderers preserve that browser ownership as data through registration
|
|
@@ -222,6 +224,7 @@ interface Blueprint {
|
|
|
222
224
|
readonly integration: boolean
|
|
223
225
|
readonly service: boolean
|
|
224
226
|
readonly global: boolean
|
|
227
|
+
readonly showcase: boolean
|
|
225
228
|
}
|
|
226
229
|
```
|
|
227
230
|
|
|
@@ -232,7 +235,7 @@ packages — a peer flagged `optional` also gets a `peerDependenciesMeta` entry.
|
|
|
232
235
|
package-specific development dependencies merged over the generated baseline, and may carry any
|
|
233
236
|
valid npm package name.
|
|
234
237
|
|
|
235
|
-
`bin`, `integration`, `service`, and `
|
|
238
|
+
`bin`, `integration`, `service`, `global`, and `showcase` are structural project facts. All five obey one law:
|
|
236
239
|
each is `true` only when the workspace physically ships the directory or exact-case file that
|
|
237
240
|
defines it — never because of the workspace's name, and never because a sibling fact is set.
|
|
238
241
|
`deriveBlueprint` probes those paths, so a fresh compile and an audit of a mature repository agree
|
|
@@ -254,6 +257,11 @@ on what the workspace is.
|
|
|
254
257
|
governing setup-presence fact. A declared `src/browser` project runs that consumer-owned module
|
|
255
258
|
as `globalSetup`; integration runs it only when `bin` and `integration` are also true.
|
|
256
259
|
Application-browser, styles, service, and unrelated proof projects never receive it.
|
|
260
|
+
- **`showcase`** — the physical, exact-case regular file
|
|
261
|
+
`configs/app/vite.showcase.config.ts` exists. It is valid only with `app/browser` and turns on the
|
|
262
|
+
computed wrapper, the closed `appShowcase()` root factory, three opt-in scripts, and the
|
|
263
|
+
consumer-only `vite-plugin-singlefile` development dependency. A directory, link, wrong-case
|
|
264
|
+
name, absent wrapper, demo HTML, script, or installed dependency never implies this fact.
|
|
257
265
|
|
|
258
266
|
A service workspace owes two companion files beside that directory, and derivation requires both
|
|
259
267
|
physically present: `tests/setupService.ts` and `scripts/service.sh`. Either missing companion is a
|
|
@@ -374,6 +382,7 @@ From [`constants.ts`](../../src/core/constants.ts).
|
|
|
374
382
|
| `HOST_PATHS` | const |
|
|
375
383
|
| `SERVICE_SCRIPT_PATH` | const |
|
|
376
384
|
| `GLOBAL_SETUP_PATH` | const |
|
|
385
|
+
| `SHOWCASE_CONFIG_PATH` | const |
|
|
377
386
|
| `NAME_PATTERN` | const |
|
|
378
387
|
| `MAX_NAME_LENGTH` | const |
|
|
379
388
|
| `MAX_DEPENDENCY_NAME_LENGTH` | const |
|
|
@@ -425,7 +434,8 @@ host artifacts, and it is the staging manifest rather than the per-plan carried
|
|
|
425
434
|
`stageHost` vendors every path on it, while each plan carries the subset `selectHostPaths` selects
|
|
426
435
|
for that one workspace. `SERVICE_SCRIPT_PATH` names the consumer-owned provisioner a service
|
|
427
436
|
workspace's audit expects, and `GLOBAL_SETUP_PATH` names the consumer-owned Vitest global-setup
|
|
428
|
-
module that independently selected projects can load.
|
|
437
|
+
module that independently selected projects can load. `SHOWCASE_CONFIG_PATH` names the sole
|
|
438
|
+
consumer-owned regular file whose exact physical presence enables the optional app showcase.
|
|
429
439
|
|
|
430
440
|
The bounds are public because they are part of the contract, not implementation trivia.
|
|
431
441
|
`MAX_ARTIFACT_BYTES` caps one artifact at 5 MiB and `MAX_TOTAL_ARTIFACT_BYTES` caps one blueprint,
|
|
@@ -973,8 +983,9 @@ omitting an absent path entirely. `readManifest` reads `package.json` text, and
|
|
|
973
983
|
`deriveBlueprint` is the faithful inverse an audit needs: it reconstructs a blueprint from an
|
|
974
984
|
existing workspace so a mature package is diffed against its own would-be scaffold rather than a
|
|
975
985
|
dependency-less stand-in. Environments come from `src/<environment>/` and `app/<environment>/`, the
|
|
976
|
-
three structural project facts from their directory probes,
|
|
977
|
-
exact-case `tests/setupGlobal.ts` file
|
|
986
|
+
three directory-shaped structural project facts from their directory probes, `global` from the
|
|
987
|
+
physical exact-case `tests/setupGlobal.ts` file, and `showcase` from the physical exact-case regular
|
|
988
|
+
file `configs/app/vite.showcase.config.ts`; the service companion law remains the one the blueprint
|
|
978
989
|
section states — every fact is a reading of the filesystem, never of the name. Dependencies and peers come
|
|
979
990
|
from the manifest's scoped entries, with an optional peer recovered from
|
|
980
991
|
`peerDependenciesMeta`; and `extras` is every development dependency minus the complete set
|
|
@@ -1129,8 +1140,8 @@ the selected source and application projects from the canonical environment orde
|
|
|
1129
1140
|
`viteProjectDefinitions` renders the standalone proof and structural-fact definitions in that same
|
|
1130
1141
|
order with one blank line between declarations. Both consume `ViteFacts`, so each optional project
|
|
1131
1142
|
is controlled only by its matching `bin`, `integration`, or `service` blueprint fact; the same
|
|
1132
|
-
slice carries `global` to integration and the source-browser compiler
|
|
1133
|
-
project.
|
|
1143
|
+
slice carries `global` to integration and the source-browser compiler, and `showcase` to the
|
|
1144
|
+
application-browser compiler, without adding another test project.
|
|
1134
1145
|
|
|
1135
1146
|
`coreViteConfig`, `srcViteConfig`, `binViteConfig`, and `appViteConfig` emit the thin per-target
|
|
1136
1147
|
wrappers. `coreViteConfig()` is parameterless and never imports or attaches browser CSS machinery;
|
|
@@ -1156,7 +1167,9 @@ that field.
|
|
|
1156
1167
|
`configArtifacts`, `sourceArtifacts`, `applicationArtifacts`, `testArtifacts`, and `guideArtifacts`
|
|
1157
1168
|
are the per-group drafters. When `bin` is selected, `configArtifacts` includes
|
|
1158
1169
|
`configs/src/tsconfig.bin.json` and `configs/src/vite.bin.config.ts` beside the declared environment
|
|
1159
|
-
configuration pairs. `
|
|
1170
|
+
configuration pairs. When `showcase` is selected, it includes the computed thin
|
|
1171
|
+
`configs/app/vite.showcase.config.ts` wrapper beside the ordinary application browser pair.
|
|
1172
|
+
`paritySpecifiers` computes the self-specifier and module map the
|
|
1160
1173
|
generated parity suite resolves fence imports through. `guideMemberTable`, `guideUsage`,
|
|
1161
1174
|
`guideMethods`, and `guideTests` render the generated guide's member tables, usage examples, method
|
|
1162
1175
|
contract, and test inventory. `fillArtifact` fills one template entry into a `template`-origin
|
|
@@ -1532,6 +1545,8 @@ a fixed, interleaved order so aggregates sit immediately before their per-enviro
|
|
|
1532
1545
|
`build:host` for a bin workspace
|
|
1533
1546
|
- `dev` when a browser application is selected; `serve` and `serve:build` when a server application
|
|
1534
1547
|
is selected
|
|
1548
|
+
- `showcase`, `build:showcase`, and `show` only when the physical showcase wrapper is present;
|
|
1549
|
+
`show` builds and copies `dist/showcase/index.html` to `demo/showcase.html`
|
|
1535
1550
|
- `prepublishOnly` chaining `format:check → lint:check → check → build → test`, followed by
|
|
1536
1551
|
`test:integration` when the integration axis is selected
|
|
1537
1552
|
|
|
@@ -1550,6 +1565,10 @@ projects, and nothing there needs a build artifact or a foreign process. Publica
|
|
|
1550
1565
|
asymmetry — `prepublishOnly` appends `test:integration`, because a package about to be published
|
|
1551
1566
|
should prove itself against its own built output, while `test:service` is never in that chain.
|
|
1552
1567
|
Neither default testing nor publication starts or requires a foreign process.
|
|
1568
|
+
The showcase is likewise outside `build`, `test`, and `prepublishOnly`; it is an explicit projection
|
|
1569
|
+
of `app/browser`, not an environment, test-project row, or source/demo artifact.
|
|
1570
|
+
Its copied `demo/showcase.html` is generated and minified, so the mirrored `.prettierignore` keeps it
|
|
1571
|
+
outside the whole-tree formatter while source and configuration files remain fully gated.
|
|
1553
1572
|
|
|
1554
1573
|
When a prerequisite is absent the proof fails rather than skipping. `test:integration` reads the
|
|
1555
1574
|
workspace's own built output, so it belongs after `build` — which is exactly where `prepublishOnly`
|
|
@@ -1665,6 +1684,17 @@ contract and is reported as computed-artifact drift by `scaffold audit`. The out
|
|
|
1665
1684
|
still rejects public directories, browser asset inlining, and output path overrides in a
|
|
1666
1685
|
post-factory composition as defense in depth; that narrow check is not a general extension seam.
|
|
1667
1686
|
|
|
1687
|
+
When the showcase fact is present, the generated root also exports closed
|
|
1688
|
+
`appShowcase(...config: never[])`; both factories reject every argument at runtime and
|
|
1689
|
+
share one fixed internal browser configuration. The ordinary factory retains its strict
|
|
1690
|
+
`script-src 'self'` policy, external asset auditing, and `dist/app/browser` output. The showcase
|
|
1691
|
+
factory alone writes `dist/showcase`, applies `viteSingleFile` with
|
|
1692
|
+
`removeViteModuleLoader: true` and `useRecommendedBuildConfig: true`, uses Oxc and Lightning CSS
|
|
1693
|
+
minification for an `esnext` build without source maps or module preload, and inserts a non-empty ISO
|
|
1694
|
+
`build-id` meta. Its generated CSP admits only the inline script and style required by the
|
|
1695
|
+
self-contained `file://` artifact while retaining `script-src-attr 'none'`, `object-src 'none'`, and
|
|
1696
|
+
`base-uri 'none'`.
|
|
1697
|
+
|
|
1668
1698
|
The browser development server applies the same trust boundary before Vite's internal middleware.
|
|
1669
1699
|
Its explicit filesystem allowlist contains only browser/core source roots, browser tests, their
|
|
1670
1700
|
exact setup files, and installed dependencies. The pre-internal middleware decodes direct,
|
|
@@ -2238,8 +2268,8 @@ coreTsconfig()
|
|
|
2238
2268
|
srcTsconfig('server')
|
|
2239
2269
|
appTsconfig('browser', true)
|
|
2240
2270
|
|
|
2241
|
-
viteMachinery(['core']) // { browser: false, vue: false, output: true }
|
|
2242
|
-
viteMachinery([], ['core', 'browser']) // { browser: true, vue: true, output: true }
|
|
2271
|
+
viteMachinery(['core']) // { browser: false, vue: false, output: true, showcase: false }
|
|
2272
|
+
viteMachinery([], ['core', 'browser']) // { browser: true, vue: true, output: true, showcase: false }
|
|
2243
2273
|
renderViteTest([{ project: 'srcCore' }], false).includes('projects: [srcCore]') // true
|
|
2244
2274
|
viteHeader(viteMachinery([], ['core', 'browser'])) // the shared header, with browser and Vue support
|
|
2245
2275
|
coreViteConfig()
|