You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .cursor/commands/speckit.aftercode.md
+26-9Lines changed: 26 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
description: 'Automatically execute the subsequent code delivery pipeline: changelog → commit → prgenerate, in strict sequential order.'
2
+
description: 'Automatically execute the subsequent code delivery pipeline: skilltypesync → changelog → commit → prgenerate, in strict sequential order.'
3
3
handoffs:
4
4
- label: 'Create Pull Request'
5
5
agent: 'speckit.prcreate'
@@ -15,25 +15,42 @@ $ARGUMENTS
15
15
16
16
## Outline
17
17
18
-
This command orchestrates the code delivery pipeline, executing the `changelog`, `commit`, and `prgenerate` phases in a strict, sequential, and non-interactive flow. It ensures that the entire process, from generating change files to preparing the PR body, is automated while maintaining the precise behavior of each individual step.
18
+
This command orchestrates the code delivery pipeline, executing the `skilltypesync`, `changelog`, `commit`, and `prgenerate` phases in a strict, sequential, and non-interactive flow. It ensures that the entire process, from synchronizing skill type resources to preparing the PR body, is automated while maintaining the precise behavior of each individual step.
19
19
20
20
**Execution is strictly sequential. No steps will be skipped or run in parallel.**
-**Action**: Triggered automatically after `skilltypesync` completes.
25
42
-**Process**:
26
43
- Collects commits since a base branch (defaulting to `develop`).
27
44
- Infers the version bump type (`patch`, `minor`, `major`) automatically from commit messages unless an explicit `bumpType` is passed in `$ARGUMENTS`.
28
45
- Generates the necessary change files within the `common/changes/` directory.
29
46
- Any parameters provided in `$ARGUMENTS` will be passed through to override default behavior.
30
47
-**Handoff**: Upon successful completion, automatically triggers the `commit` phase.
31
48
-**Output Report**:
32
-
- "Phase 1 (Changelog) completed."
49
+
- "Phase 2 (Changelog) completed."
33
50
-`CREATED_FILES`: [List of paths to generated files in `common/changes/`]
34
51
-`VALIDATION`: "Changelog message conforms to Conventional Commits standards."
35
52
36
-
### Phase 2: Create Commit (`/speckit.commit`)
53
+
### Phase 3: Create Commit (`/speckit.commit`)
37
54
38
55
-**Action**: Triggered automatically after `changelog` completes.
39
56
-**Process**:
@@ -44,11 +61,11 @@ This command orchestrates the code delivery pipeline, executing the `changelog`,
44
61
- The `message` and `pushAfterCommit` behaviors can be overridden via `$ARGUMENTS`.
45
62
-**Handoff**: Upon successful completion, automatically triggers the `prgenerate` phase.
46
63
-**Output Report**:
47
-
- "Phase 2 (Commit) completed."
64
+
- "Phase 3 (Commit) completed."
48
65
-`COMMIT_MESSAGE`: [The full commit message used]
49
66
-`PUSH_STATUS`: "Branch [branch-name] pushed to origin."
50
67
51
-
### Phase 3: Generate PR Body (`/speckit.prgenerate`)
68
+
### Phase 4: Generate PR Body (`/speckit.prgenerate`)
52
69
53
70
-**Action**: The final phase, realized via the native `handoff` from `/speckit.commit` to `/speckit.prgenerate` after `commit` completes. This `/speckit.aftercode` command does not declare its own `handoff` entry for `/speckit.prgenerate` to avoid duplicate execution.
54
71
-**Process**:
@@ -57,7 +74,7 @@ This command orchestrates the code delivery pipeline, executing the `changelog`,
57
74
- Saves the final, populated PR body to `.trae/output/pr.body.local.md`.
58
75
-**Handoff**: This step retains its original `handoff` to `speckit.prcreate`. The `/speckit.aftercode` command depends strictly on the original single-step handoff chain and does **not** introduce any additional handoffs, preventing `prgenerate` (or downstream steps) from running more than once.
59
76
-**Output Report**:
60
-
- "Phase 3 (PR Generate) completed."
77
+
- "Phase 4 (PR Generate) completed."
61
78
-`OUTPUT_FILE`: ".trae/output/pr.body.local.md"
62
79
-`VALIDATION_SUMMARY`: "PR body generated. Please review the file before creating the pull request."
63
80
-`NEXT_STEPS`: "The `speckit.prcreate` command may have been triggered automatically. If not, you can run it manually to create the GitHub Pull Request."
description: "After feature development, detect user-config/API changes and synchronize skill type resources under skills/vchart-development-assistant/references/type-meta and type-details."
3
+
---
4
+
5
+
## User Input
6
+
7
+
```text
8
+
$ARGUMENTS
9
+
```
10
+
11
+
You **MUST** consider user input if provided. Treat it as optional CLI-style overrides only (for example: `--base develop`, `--force`, `--types ILabelSpec,IData`).
12
+
13
+
## Outline
14
+
15
+
1.**Resolve diff scope**:
16
+
- Default base branch is `develop`.
17
+
- If `$ARGUMENTS` contains `--base <branch>`, use that branch as comparison base.
18
+
- Collect changed files from:
19
+
- staged + unstaged local changes, and
20
+
- branch diff against base (`<base>...HEAD`).
21
+
- De-duplicate all changed paths.
22
+
23
+
2.**Determine whether sync is required**:
24
+
- Mark as **requires sync** when changes affect user-facing configuration or API/type definitions, including (but not limited to):
25
+
-`packages/vchart/src/typings/**`
26
+
-`packages/vchart/src/chart/**/interface/**`
27
+
-`packages/vchart/src/component/**/interface/**`
28
+
-`packages/vchart/src/series/**/interface/**`
29
+
-`packages/vchart/src/theme/**`
30
+
- any public API or option schema files referenced by VChart docs.
31
+
- If no matching files and no `--force`, stop with a clear summary: "No user config/API changes detected, skill type sync skipped."
32
+
33
+
3.**Identify impacted type entities**:
34
+
- From changed TypeScript definitions, extract impacted type/interface names (for example `ILabelSpec`, `IData`, `ITheme`).
35
+
- Build two impact sets:
36
+
-**Meta impact**: chart/common entries that need `type-meta/*.json` updates.
I have planned the fix for Issue #4185 where DataZoom fails to update in React when data changes. The plan involves detecting data view changes in the core `DataFilterBaseComponent` and rebinding listeners, ensuring the component stays in sync with the latest data.
8
+
9
+
## Phase 1: Setup (Reproduction)
10
+
-[ ] Initialize reproduction in `packages/react-vchart/demo/src/BugReproduction.tsx`
11
+
-[ ] Update demo entry point to run reproduction
12
+
13
+
## Phase 3: User Story 1 (Core Fix)
14
+
-[ ] Implement `_collectDataInfo` helper to gather data view references
15
+
-[ ] Add state tracking for `_currentDataCollection` and bound listeners
16
+
-[ ] Update `_initData` to initialize tracking
17
+
-[ ] Implement robust `onDataUpdate` logic:
18
+
- Detect if underlying DataViews have changed
19
+
- Unbind old listeners / Bind new listeners
20
+
- Re-run data transforms to update domain
21
+
-**Crucial**: Apply explicit `start`/`end` from spec if present (resetting range as per user config)
22
+
23
+
## Phase N: Polish
24
+
-[ ] Clean up reproduction code
25
+
-[ ] Restore demo entry point
26
+
27
+
I am ready to proceed with the implementation. Please confirm.
0 commit comments