aw-spec-cli 0.1.18 → 0.1.20
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/assets/.appweaver/DESIGN-FORMAT.md +63 -31
- package/assets/.appweaver/orchestrator/modules/delta-plan.orch.yaml +62 -14
- package/assets/.appweaver/orchestrator/modules/delta-spec.orch.yaml +10 -6
- package/assets/.appweaver/orchestrator/modules/lane-gate.orch.yaml +9 -1
- package/assets/.appweaver/orchestrator/modules/tech-select.orch.yaml +21 -0
- package/assets/.appweaver/orchestrator/orchestrator.py +23 -1
- package/assets/.appweaver/orchestrator/rev-templates/delta-design-template.skeleton.md +1 -1
- package/assets/.appweaver/orchestrator/rev-templates/design-template.skeleton.md +22 -13
- package/assets/.appweaver/orchestrator/rev-templates/ui-delta-design-template.skeleton.md +1 -1
- package/assets/.appweaver/orchestrator/rev-templates/ui-design-template.skeleton.md +6 -4
- package/assets/.appweaver/orchestrator/workflows/aw-spec-adopt.orch.yaml +399 -131
- package/assets/.appweaver/orchestrator/workflows/aw-spec-analyze-plan-delta.orch.yaml +1 -1
- package/assets/.appweaver/orchestrator/workflows/aw-spec-analyze-plan.orch.yaml +199 -38
- package/assets/.appweaver/orchestrator/workflows/aw-spec-analyze-slice-delta.orch.yaml +1 -1
- package/assets/.appweaver/orchestrator/workflows/aw-spec-analyze-slice.orch.yaml +159 -25
- package/assets/.appweaver/orchestrator/workflows/aw-spec-build.orch.yaml +20 -9
- package/assets/.appweaver/orchestrator/workflows/aw-spec-characterize.orch.yaml +1 -1
- package/assets/.appweaver/orchestrator/workflows/aw-spec-close-delta.orch.yaml +183 -40
- package/assets/.appweaver/orchestrator/workflows/aw-spec-deploy.orch.yaml +1 -1
- package/assets/.appweaver/orchestrator/workflows/aw-spec-finalize-delta.orch.yaml +311 -36
- package/assets/.appweaver/orchestrator/workflows/aw-spec-implement.orch.yaml +221 -40
- package/assets/.appweaver/orchestrator/workflows/aw-spec-inventory.orch.yaml +217 -174
- package/assets/.appweaver/orchestrator/workflows/aw-spec-onboard.orch.yaml +494 -109
- package/assets/.appweaver/orchestrator/workflows/aw-spec-parity.orch.yaml +1 -1
- package/assets/.appweaver/orchestrator/workflows/aw-spec-plan.orch.yaml +83 -18
- package/assets/.appweaver/orchestrator/workflows/aw-spec-recall-delta.orch.yaml +319 -0
- package/assets/.appweaver/orchestrator/workflows/aw-spec-run.orch.yaml +1 -1
- package/assets/.appweaver/orchestrator/workflows/aw-spec-select-feature.orch.yaml +29 -23
- package/assets/.appweaver/orchestrator/workflows/aw-spec-specify.orch.yaml +143 -34
- package/assets/.appweaver/scripts/bash/aw-inventory.sh +15 -0
- package/assets/.appweaver/scripts/bash/aw-spec-actions.sh +878 -51
- package/assets/.appweaver/scripts/bash/aw-xref.sh +3 -0
- package/assets/.appweaver/scripts/bash/common.sh +28 -1
- package/assets/.appweaver/scripts/powershell/aw-inventory.ps1 +15 -0
- package/assets/.appweaver/scripts/powershell/aw-spec-actions.ps1 +868 -51
- package/assets/.appweaver/scripts/powershell/aw-xref.ps1 +3 -0
- package/assets/.appweaver/scripts/python/aw-inventory.py +1832 -65
- package/assets/.appweaver/scripts/python/aw-xref.py +500 -81
- package/assets/.appweaver/templates/delta-design-template.md +1 -1
- package/assets/.appweaver/templates/delta-domain-model-template.md +1 -1
- package/assets/.appweaver/templates/delta-spec-template.md +4 -3
- package/assets/.appweaver/templates/design-template.md +56 -40
- package/assets/.appweaver/templates/okf-concept-template.md +11 -1
- package/assets/.appweaver/templates/proposed-inventory-template.md +127 -0
- package/assets/.appweaver/templates/source-map-template.md +5 -3
- package/assets/.appweaver/templates/spec-template.md +24 -21
- package/assets/.appweaver/templates/ui-delta-design-template.md +1 -1
- package/assets/.appweaver/templates/ui-design-template.md +11 -7
- package/assets/foundations/dotnet/ModularMonolith/ModularMonolith.pack.txt +4489 -361
- package/assets/foundations/dotnet/VerticalSlice/VerticalSlice.pack.txt +2274 -125
- package/assets/guardrails/domain/healthcare/auditing.domain.md +3 -3
- package/assets/guardrails/domain/pharma/auditing.domain.md +3 -3
- package/assets/guardrails/technology/dotnet-webapi/api-versioning.md +1 -1
- package/assets/guardrails/technology/dotnet-webapi/auditing.md +1 -1
- package/assets/guardrails/technology/dotnet-webapi/authorization.md +1 -1
- package/assets/guardrails/technology/dotnet-webapi/clean-architecture.md +1 -1
- package/assets/guardrails/technology/dotnet-webapi/cqrs.md +1 -1
- package/assets/guardrails/technology/dotnet-webapi/data-classification.md +1 -1
- package/assets/guardrails/technology/dotnet-webapi/eventing.md +1 -1
- package/assets/guardrails/technology/dotnet-webapi/folder-structure.md +1 -1
- package/assets/guardrails/technology/dotnet-webapi/modular-monolith.md +1 -1
- package/assets/guardrails/technology/dotnet-webapi/persistence.md +1 -1
- package/assets/guardrails/technology/dotnet-webapi/vertical-slices.md +1 -1
- package/assets/guardrails/technology/dotnet-webapi/zero-trust.md +1 -1
- package/assets/guardrails/technology/nextjs/accessibility-implementation.md +1 -1
- package/assets/guardrails/technology/nextjs/api-integration.dotnet-webapi.md +1 -1
- package/assets/guardrails/technology/nextjs/api-integration.java-spring.md +1 -1
- package/assets/guardrails/technology/nextjs/auth-session.md +1 -1
- package/assets/guardrails/technology/nextjs/component-architecture.md +1 -1
- package/assets/guardrails/technology/nextjs/design-system.md +1 -1
- package/assets/guardrails/technology/nextjs/error-handling.md +1 -1
- package/assets/guardrails/technology/nextjs/forms-and-validation.md +1 -1
- package/assets/guardrails/technology/nextjs/i18n.md +1 -1
- package/assets/guardrails/technology/nextjs/performance-budgets.md +1 -1
- package/assets/guardrails/technology/nextjs/routing-navigation.md +1 -1
- package/assets/guardrails/technology/nextjs/state-management.md +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> Technology base: [[auditing]]. NON-NEGOTIABLE. Consumed by `/aw-spec-specify` (LIFTS the
|
|
4
4
|
> auditing requirement into the spec) and `/aw-spec-gate` (VALIDATES the spec/design realise it).
|
|
5
|
-
> `/aw-spec-
|
|
5
|
+
> `/aw-spec-plan` and `/aw-spec-implement` never load this file — auditing reaches them through
|
|
6
6
|
> the spec's **declared audit level per aggregate**, and the enablement mechanics live in the
|
|
7
7
|
> technical base [[auditing]]. Keep this file technology-agnostic (levels + rules, **no code**).
|
|
8
8
|
|
|
@@ -24,7 +24,7 @@ audit interceptor populates every audit field automatically (handlers NEVER assi
|
|
|
24
24
|
|
|
25
25
|
> Code realisation — marker interfaces (Basic = `IAuditedObject` / `IFullAuditedObject`; Advanced =
|
|
26
26
|
> `+ IFieldAudited`), the one-time composition, and the audit query API — lives in the technical
|
|
27
|
-
> base. See [[auditing]]; `/aw-spec-
|
|
27
|
+
> base. See [[auditing]]; `/aw-spec-plan` and `/aw-spec-implement` get the HOW from there.
|
|
28
28
|
|
|
29
29
|
## Aggregate assignment rule (how specify decides the level)
|
|
30
30
|
|
|
@@ -35,7 +35,7 @@ spec as an explicit, developer-editable declaration:
|
|
|
35
35
|
history requires field-level before/after).
|
|
36
36
|
- **Supporting aggregates** (collaborating/referenced roots, no PHI) → **Basic** by default.
|
|
37
37
|
- A developer MAY raise or lower a level afterwards by editing the spec declaration — the level is
|
|
38
|
-
a **spec** decision, never a design or implementation one. `/aw-spec-
|
|
38
|
+
a **spec** decision, never a design or implementation one. `/aw-spec-plan` then follows the
|
|
39
39
|
declared level.
|
|
40
40
|
|
|
41
41
|
Lift it as one line the gate can check, e.g. under Constraints:
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> Technology base: [[auditing]]. NON-NEGOTIABLE. Consumed by `/aw-spec-specify` (LIFTS the
|
|
4
4
|
> auditing requirement into the spec) and `/aw-spec-gate` (VALIDATES the spec/design realise it).
|
|
5
|
-
> `/aw-spec-
|
|
5
|
+
> `/aw-spec-plan` and `/aw-spec-implement` never load this file — auditing reaches them through
|
|
6
6
|
> the spec's **declared audit level per aggregate**, and the enablement mechanics live in the
|
|
7
7
|
> technical base [[auditing]]. Keep this file technology-agnostic (levels + rules, **no code**).
|
|
8
8
|
|
|
@@ -22,7 +22,7 @@ audit field automatically (handlers NEVER assign audit fields):
|
|
|
22
22
|
|
|
23
23
|
> Code realisation — marker interfaces (Basic = `IAuditedObject` / `IFullAuditedObject`; Advanced =
|
|
24
24
|
> `+ IFieldAudited`), the one-time composition, and the audit query API — lives in the technical
|
|
25
|
-
> base. See [[auditing]]; `/aw-spec-
|
|
25
|
+
> base. See [[auditing]]; `/aw-spec-plan` and `/aw-spec-implement` get the HOW from there.
|
|
26
26
|
|
|
27
27
|
## Aggregate assignment rule (how specify decides the level)
|
|
28
28
|
|
|
@@ -32,7 +32,7 @@ spec as an explicit, developer-editable declaration:
|
|
|
32
32
|
- The **main aggregate** of the requirement (the aggregate root the story is about) → **Advanced**.
|
|
33
33
|
- **Supporting aggregates** (collaborating/referenced roots) → **Basic** by default.
|
|
34
34
|
- A developer MAY raise or lower a level afterwards by editing the spec declaration — the level is
|
|
35
|
-
a **spec** decision, never a design or implementation one. `/aw-spec-
|
|
35
|
+
a **spec** decision, never a design or implementation one. `/aw-spec-plan` then follows the
|
|
36
36
|
declared level.
|
|
37
37
|
|
|
38
38
|
Lift it as one line the gate can check, e.g. under Constraints:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# API Versioning Policy
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic) — domain (e.g. FHIR) versioning in [[api-versioning.domain]]. Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic) — domain (e.g. FHIR) versioning in [[api-versioning.domain]]. Commands: `/aw-spec-plan`.
|
|
4
4
|
|
|
5
5
|
## REST versioning
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Auditing & Observability Standards
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic) — domain audit additions in [[auditing.domain]]. NON-NEGOTIABLE. Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic) — domain audit additions in [[auditing.domain]]. NON-NEGOTIABLE. Commands: `/aw-spec-plan`.
|
|
4
4
|
|
|
5
5
|
## Observability baseline
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Authorization Standards
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic) — domain roles & matrix in [[authorization.domain]]. NON-NEGOTIABLE. Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic) — domain roles & matrix in [[authorization.domain]]. NON-NEGOTIABLE. Commands: `/aw-spec-plan`.
|
|
4
4
|
|
|
5
5
|
## Authorization model
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# CQRS + Mediator Standards
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic) — domain additions in [[cqrs.domain]]. NON-NEGOTIABLE. Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic) — domain additions in [[cqrs.domain]]. NON-NEGOTIABLE. Commands: `/aw-spec-plan`.
|
|
4
4
|
|
|
5
5
|
## Command / query patterns
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Data Classification Standards
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic) — domain data categories in [[data-classification.domain]]. NON-NEGOTIABLE. Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic) — domain data categories in [[data-classification.domain]]. NON-NEGOTIABLE. Commands: `/aw-spec-plan`.
|
|
4
4
|
|
|
5
5
|
## Classification framework
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Mandatory Folder Structure
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic) — domain additions (Interop adapters, conformance tests, fixtures) in [[folder-structure.domain]]. NON-NEGOTIABLE. Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic) — domain additions (Interop adapters, conformance tests, fixtures) in [[folder-structure.domain]]. NON-NEGOTIABLE. Commands: `/aw-spec-plan`, `/aw-spec-implement`, `/aw-spec-implement-delta`.
|
|
4
4
|
>
|
|
5
5
|
> Replace `<SampleProjectName>` with the project name (e.g. `Acme.Billing`).
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Persistence Standards
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic) — domain additions in [[persistence.domain]]. NON-NEGOTIABLE where marked. Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic) — domain additions in [[persistence.domain]]. NON-NEGOTIABLE where marked. Commands: `/aw-spec-plan`, `/aw-spec-run`.
|
|
4
4
|
|
|
5
5
|
## EF Core conventions
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Vertical Slice Standards
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic) — domain additions in [[vertical-slices.domain]]. Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic) — domain additions in [[vertical-slices.domain]]. Commands: `/aw-spec-plan`.
|
|
4
4
|
|
|
5
5
|
## Feature organization
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Zero-Trust Standards
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic) — domain additions in [[zero-trust.domain]]. NON-NEGOTIABLE where marked. Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic) — domain additions in [[zero-trust.domain]]. NON-NEGOTIABLE where marked. Commands: `/aw-spec-plan`.
|
|
4
4
|
|
|
5
5
|
## Transport security (mTLS / TLS)
|
|
6
6
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Accessibility Standards — nextjs (frontend lane)
|
|
2
2
|
|
|
3
3
|
> Pure technology (domain-agnostic). NON-NEGOTIABLE.
|
|
4
|
-
> Commands: `/aw-spec-
|
|
4
|
+
> Commands: `/aw-spec-plan-ui`, `/aw-spec-implement-ui`.
|
|
5
5
|
> Detail layer under `constitution.ui.md` UX-I (accessibility floor).
|
|
6
6
|
|
|
7
7
|
UX-I makes the floor non-negotiable; this file is what meeting it means in practice. The
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> The CROSS-LANE pairing rules: how the `nextjs` frontend lane consumes an
|
|
4
4
|
> `dotnet-webapi` service lane. NON-NEGOTIABLE where marked.
|
|
5
|
-
> Commands: `/aw-spec-
|
|
5
|
+
> Commands: `/aw-spec-plan-ui`, `/aw-spec-implement-ui`.
|
|
6
6
|
> Detail layer under `constitution.ui.md` UX-IV (the contract is the only server input).
|
|
7
7
|
|
|
8
8
|
This file is named for the service lane it pairs with, and a project maps it through the
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> The CROSS-LANE pairing rules: how the `nextjs` frontend lane consumes a `java-spring`
|
|
4
4
|
> (Spring Boot) service lane. NON-NEGOTIABLE where marked.
|
|
5
|
-
> Commands: `/aw-spec-
|
|
5
|
+
> Commands: `/aw-spec-plan-ui`, `/aw-spec-implement-ui`.
|
|
6
6
|
> Detail layer under `constitution.ui.md` UX-IV (the contract is the only server input).
|
|
7
7
|
|
|
8
8
|
This file is named for the service lane it pairs with, and a project maps it through the
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Authentication & Session Standards — nextjs (frontend lane)
|
|
2
2
|
|
|
3
3
|
> Pure technology (domain-agnostic). NON-NEGOTIABLE.
|
|
4
|
-
> Commands: `/aw-spec-
|
|
4
|
+
> Commands: `/aw-spec-plan-ui`, `/aw-spec-implement-ui`.
|
|
5
5
|
> Detail layer under `constitution.ui.md` UX-VIII (client state carries no secret) and
|
|
6
6
|
> UX-IV (the contract is the only server input).
|
|
7
7
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Component Architecture Standards — nextjs (frontend lane)
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic). Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic). Commands: `/aw-spec-plan-ui`.
|
|
4
4
|
> Detail layer under `constitution.ui.md` UX-II (design system) and UX-III (server components).
|
|
5
5
|
|
|
6
6
|
The rules the UI design author composes a feature's `§3 Component Structure` from. They
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Design System Standards — nextjs (frontend lane)
|
|
2
2
|
|
|
3
3
|
> Pure technology (domain-agnostic). NON-NEGOTIABLE.
|
|
4
|
-
> Commands: `/aw-spec-
|
|
4
|
+
> Commands: `/aw-spec-plan-ui`, `/aw-spec-implement-ui`.
|
|
5
5
|
> Detail layer under `constitution.ui.md` UX-II (the design system is the only source of
|
|
6
6
|
> visual truth).
|
|
7
7
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Interaction & Error State Standards — nextjs (frontend lane)
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic). Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic). Commands: `/aw-spec-plan-ui`, `/aw-spec-implement-ui`.
|
|
4
4
|
> Detail layer under `constitution.ui.md` UX-V (every interaction state is specified).
|
|
5
5
|
|
|
6
6
|
The rules behind `design.ui.md §4 Interaction & Flow` — the section a backend-shaped
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Forms & Validation Standards — nextjs (frontend lane)
|
|
2
2
|
|
|
3
3
|
> Pure technology (domain-agnostic). NON-NEGOTIABLE where marked.
|
|
4
|
-
> Commands: `/aw-spec-
|
|
4
|
+
> Commands: `/aw-spec-plan-ui`, `/aw-spec-implement-ui`.
|
|
5
5
|
> Detail layer under `constitution.ui.md` UX-V (every interaction state is specified) and
|
|
6
6
|
> UX-VII (mutations flow through one path).
|
|
7
7
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Internationalization Standards — nextjs (frontend lane)
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic). Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic). Commands: `/aw-spec-plan-ui`, `/aw-spec-implement-ui`.
|
|
4
4
|
> Detail layer under `constitution.ui.md` UX-X (internationalization is structural).
|
|
5
5
|
|
|
6
6
|
Internationalization is structural: it is cheap while the surface is being designed and
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Performance Budget Standards — nextjs (frontend lane)
|
|
2
2
|
|
|
3
3
|
> Pure technology (domain-agnostic). NON-NEGOTIABLE.
|
|
4
|
-
> Commands: `/aw-spec-
|
|
4
|
+
> Commands: `/aw-spec-plan-ui`, `/aw-spec-implement-ui`.
|
|
5
5
|
> Detail layer under `constitution.ui.md` UX-IX (the performance budget is a gate).
|
|
6
6
|
|
|
7
7
|
A budget that is not enforced is an aspiration. Core Web Vitals thresholds and a per-route
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Routing & Navigation Standards — nextjs (frontend lane)
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic). Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic). Commands: `/aw-spec-plan-ui`.
|
|
4
4
|
> Detail layer under `constitution.ui.md` UX-III (server components) and UX-V (every
|
|
5
5
|
> interaction state specified).
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Client State Standards — nextjs (frontend lane)
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic). Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic). Commands: `/aw-spec-plan-ui`.
|
|
4
4
|
> Detail layer under `constitution.ui.md` UX-VI (caching declared), UX-VII (one mutation
|
|
5
5
|
> path) and UX-VIII (client state carries no secret).
|
|
6
6
|
|
package/package.json
CHANGED