@sabaiway/agent-workflow-kit 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/LICENSE +21 -0
- package/README.md +216 -0
- package/SKILL.md +121 -0
- package/bin/install.mjs +139 -0
- package/launchers/README.md +33 -0
- package/launchers/install-launchers.sh +94 -0
- package/launchers/windsurf-workflow.md +30 -0
- package/migrations/README.md +41 -0
- package/package.json +46 -0
- package/references/planning.md +105 -0
- package/references/scripts/_expect-shim.mjs +41 -0
- package/references/scripts/archive-changelog.mjs +441 -0
- package/references/scripts/archive-changelog.test.mjs +212 -0
- package/references/scripts/archive-issues.mjs +179 -0
- package/references/scripts/archive-issues.test.mjs +95 -0
- package/references/scripts/check-docs-size.mjs +353 -0
- package/references/scripts/check-docs-size.test.mjs +180 -0
- package/references/scripts/install-git-hooks.mjs +83 -0
- package/references/templates/AGENTS.md +78 -0
- package/references/templates/active_plan.md +31 -0
- package/references/templates/agent_rules.md +85 -0
- package/references/templates/architecture.md +49 -0
- package/references/templates/changelog.md +24 -0
- package/references/templates/current_state.md +36 -0
- package/references/templates/decisions.md +44 -0
- package/references/templates/env_commands.md +41 -0
- package/references/templates/handover.md +37 -0
- package/references/templates/known_issues.md +33 -0
- package/references/templates/pages/PAGE_TEMPLATE.md +53 -0
- package/references/templates/pages/index.md +23 -0
- package/references/templates/pages/shared-patterns.md +30 -0
- package/references/templates/tech_reference.md +34 -0
- package/references/templates/technical_specification.md +37 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: state
|
|
3
|
+
lastUpdated: {{DATE}}
|
|
4
|
+
scope: session
|
|
5
|
+
staleAfter: 7d
|
|
6
|
+
owner: handover
|
|
7
|
+
maxLines: 80
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Handover β Session Context
|
|
11
|
+
|
|
12
|
+
> **Read this FIRST every session.** What we did last, what's open, what's risky.
|
|
13
|
+
> This is a **session delta**: REPLACE the last-session block each time β do not append. Older deltas live in `changelog.md` β `history/`.
|
|
14
|
+
|
|
15
|
+
**Last session:** {{DATE}}
|
|
16
|
+
**Branch:** {{BRANCH}}
|
|
17
|
+
|
|
18
|
+
## What was done last session
|
|
19
|
+
|
|
20
|
+
- Bootstrap β AI-agent memory system initialised.
|
|
21
|
+
|
|
22
|
+
## What's open right now
|
|
23
|
+
|
|
24
|
+
- TODO: fill domain-specific sections after the first real task.
|
|
25
|
+
|
|
26
|
+
## Risks / gotchas for next session
|
|
27
|
+
|
|
28
|
+
- None recorded yet.
|
|
29
|
+
|
|
30
|
+
## Quality snapshot
|
|
31
|
+
|
|
32
|
+
| Check | Status |
|
|
33
|
+
|-------|--------|
|
|
34
|
+
| lint | n/a |
|
|
35
|
+
| type-check | n/a |
|
|
36
|
+
| unit tests | n/a |
|
|
37
|
+
| E2E tests | n/a |
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: reference
|
|
3
|
+
lastUpdated: {{DATE}}
|
|
4
|
+
scope: permanent
|
|
5
|
+
staleAfter: 30d
|
|
6
|
+
owner: none
|
|
7
|
+
maxLines: 300
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Known Issues
|
|
11
|
+
|
|
12
|
+
> Every bug we hit. Status, workaround, impact, plan. Avoids re-discovering pain.
|
|
13
|
+
|
|
14
|
+
## π΄ Open
|
|
15
|
+
|
|
16
|
+
### Issue-001 β {{Title}}
|
|
17
|
+
- **Discovered:** {{DATE}}
|
|
18
|
+
- **Status:** Open
|
|
19
|
+
- **Impact:** {{user-facing? dev-only? blocking?}}
|
|
20
|
+
- **Workaround:** {{if any}}
|
|
21
|
+
- **Plan:** {{next action}}
|
|
22
|
+
- **Related files:** `{{src/...}}`
|
|
23
|
+
|
|
24
|
+
## π’ Resolved
|
|
25
|
+
|
|
26
|
+
### Issue-XXX β {{Title}}
|
|
27
|
+
- **Resolved:** {{DATE}}
|
|
28
|
+
- **Resolution:** {{what fixed it}}
|
|
29
|
+
- **Commit:** {{SHA}}
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
> Resolved issues older than the window are rotated to `history/issues-resolved.md` by the issue-archive script.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: reference
|
|
3
|
+
lastUpdated: {{DATE}}
|
|
4
|
+
scope: permanent
|
|
5
|
+
staleAfter: 90d
|
|
6
|
+
owner: none
|
|
7
|
+
maxLines: 200
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Page: {{PAGE_NAME}}
|
|
11
|
+
|
|
12
|
+
**Route:** `{{/path}}`
|
|
13
|
+
**Component:** `{{src/routes/<file>}}`
|
|
14
|
+
|
|
15
|
+
> Template β copy to `docs/ai/pages/<page>.md` when a route appears. NOT deployed on bootstrap.
|
|
16
|
+
|
|
17
|
+
## Purpose
|
|
18
|
+
|
|
19
|
+
{{1β2 sentences.}}
|
|
20
|
+
|
|
21
|
+
## Layout
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
{{ASCII or description of regions.}}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## States
|
|
28
|
+
|
|
29
|
+
| State | Trigger | UI |
|
|
30
|
+
|-------|---------|----|
|
|
31
|
+
| Empty | No data | {{description}} |
|
|
32
|
+
| Loading | Fetch in flight | {{description}} |
|
|
33
|
+
| Ready | Data loaded | {{description}} |
|
|
34
|
+
| Error | Fetch failed | {{description}} |
|
|
35
|
+
|
|
36
|
+
## User Actions
|
|
37
|
+
|
|
38
|
+
| Action | Trigger | Result | Validation |
|
|
39
|
+
|--------|---------|--------|------------|
|
|
40
|
+
| β | β | β | β |
|
|
41
|
+
|
|
42
|
+
## Data Dependencies
|
|
43
|
+
|
|
44
|
+
- Reads: {{data sources}}
|
|
45
|
+
- Writes: {{mutations}}
|
|
46
|
+
|
|
47
|
+
## Linked Components
|
|
48
|
+
|
|
49
|
+
- `{{src/components/...}}`
|
|
50
|
+
|
|
51
|
+
## Open Questions / TODO
|
|
52
|
+
|
|
53
|
+
- [ ] β
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: reference
|
|
3
|
+
lastUpdated: {{DATE}}
|
|
4
|
+
scope: permanent
|
|
5
|
+
staleAfter: 90d
|
|
6
|
+
owner: none
|
|
7
|
+
maxLines: 80
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Pages Index
|
|
11
|
+
|
|
12
|
+
> Registry of every user-facing page/route. Source of truth for routing.
|
|
13
|
+
|
|
14
|
+
| Route | Name | Spec | Status |
|
|
15
|
+
|-------|------|------|--------|
|
|
16
|
+
| `/` | Home | [home.md](./home.md) | TODO |
|
|
17
|
+
| `{{/path}}` | {{Name}} | [{{name}}.md](./{{name}}.md) | TODO |
|
|
18
|
+
|
|
19
|
+
## Shared
|
|
20
|
+
|
|
21
|
+
- [shared-patterns.md](./shared-patterns.md) β loading, empty, error, modal, form, toast patterns.
|
|
22
|
+
|
|
23
|
+
> Create one `pages/<page>.md` per route as it appears (use `PAGE_TEMPLATE.md` from the skill). Every page must ship an HTML-validity / a11y E2E test.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: reference
|
|
3
|
+
lastUpdated: {{DATE}}
|
|
4
|
+
scope: permanent
|
|
5
|
+
staleAfter: 90d
|
|
6
|
+
owner: none
|
|
7
|
+
maxLines: 400
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Shared Page Patterns
|
|
11
|
+
|
|
12
|
+
> Cross-cutting UI patterns. Copy these, don't reinvent them.
|
|
13
|
+
|
|
14
|
+
## Loading State
|
|
15
|
+
{{Pattern + example.}}
|
|
16
|
+
|
|
17
|
+
## Empty State
|
|
18
|
+
{{Pattern + example.}}
|
|
19
|
+
|
|
20
|
+
## Error State
|
|
21
|
+
{{Pattern + example.}}
|
|
22
|
+
|
|
23
|
+
## Modal Lifecycle
|
|
24
|
+
{{Pattern + example.}}
|
|
25
|
+
|
|
26
|
+
## Form Validation Flow
|
|
27
|
+
{{Pattern + example.}}
|
|
28
|
+
|
|
29
|
+
## Toast / Notification
|
|
30
|
+
{{Pattern + example.}}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: reference
|
|
3
|
+
lastUpdated: {{DATE}}
|
|
4
|
+
scope: permanent
|
|
5
|
+
staleAfter: 90d
|
|
6
|
+
owner: none
|
|
7
|
+
maxLines: 300
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Technical Reference β Patterns & Examples
|
|
11
|
+
|
|
12
|
+
> Copy-paste-ready snippets for libraries and patterns used in this project. (Mature projects may fold this into a project patterns skill.)
|
|
13
|
+
|
|
14
|
+
## No Silent Failures
|
|
15
|
+
|
|
16
|
+
Every internal validation/guard that rejects an action MUST log via the structured logger with context (component, action, ids, inputs). User-facing failures also surface in the UI.
|
|
17
|
+
|
|
18
|
+
```{{lang}}
|
|
19
|
+
{{Show the project's logger usage. Replace with a real example after first use.}}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## {{Library Name}} β {{Pattern}}
|
|
23
|
+
|
|
24
|
+
```{{lang}}
|
|
25
|
+
{{Example after first use.}}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Add a section when
|
|
31
|
+
|
|
32
|
+
- You discover a non-trivial library configuration.
|
|
33
|
+
- You establish a reusable pattern across 2+ files.
|
|
34
|
+
- You hit a gotcha future agents should not re-discover.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: reference
|
|
3
|
+
lastUpdated: {{DATE}}
|
|
4
|
+
scope: permanent
|
|
5
|
+
staleAfter: 90d
|
|
6
|
+
owner: none
|
|
7
|
+
maxLines: 280
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Technical Specification
|
|
11
|
+
|
|
12
|
+
> Application-level overview: what it does, who uses it, key data models.
|
|
13
|
+
|
|
14
|
+
## Purpose
|
|
15
|
+
|
|
16
|
+
{{One-paragraph mission.}}
|
|
17
|
+
|
|
18
|
+
## Users / Personas
|
|
19
|
+
|
|
20
|
+
- {{Persona}} β {{what they do}}
|
|
21
|
+
|
|
22
|
+
## Core Domain Model
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
{{Entities and relationships, e.g.}}
|
|
26
|
+
User ββownsββ> Project ββcontainsββ> Item
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Data Flow
|
|
30
|
+
|
|
31
|
+
{{Numbered flow: client β API β storage β render.}}
|
|
32
|
+
|
|
33
|
+
## External Integrations
|
|
34
|
+
|
|
35
|
+
| Service | Purpose | Auth |
|
|
36
|
+
|---------|---------|------|
|
|
37
|
+
| β | β | β |
|