schub 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +36665 -0
- package/package.json +32 -0
- package/src/App.tsx +103 -0
- package/src/changes.ts +237 -0
- package/src/components/PlanView.tsx +91 -0
- package/src/components/StatusView.tsx +217 -0
- package/src/components/statusColor.ts +1 -0
- package/src/features/tasks/constants.ts +30 -0
- package/src/features/tasks/create.ts +122 -0
- package/src/features/tasks/filesystem.ts +178 -0
- package/src/features/tasks/graph.ts +87 -0
- package/src/features/tasks/index.ts +12 -0
- package/src/features/tasks/sorting.ts +14 -0
- package/src/index.ts +458 -0
- package/src/project.ts +96 -0
- package/src/tasks.ts +15 -0
- package/src/terminal.ts +16 -0
- package/templates/create-proposal/adr-template.md +51 -0
- package/templates/create-proposal/proposal-template.md +51 -0
- package/templates/create-tasks/task-template.md +33 -0
- package/templates/review-proposal/q&a-template.md +13 -0
- package/templates/review-proposal/review-me-template.md +18 -0
- package/templates/setup-project/project-overview-template.md +35 -0
- package/templates/setup-project/project-setup-template.md +61 -0
- package/templates/setup-project/project-wow-template.md +130 -0
- package/templates/setup-project/review-me-template.md +18 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Task: {{TASK_ID}} {{TASK_TITLE}}
|
|
2
|
+
|
|
3
|
+
**Change ID**: [`{{CHANGE_ID}}`](../../changes/{{CHANGE_ID}}/proposal.md)
|
|
4
|
+
**Priority**: P1
|
|
5
|
+
**Depends on**: [optional]
|
|
6
|
+
**Parallelizable**: [yes/no]
|
|
7
|
+
|
|
8
|
+
## Goal
|
|
9
|
+
|
|
10
|
+
[What this task accomplishes, in one paragraph.]
|
|
11
|
+
|
|
12
|
+
## Scope
|
|
13
|
+
|
|
14
|
+
### In Scope
|
|
15
|
+
|
|
16
|
+
- [Included work]
|
|
17
|
+
|
|
18
|
+
### Out of Scope
|
|
19
|
+
|
|
20
|
+
- [Explicitly excluded work]
|
|
21
|
+
|
|
22
|
+
## Steps
|
|
23
|
+
|
|
24
|
+
- [ ] Step 1
|
|
25
|
+
- [ ] Step 2
|
|
26
|
+
- ...
|
|
27
|
+
|
|
28
|
+
## Acceptance
|
|
29
|
+
|
|
30
|
+
- [ ] [Objective 1 pass/fail condition]
|
|
31
|
+
- [ ] [Objective 2 pass/fail condition]
|
|
32
|
+
- [ ] [Objective 3 pass/fail condition]
|
|
33
|
+
- ...
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# REVIEW_ME: {{CHANGE_TITLE}}
|
|
2
|
+
|
|
3
|
+
**Change ID**: `{{CHANGE_ID}}`
|
|
4
|
+
**Created**: {{DATE}}
|
|
5
|
+
|
|
6
|
+
**Purpose**: Open questions to review requirements with the user.
|
|
7
|
+
|
|
8
|
+
## Open Questions
|
|
9
|
+
|
|
10
|
+
- [ ] Q1: [Question]
|
|
11
|
+
- [ ] Q2: [Question]
|
|
12
|
+
|
|
13
|
+
## Notes
|
|
14
|
+
|
|
15
|
+
- Check items off as completed: `[x]`
|
|
16
|
+
- Add comments or findings inline
|
|
17
|
+
- Link to relevant resources or documentation
|
|
18
|
+
- Items are numbered sequentially for easy reference
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# [Project Name] - Overview
|
|
2
|
+
|
|
3
|
+
> **Why this project exists**
|
|
4
|
+
|
|
5
|
+
[Project description — what it is, who it’s for, and the core outcome it enables.]
|
|
6
|
+
|
|
7
|
+
## Why [Project Name]
|
|
8
|
+
|
|
9
|
+
* [Reason 1]
|
|
10
|
+
* [Reason 2]
|
|
11
|
+
|
|
12
|
+
## [Design Principle / Philosophy]
|
|
13
|
+
|
|
14
|
+
[Short paragraph explaining the guiding principle (e.g., open source, modular, privacy-first, enterprise-ready) and why that matters.]
|
|
15
|
+
|
|
16
|
+
## Core Capabilities
|
|
17
|
+
|
|
18
|
+
### [Capability Area 1 Name]
|
|
19
|
+
|
|
20
|
+
* [Capability bullet 1]
|
|
21
|
+
* [Capability bullet 2]
|
|
22
|
+
|
|
23
|
+
### [Capability Area 2 Name]
|
|
24
|
+
|
|
25
|
+
* [Capability bullet 1]
|
|
26
|
+
* [Capability bullet 2]
|
|
27
|
+
|
|
28
|
+
## [Operating Model / How It Works] (High-Level)
|
|
29
|
+
|
|
30
|
+
[High-level description of how the system/process works end-to-end, emphasizing traceability, repeatability, and iteration.]
|
|
31
|
+
|
|
32
|
+
## Features
|
|
33
|
+
|
|
34
|
+
* [Feature 1]
|
|
35
|
+
* [Feature 2]
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# [Project Name] - Setup
|
|
2
|
+
|
|
3
|
+
> **How this project is organized**
|
|
4
|
+
|
|
5
|
+
## Technology Summary
|
|
6
|
+
|
|
7
|
+
- **Runtime / Language**: [e.g., Node.js 20, Python 3.12, Java 21]
|
|
8
|
+
- **Frameworks**: [e.g., Express, NestJS, FastAPI]
|
|
9
|
+
- **Data / Storage**: [e.g., PostgreSQL, Redis, S3, local filesystem; migrations, backups]
|
|
10
|
+
- **Services / APIs**: [internal services, external dependencies, auth methods]
|
|
11
|
+
- **Frontend / UI**: [e.g., React, Next.js, mobile app, none; design system, accessibility]
|
|
12
|
+
- **Testing / Quality**: [unit, integration, E2E, CI gates, linting]
|
|
13
|
+
- **Infra / Hosting**: [e.g., AWS, GCP, Vercel, on-prem]
|
|
14
|
+
- **CI / CD**: [e.g., GitHub Actions, GitLab CI, Jenkins]
|
|
15
|
+
|
|
16
|
+
## Repository Layout
|
|
17
|
+
|
|
18
|
+
[Adjust this tree to match the actual structure of the repository.]
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
.
|
|
22
|
+
├── src/ # Application source code
|
|
23
|
+
│ ├── modules/ # Feature modules
|
|
24
|
+
│ ├── services/ # Business logic / integrations
|
|
25
|
+
│ └── index.ts # Entry point
|
|
26
|
+
├── tests/ # Test suites
|
|
27
|
+
├── scripts/ # Dev / ops scripts
|
|
28
|
+
├── .schub/ #
|
|
29
|
+
│ └── artifacts/ # Agent artifacts (see below)
|
|
30
|
+
├── README.md
|
|
31
|
+
└── package.json
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Validation Artifacts
|
|
35
|
+
|
|
36
|
+
Temporary files produced while working on a task **must live under**:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
.schub/artifacts/<task-id>/...
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
This directory is reserved for **verifiable outputs** generated during task execution.
|
|
43
|
+
|
|
44
|
+
### What Belongs Here
|
|
45
|
+
|
|
46
|
+
Agents should dump and review artifacts here, including (but not limited to):
|
|
47
|
+
|
|
48
|
+
* Test output logs
|
|
49
|
+
* Screenshots or videos (UI / E2E)
|
|
50
|
+
* Storybook snapshots or interaction traces
|
|
51
|
+
* `curl` or HTTP responses
|
|
52
|
+
* Generated OpenAPI diffs
|
|
53
|
+
* Any files required to prove the change works
|
|
54
|
+
|
|
55
|
+
### Artifact Requirements
|
|
56
|
+
|
|
57
|
+
Artifacts must be:
|
|
58
|
+
|
|
59
|
+
* **Concrete** – not placeholders or descriptions
|
|
60
|
+
* **Inspectable** – viewable or runnable by others
|
|
61
|
+
* **Referenced** – explicitly cited when proving that a change works
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# [Project Name] — Ways of Working
|
|
2
|
+
|
|
3
|
+
> **How to write and verify code here**
|
|
4
|
+
|
|
5
|
+
## Sources of Truth
|
|
6
|
+
|
|
7
|
+
- **What does it do today?** → Read the code
|
|
8
|
+
- **Why does it work this way?** → ADRs and comments
|
|
9
|
+
- **How should I build this?** → Proposals, Tasks
|
|
10
|
+
- **What do we promise users?** → Documentation
|
|
11
|
+
|
|
12
|
+
## CODING & TESTING RULES
|
|
13
|
+
|
|
14
|
+
### Default Behavior
|
|
15
|
+
|
|
16
|
+
* [Default rule 1]
|
|
17
|
+
* [Default rule 2]
|
|
18
|
+
* [Default rule 3]
|
|
19
|
+
* **[Default rule 4]** when [condition]
|
|
20
|
+
|
|
21
|
+
## Required Workflow: [Workflow Name]
|
|
22
|
+
|
|
23
|
+
Follow this loop **every time**:
|
|
24
|
+
|
|
25
|
+
### 1. [Step 1 Name] — [Step 1 Summary]
|
|
26
|
+
|
|
27
|
+
[Short instruction.]
|
|
28
|
+
|
|
29
|
+
* [Rule 1]
|
|
30
|
+
* [Rule 2]
|
|
31
|
+
* [Rule 3]
|
|
32
|
+
|
|
33
|
+
[Verification sentence.]
|
|
34
|
+
|
|
35
|
+
### 2. [Step 2 Name] — [Step 2 Summary]
|
|
36
|
+
|
|
37
|
+
* [Rule 1]
|
|
38
|
+
* [Rule 2]
|
|
39
|
+
* [Rule 3]
|
|
40
|
+
|
|
41
|
+
[Execution guidance.]
|
|
42
|
+
|
|
43
|
+
### 3. [Step 3 Name] — [Step 3 Summary]
|
|
44
|
+
|
|
45
|
+
* [Rule 1]
|
|
46
|
+
* [Rule 2]
|
|
47
|
+
* [Rule 3]
|
|
48
|
+
|
|
49
|
+
[Invariant statement.]
|
|
50
|
+
|
|
51
|
+
### 4. [Step 4 Name] (Required)
|
|
52
|
+
|
|
53
|
+
Every change must include **[proof requirement]**.
|
|
54
|
+
|
|
55
|
+
Proof must be:
|
|
56
|
+
|
|
57
|
+
* [Where it must be referenced]
|
|
58
|
+
|
|
59
|
+
Include:
|
|
60
|
+
|
|
61
|
+
* [Exact commands requirement]
|
|
62
|
+
* [Observable output requirement]:
|
|
63
|
+
|
|
64
|
+
* [Artifact type 1]
|
|
65
|
+
* [Artifact type 2]
|
|
66
|
+
* [Artifact type 3]
|
|
67
|
+
* [Artifact type 4]
|
|
68
|
+
|
|
69
|
+
[Verification procedure:]
|
|
70
|
+
|
|
71
|
+
1. [Verification step 1]
|
|
72
|
+
2. [Verification step 2]
|
|
73
|
+
|
|
74
|
+
## Required Validation Commands
|
|
75
|
+
|
|
76
|
+
After **any** change, run **all** of these in order:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
[command 1]
|
|
80
|
+
[command 2]
|
|
81
|
+
[command 3]
|
|
82
|
+
[command 4]
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
If the change affects [area(s)]:
|
|
86
|
+
|
|
87
|
+
* [Additional requirement 1]
|
|
88
|
+
* [Additional requirement 2]
|
|
89
|
+
* [Additional requirement 3]
|
|
90
|
+
|
|
91
|
+
## Coding Style Rules
|
|
92
|
+
|
|
93
|
+
### General
|
|
94
|
+
|
|
95
|
+
* [Style rule 1]
|
|
96
|
+
* [Style rule 2]
|
|
97
|
+
* [Style rule 3]
|
|
98
|
+
|
|
99
|
+
### Example
|
|
100
|
+
|
|
101
|
+
✅ Good
|
|
102
|
+
|
|
103
|
+
```ts
|
|
104
|
+
[good example]
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
❌ Bad
|
|
108
|
+
|
|
109
|
+
```ts
|
|
110
|
+
[bad example]
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## [Framework] Rules
|
|
114
|
+
|
|
115
|
+
* [Framework rule 1]
|
|
116
|
+
* [Framework rule 2]
|
|
117
|
+
* [Framework rule 3]
|
|
118
|
+
|
|
119
|
+
## Testing Rules
|
|
120
|
+
|
|
121
|
+
* [Testing rule 1]
|
|
122
|
+
* [Testing rule 2]
|
|
123
|
+
|
|
124
|
+
## Final Rule
|
|
125
|
+
|
|
126
|
+
If something is unclear:
|
|
127
|
+
|
|
128
|
+
1. [Fallback step 1]
|
|
129
|
+
2. [Fallback step 2]
|
|
130
|
+
3. [Fallback step 3]
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# REVIEW_ME: {{CHANGE_TITLE}}
|
|
2
|
+
|
|
3
|
+
**Change ID**: `{{CHANGE_ID}}`
|
|
4
|
+
**Created**: {{DATE}}
|
|
5
|
+
|
|
6
|
+
**Purpose**: Open questions to review requirements with the user.
|
|
7
|
+
|
|
8
|
+
## Open Questions
|
|
9
|
+
|
|
10
|
+
- [ ] Q1: [Question]
|
|
11
|
+
- [ ] Q2: [Question]
|
|
12
|
+
|
|
13
|
+
## Notes
|
|
14
|
+
|
|
15
|
+
- Check items off as completed: `[x]`
|
|
16
|
+
- Add comments or findings inline
|
|
17
|
+
- Link to relevant resources or documentation
|
|
18
|
+
- Items are numbered sequentially for easy reference
|