@4pm/cli 1.5.17 → 1.5.22
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 +323 -158
- package/dist/project-sample/.claude/commands/auto-cycle.md +4 -4
- package/dist/project-sample/.claude/templates/AI_DONE.empty.md +11 -3
- package/dist/project-sample/.claude/templates/AI_DONE.sample.md +8 -2
- package/dist/project-sample/AI_DONE.md +11 -3
- package/package.json +1 -1
- package/dist/project-sample/.4pm +0 -0
|
@@ -11,7 +11,7 @@ The integration branch is named **`${ai_dev_branch}$`** (the placeholder is reso
|
|
|
11
11
|
`AI_PLACEHOLDER.md`); a task branch is **merged straight into `${ai_dev_branch}$`** (no PR).
|
|
12
12
|
|
|
13
13
|
> Survival rule: **each cycle does exactly ONE small task** to avoid running out of tokens mid-way. If a
|
|
14
|
-
> step fails, log it in `AI_DONE.md
|
|
14
|
+
> step fails, log it as a row in the **Incidents** table of `AI_DONE.md`, **clean the lock (Step 8)**, then stop — don't
|
|
15
15
|
> push on.
|
|
16
16
|
>
|
|
17
17
|
> **Lock (`.claude/.autonomous.lock`):** whether the cycle ends normally or on error, you MUST delete
|
|
@@ -55,7 +55,7 @@ The integration branch is named **`${ai_dev_branch}$`** (the placeholder is reso
|
|
|
55
55
|
options to choose from. Each question has a date + an empty answer slot.
|
|
56
56
|
- **Clear `USER_TODO.md`** back to the empty template (Step 2.4) — do NOT generate tasks this cycle.
|
|
57
57
|
The user will read `USER_QA.md`, clarify, and re-post the request into `USER_TODO.md` for a later cycle.
|
|
58
|
-
-
|
|
58
|
+
- Append a row to the **Incidents** table in `AI_DONE.md` that this cycle stopped waiting for an answer, then go to
|
|
59
59
|
Step 8 (clean the lock) and **stop**.
|
|
60
60
|
3. If the request is clear enough: split it into small tasks doable in ~1 cycle. Write them into
|
|
61
61
|
`AI_TODO.md` per `.claude/templates/AI_TODO.sample.md` (**7-column table:
|
|
@@ -100,7 +100,7 @@ The integration branch is named **`${ai_dev_branch}$`** (the placeholder is reso
|
|
|
100
100
|
Pick the next task: **run group by group** (smallest group with an eligible task first), **within a
|
|
101
101
|
group prefer `Priority` High → Medium → Low**, then line order.
|
|
102
102
|
- **If NO eligible task** (empty, or all waiting for approval / dependencies — including tasks just
|
|
103
|
-
generated in Step 2): **take no task**.
|
|
103
|
+
generated in Step 2): **take no task**. Append a row to the **Incidents** table in `AI_DONE.md`
|
|
104
104
|
(e.g. "this cycle only generated tasks / waiting for VERIFY approval / waiting for dependencies"),
|
|
105
105
|
then go to Step 8 (clean the lock) and **stop**.
|
|
106
106
|
2. Move that task into `AI_PROGRESS.md` (with a start timestamp, per
|
|
@@ -127,7 +127,7 @@ The integration branch is named **`${ai_dev_branch}$`** (the placeholder is reso
|
|
|
127
127
|
(remove every `<<<<<<< ======= >>>>>>>` marker), `git add <file>`, then `git commit --no-edit` to
|
|
128
128
|
finish the merge. If a conflict is too complex to be sure → `git merge --abort`, write a question
|
|
129
129
|
into `USER_QA.md`, go to Step 8 and stop (don't guess).
|
|
130
|
-
3. Record the task in `AI_DONE.md` (ID, description,
|
|
130
|
+
3. Record the task by **appending a row to the Done table** in `AI_DONE.md` (Timestamp, ID, Task description, Files, Notes — per `.claude/templates/AI_DONE.sample.md`; keep the table header intact).
|
|
131
131
|
**Remove it from `AI_PROGRESS.md`**: if nothing is in progress after removal, reset with
|
|
132
132
|
`cp .claude/templates/AI_PROGRESS.empty.md AI_PROGRESS.md`. Likewise, if `AI_TODO.md` is now empty →
|
|
133
133
|
`cp .claude/templates/AI_TODO.empty.md AI_TODO.md`.
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
# AI_DONE — Completed tasks + incidents
|
|
2
2
|
|
|
3
|
-
> The autonomous cycle appends completed
|
|
3
|
+
> The autonomous cycle appends each completed task as a **row in the Done table** below (timestamp, ID,
|
|
4
|
+
> task description, files) and logs incidents as rows in the **Incidents** table — per
|
|
5
|
+
> `.claude/templates/AI_DONE.sample.md`.
|
|
4
6
|
|
|
5
7
|
## Done
|
|
6
|
-
|
|
8
|
+
|
|
9
|
+
| Timestamp | ID | Task description | Files | Notes |
|
|
10
|
+
|-----------|----|------------------|-------|-------|
|
|
11
|
+
| | | | | |
|
|
7
12
|
|
|
8
13
|
## Incidents / notes
|
|
9
|
-
|
|
14
|
+
|
|
15
|
+
| Timestamp | Note |
|
|
16
|
+
|-----------|------|
|
|
17
|
+
| | |
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
# AI_DONE — Completed tasks + incidents
|
|
2
2
|
|
|
3
3
|
## Done
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
| Timestamp | ID | Task description | Files | Notes |
|
|
6
|
+
|-----------|----|------------------|-------|-------|
|
|
7
|
+
| 2026-01-01 10:00 | TSK-0001-0001 | Added login-form validation | src/auth/login.ts | |
|
|
5
8
|
|
|
6
9
|
## Incidents / notes
|
|
7
|
-
|
|
10
|
+
|
|
11
|
+
| Timestamp | Note |
|
|
12
|
+
|-----------|------|
|
|
13
|
+
| 2026-01-01 10:05 | Cycle only generated tasks; waiting for VERIFY approval. |
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
# AI_DONE — Completed tasks + incidents
|
|
2
2
|
|
|
3
|
-
> The autonomous cycle appends completed
|
|
3
|
+
> The autonomous cycle appends each completed task as a **row in the Done table** below (timestamp, ID,
|
|
4
|
+
> task description, files) and logs incidents as rows in the **Incidents** table — per
|
|
5
|
+
> `.claude/templates/AI_DONE.sample.md`.
|
|
4
6
|
|
|
5
7
|
## Done
|
|
6
|
-
|
|
8
|
+
|
|
9
|
+
| Timestamp | ID | Task description | Files | Notes |
|
|
10
|
+
|-----------|----|------------------|-------|-------|
|
|
11
|
+
| | | | | |
|
|
7
12
|
|
|
8
13
|
## Incidents / notes
|
|
9
|
-
|
|
14
|
+
|
|
15
|
+
| Timestamp | Note |
|
|
16
|
+
|-----------|------|
|
|
17
|
+
| | |
|
package/package.json
CHANGED
package/dist/project-sample/.4pm
DELETED
|
File without changes
|