@rse/ase 2.0.6 → 2.0.7
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/dst/ase-agent-definition-api.d.ts +2 -0
- package/dst/ase-agent-definition-core.js +24 -3
- package/dst/ase-agent-fleet.js +2 -1
- package/dst/ase-agent-runtime-engine.js +22 -4
- package/dst/ase-agent-runtime-tool.js +10 -8
- package/dst/ase-agent-runtime.js +8 -4
- package/dst/ase-man-catalog.js +1 -1
- package/dst/ase-task-store-plugin-gitea.js +3 -3
- package/dst/man/ase-agent-adhoc.md +25 -6
- package/dst/man/ase-agent-condenser.md +7 -0
- package/dst/man/ase-agent-editor.md +7 -0
- package/dst/man/ase-agent-estimator.md +7 -0
- package/dst/man/ase-agent-fleet.md +7 -4
- package/dst/man/ase-agent-implementer.md +7 -0
- package/dst/man/ase-agent-integrator.md +7 -0
- package/dst/man/ase-agent-qualifier.md +7 -0
- package/dst/man/ase-agent-rebooter.md +7 -0
- package/dst/man/ase-agent-researcher.md +7 -0
- package/package.json +5 -5
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/.codex-plugin/plugin.json +1 -1
- package/plugin/.github/plugin/plugin.json +1 -1
- package/plugin/meta/ase-common-task.md +9 -1
- package/plugin/meta/ase-control.md +14 -0
- package/plugin/meta/ase-format-specbook.yaml +9 -9
- package/plugin/meta/ase-skill.md +7 -0
- package/plugin/mods/ase-mods-help-hint.ts +1 -1
- package/plugin/skills/ase-code-edit/SKILL.md +53 -16
- package/plugin/skills/ase-code-edit/help.md +26 -13
- package/plugin/skills/ase-code-lint/SKILL.md +7 -3
- package/plugin/skills/ase-help-intent/data.md +170 -28
- package/plugin/skills/ase-help-skill/catalog.md +1 -0
- package/plugin/skills/ase-meta-workflow/workflow.txt +2 -0
- package/plugin/skills/ase-repo-changelog/SKILL.md +29 -10
- package/plugin/skills/ase-repo-changelog/help.md +5 -1
- package/plugin/skills/ase-repo-commit/SKILL.md +4 -1
- package/plugin/skills/ase-repo-dissect/help.md +2 -1
- package/plugin/skills/ase-repo-stage/SKILL.md +459 -0
- package/plugin/skills/ase-repo-stage/help.md +120 -0
- package/plugin/skills/ase-spec-edit/SKILL.md +20 -12
- package/plugin/skills/ase-spec-edit/help.md +22 -14
|
@@ -321,7 +321,7 @@ Analyze only the unstaged and untracked source files below a directory:
|
|
|
321
321
|
[`--grill-until`|`-u` `MUST`|`SHOULD`|`MAY`]
|
|
322
322
|
[`--grill-perspective`|`-p` *perspective*]
|
|
323
323
|
[`--grill-ground`|`-G`]
|
|
324
|
-
[`--verify`|`-v`]
|
|
324
|
+
[`--verify`|`-v` `light`|`none`|`full`]
|
|
325
325
|
[`--worktree`|`-w` *name*[`:`*branch*]]
|
|
326
326
|
[`--loop`|`-l`]
|
|
327
327
|
[*query*]
|
|
@@ -341,7 +341,8 @@ parts), *discovering* (read the source artifacts related to the query),
|
|
|
341
341
|
*grilling* (optionally stress-test the query with rounds of questions),
|
|
342
342
|
*implementing* (optionally select an approach, then apply the change
|
|
343
343
|
set in place, honoring the tenet set selected via `--mode`), and
|
|
344
|
-
*verifying* (
|
|
344
|
+
*verifying* (verify the implementation until it passes, unless
|
|
345
|
+
disabled via `--verify none`). The
|
|
345
346
|
*querying* state, every *grilling* round, and the approach selection
|
|
346
347
|
close with an `EDIT TODO` box showing the established `WHAT` and `HOW`
|
|
347
348
|
information.
|
|
@@ -376,8 +377,9 @@ information.
|
|
|
376
377
|
of a round are sorted by descending focus area importance
|
|
377
378
|
(`DOMAIN`, `INTERFACE`, `ARCHITECTURE`, `IMPLEMENTATION`,
|
|
378
379
|
`REGRESSION`, `CONFIRMATION`). Questions of focus area
|
|
379
|
-
`REGRESSION`
|
|
380
|
-
|
|
380
|
+
`REGRESSION` are raised only under `--verify light` or `full`, and
|
|
381
|
+
those of focus area `CONFIRMATION` only under `--verify full`, as
|
|
382
|
+
only then a verification honors their decisions.
|
|
381
383
|
All questions of a round are announced together below a
|
|
382
384
|
`GRILLING ROUND K/L` line (the round numbering is omitted when only
|
|
383
385
|
a single round is performed) as a `QUESTION`/`ANSWERS` table with
|
|
@@ -437,12 +439,17 @@ information.
|
|
|
437
439
|
no usable facts are found, a warning is shown and the grilling falls
|
|
438
440
|
back to model knowledge. Only effective together with `--grill`.
|
|
439
441
|
|
|
440
|
-
- `--verify`|`-v`:
|
|
441
|
-
Verify whether the implementation fulfills the requirements,
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
442
|
+
- `--verify`|`-v` `light`|`none`|`full`:
|
|
443
|
+
Verify whether the implementation fulfills the requirements, and
|
|
444
|
+
adjust the failing parts of the change set until the verification
|
|
445
|
+
passes, for at most ten rounds, listing any failures remaining after
|
|
446
|
+
the last round as `REMAINING FAILURES`. The default `light` runs the
|
|
447
|
+
available lint and build commands (including the type-checker) and
|
|
448
|
+
the already existing regression test suite, if any. The level `full`
|
|
449
|
+
additionally performs individual, change-specific manual tests
|
|
450
|
+
through ad-hoc scratch tests and program runs, which are cleaned up
|
|
451
|
+
afterwards. The level `none` strictly performs no verification at
|
|
452
|
+
all.
|
|
446
453
|
|
|
447
454
|
- `--worktree`|`-w` *name*[`:`*branch*]:
|
|
448
455
|
Apply the change sets inside the dedicated Git worktree
|
|
@@ -483,16 +490,22 @@ information.
|
|
|
483
490
|
|
|
484
491
|
## EXAMPLES
|
|
485
492
|
|
|
486
|
-
Edit in one shot, without any questions
|
|
493
|
+
Edit in one shot, without any questions, but with light verification:
|
|
487
494
|
|
|
488
495
|
```text
|
|
489
496
|
❯ /ase-code-edit add a --verbose option to the CLI
|
|
490
497
|
```
|
|
491
498
|
|
|
492
|
-
|
|
499
|
+
Edit in one shot, without any questions or verification:
|
|
493
500
|
|
|
494
501
|
```text
|
|
495
|
-
❯ /ase-code-edit -
|
|
502
|
+
❯ /ase-code-edit -v none add a --verbose option to the CLI
|
|
503
|
+
```
|
|
504
|
+
|
|
505
|
+
Grill the query with two rounds first, then implement and fully verify:
|
|
506
|
+
|
|
507
|
+
```text
|
|
508
|
+
❯ /ase-code-edit -g -r 2 -v full refactor the config loading into layers
|
|
496
509
|
```
|
|
497
510
|
|
|
498
511
|
Let the user pick one of several resolution approaches first, then
|
|
@@ -2618,7 +2631,7 @@ The `ase-repo-changelog` skill helps to *complete*, *consolidate*, and
|
|
|
2618
2631
|
file, based on the underlying *Git* commits and the currently staged
|
|
2619
2632
|
changes in the Git *index*.
|
|
2620
2633
|
|
|
2621
|
-
Each entry
|
|
2634
|
+
Each entry starts with `<change-type> [<artifact-kind>]: <summary>`
|
|
2622
2635
|
where *change-type* is one of `FEATURE`, `IMPROVEMENT`, `BUGFIX`,
|
|
2623
2636
|
`UPDATE`, `CLEANUP`, or `REFACTOR`, and *artifact-kind* is one or more
|
|
2624
2637
|
comma-separated *artifact class* tags out of `spec`, `code`, `docs`,
|
|
@@ -2626,6 +2639,10 @@ comma-separated *artifact class* tags out of `spec`, `code`, `docs`,
|
|
|
2626
2639
|
prefix. The date in the section header is also updated to the current
|
|
2627
2640
|
date.
|
|
2628
2641
|
|
|
2642
|
+
The layout of the entries follows the style of the existing entries
|
|
2643
|
+
of the file (e.g. a single line, a title line plus an explaining body,
|
|
2644
|
+
or a wrapped sentence), and each entry is kept within about 5 lines.
|
|
2645
|
+
|
|
2629
2646
|
## SCENARIOS
|
|
2630
2647
|
|
|
2631
2648
|
- You want the `CHANGELOG.md` brought up to date with recent commits
|
|
@@ -3295,6 +3312,123 @@ Review the last commit:
|
|
|
3295
3312
|
❯ /ase-repo-review -c HEAD
|
|
3296
3313
|
```
|
|
3297
3314
|
|
|
3315
|
+
</purpose>
|
|
3316
|
+
<purpose name="ase-repo-stage">
|
|
3317
|
+
|
|
3318
|
+
## NAME
|
|
3319
|
+
|
|
3320
|
+
`ase-repo-stage` - Stage a Part of the Changes
|
|
3321
|
+
|
|
3322
|
+
## SYNOPSIS
|
|
3323
|
+
|
|
3324
|
+
`ase-repo-stage`
|
|
3325
|
+
[`--help`|`-h`]
|
|
3326
|
+
[`--entry`|`-e`]
|
|
3327
|
+
[`--turn`|`-t`]
|
|
3328
|
+
[`--session`|`-s`]
|
|
3329
|
+
[`--merge`|`-m`]
|
|
3330
|
+
[`--no-verify`|`-V`]
|
|
3331
|
+
[`--worktree`|`-w`]
|
|
3332
|
+
[`--changelog`|`-c`]
|
|
3333
|
+
[`--commit`|`-C`]
|
|
3334
|
+
[*topic*]
|
|
3335
|
+
|
|
3336
|
+
## DESCRIPTION
|
|
3337
|
+
|
|
3338
|
+
The `ase-repo-stage` skill stages only the *part* of the current Git working copy changes which
|
|
3339
|
+
belongs to a *selection*, so a mixed change set can be committed in cohesive portions without
|
|
3340
|
+
hand-crafted partial patches.
|
|
3341
|
+
|
|
3342
|
+
The selection is either a free-text *topic*, the *last* `CHANGELOG.md` entry (`--entry`), the
|
|
3343
|
+
changes of the *last turn* (`--turn`), or all changes of the current *session* (`--session`).
|
|
3344
|
+
Without an option, the selection is inferred from the *topic* text, so `stage the last turn`
|
|
3345
|
+
works, too. An explicitly given option overrides the inference, and a remaining *topic* narrows
|
|
3346
|
+
the entry, turn, and session selections.
|
|
3347
|
+
|
|
3348
|
+
The changes are picked at the granularity of individual *lines*: hunks which belong to the
|
|
3349
|
+
selection only partially are *split*, and untracked files are selectable, even partially.
|
|
3350
|
+
Mutually dependent changes, like a use and its import, are kept together. Unless `--merge` is
|
|
3351
|
+
given, the selection *replaces* the current index content. Only the Git index is changed, never
|
|
3352
|
+
the content of a working copy file.
|
|
3353
|
+
|
|
3354
|
+
After staging, the skill checks that the *staged state alone builds*, with the build command
|
|
3355
|
+
auto-detected from the project. By default, the remaining unstaged changes are temporarily
|
|
3356
|
+
stashed for this, or -- under `--worktree` -- the staged state is built in a temporary worktree.
|
|
3357
|
+
A failed build keeps the staged selection and is reported with its essential error lines.
|
|
3358
|
+
|
|
3359
|
+
Finally, the skill optionally chains into the ChangeLog updating and the commit message
|
|
3360
|
+
crafting, both for the staged selection.
|
|
3361
|
+
|
|
3362
|
+
## OPTIONS
|
|
3363
|
+
|
|
3364
|
+
- `--entry`|`-e`:
|
|
3365
|
+
Select the changes which realize the *last* `CHANGELOG.md` entry, i.e. the entry added or
|
|
3366
|
+
modified by the uncommitted change of `CHANGELOG.md`, plus the entry itself.
|
|
3367
|
+
|
|
3368
|
+
- `--turn`|`-t`:
|
|
3369
|
+
Select the changes made by the agent in the *last turn* before the skill invocation.
|
|
3370
|
+
|
|
3371
|
+
- `--session`|`-s`:
|
|
3372
|
+
Select all changes made by the agent in the current *session*.
|
|
3373
|
+
|
|
3374
|
+
- `--merge`|`-m`:
|
|
3375
|
+
Stage the selection *on top* of the already staged changes, instead of replacing them.
|
|
3376
|
+
|
|
3377
|
+
- `--no-verify`|`-V`:
|
|
3378
|
+
Skip the check that the staged state builds on its own.
|
|
3379
|
+
|
|
3380
|
+
- `--worktree`|`-w`:
|
|
3381
|
+
Check the build in a *temporary Git worktree* holding only the staged state, instead of
|
|
3382
|
+
temporarily stashing the unstaged changes of the working copy.
|
|
3383
|
+
|
|
3384
|
+
- `--changelog`|`-c`:
|
|
3385
|
+
Afterwards, update the `CHANGELOG.md` entries via `ase-repo-changelog` and stage exactly the
|
|
3386
|
+
entries it added or updated.
|
|
3387
|
+
|
|
3388
|
+
- `--commit`|`-C`:
|
|
3389
|
+
Afterwards, craft the commit message of the staged selection via `ase-repo-commit`.
|
|
3390
|
+
|
|
3391
|
+
The options `--entry`, `--turn`, and `--session` are mutually exclusive.
|
|
3392
|
+
|
|
3393
|
+
## ARGUMENTS
|
|
3394
|
+
|
|
3395
|
+
- *topic*:
|
|
3396
|
+
A free-text description of the changes to stage, or -- without an option -- a reference
|
|
3397
|
+
like `last turn` or `last changelog entry` the selection is inferred from.
|
|
3398
|
+
|
|
3399
|
+
## SCENARIOS
|
|
3400
|
+
|
|
3401
|
+
- You want only the hunks related to a certain topic staged
|
|
3402
|
+
- You want only the changes of the last turn or of the session staged
|
|
3403
|
+
- You want the changes behind a `CHANGELOG.md` entry staged and committed
|
|
3404
|
+
- You want to be sure the staged part builds without the rest of the changes
|
|
3405
|
+
|
|
3406
|
+
## EXAMPLES
|
|
3407
|
+
|
|
3408
|
+
Stage only the hunks related to a topic:
|
|
3409
|
+
|
|
3410
|
+
```text
|
|
3411
|
+
❯ /ase-repo-stage the getopt negation handling
|
|
3412
|
+
```
|
|
3413
|
+
|
|
3414
|
+
Stage the changes of the last turn, checking the build in a temporary worktree:
|
|
3415
|
+
|
|
3416
|
+
```text
|
|
3417
|
+
❯ /ase-repo-stage --turn --worktree
|
|
3418
|
+
```
|
|
3419
|
+
|
|
3420
|
+
Stage the changes of the last ChangeLog entry and craft its commit message:
|
|
3421
|
+
|
|
3422
|
+
```text
|
|
3423
|
+
❯ /ase-repo-stage --entry --commit
|
|
3424
|
+
```
|
|
3425
|
+
|
|
3426
|
+
Add the session changes related to a topic to the already staged ones:
|
|
3427
|
+
|
|
3428
|
+
```text
|
|
3429
|
+
❯ /ase-repo-stage --session --merge task board
|
|
3430
|
+
```
|
|
3431
|
+
|
|
3298
3432
|
</purpose>
|
|
3299
3433
|
<purpose name="ase-spec-activate">
|
|
3300
3434
|
|
|
@@ -3387,7 +3521,7 @@ Activate and directly answer a question about the specification:
|
|
|
3387
3521
|
[`--grill-until`|`-u` `MUST`|`SHOULD`|`MAY`]
|
|
3388
3522
|
[`--grill-perspective`|`-p` *perspective*]
|
|
3389
3523
|
[`--grill-ground`|`-G`]
|
|
3390
|
-
[`--verify`|`-v`]
|
|
3524
|
+
[`--verify`|`-v` `light`|`none`|`full`]
|
|
3391
3525
|
[`--worktree`|`-w` *name*[`:`*branch*]]
|
|
3392
3526
|
[`--loop`|`-l`]
|
|
3393
3527
|
[*query*]
|
|
@@ -3411,8 +3545,8 @@ project, and read the specification artifacts related to the query),
|
|
|
3411
3545
|
*grilling* (optionally stress-test the query with rounds of questions),
|
|
3412
3546
|
*implementing* (optionally select an approach, then apply the change set
|
|
3413
3547
|
in place, honoring the GENERIC and SPECIFYING tenets and the `SPEC`
|
|
3414
|
-
format contract), and *verifying* (
|
|
3415
|
-
|
|
3548
|
+
format contract), and *verifying* (validate the specification until it
|
|
3549
|
+
passes, unless disabled via `--verify none`). The *querying* state, every *grilling* round, and the
|
|
3416
3550
|
approach selection close with an `EDIT TODO` box showing the established
|
|
3417
3551
|
`WHAT` and `HOW` information.
|
|
3418
3552
|
|
|
@@ -3448,8 +3582,9 @@ timestamp refreshed.
|
|
|
3448
3582
|
of a round are sorted by descending focus area importance
|
|
3449
3583
|
(`DOMAIN`, `INTERFACE`, `ARCHITECTURE`, `IMPLEMENTATION`,
|
|
3450
3584
|
`REGRESSION`, `CONFIRMATION`). Questions of focus area
|
|
3451
|
-
`REGRESSION`
|
|
3452
|
-
|
|
3585
|
+
`REGRESSION` are raised only under `--verify light` or `full`, and
|
|
3586
|
+
those of focus area `CONFIRMATION` only under `--verify full`, as
|
|
3587
|
+
only then a verification honors their decisions.
|
|
3453
3588
|
All questions of a round are announced together below a `GRILLING ROUND K/L` line (the round numbering is
|
|
3454
3589
|
omitted when only a single round is performed) as a
|
|
3455
3590
|
`QUESTION`/`ANSWERS` table with one row per question, each row
|
|
@@ -3508,12 +3643,13 @@ timestamp refreshed.
|
|
|
3508
3643
|
no usable facts are found, a warning is shown and the grilling falls
|
|
3509
3644
|
back to model knowledge. Only effective together with `--grill`.
|
|
3510
3645
|
|
|
3511
|
-
- `--verify`|`-v`:
|
|
3646
|
+
- `--verify`|`-v` `light`|`none`|`full`:
|
|
3512
3647
|
Verify the edited specification by validating it via *SpecBook*
|
|
3513
3648
|
linting and fixing the reported diagnostics in the affected `SPEC`
|
|
3514
|
-
artifacts, for at most
|
|
3515
|
-
the last round are listed as `REMAINING DIAGNOSTICS`.
|
|
3516
|
-
|
|
3649
|
+
artifacts, for at most ten rounds. Any diagnostics remaining after
|
|
3650
|
+
the last round are listed as `REMAINING DIAGNOSTICS`. The default
|
|
3651
|
+
`light` and the level `full` perform the same validation. The level
|
|
3652
|
+
`none` strictly performs no validation at all.
|
|
3517
3653
|
|
|
3518
3654
|
- `--worktree`|`-w` *name*[`:`*branch*]:
|
|
3519
3655
|
Apply the change sets inside the dedicated Git worktree
|
|
@@ -3525,8 +3661,8 @@ timestamp refreshed.
|
|
|
3525
3661
|
single worktree serves the whole skill run: it is prepared before
|
|
3526
3662
|
the first discovery, so discovering, grilling, and implementing all
|
|
3527
3663
|
operate on it, all `--loop` iterations land in it, and it is left
|
|
3528
|
-
uncommitted for review.
|
|
3529
|
-
`--verify
|
|
3664
|
+
uncommitted for review. Unless
|
|
3665
|
+
`--verify none` is given, the validation then runs as the `ase spec lint` command
|
|
3530
3666
|
inside the worktree. If *name* is a bare lower-case word naming no
|
|
3531
3667
|
existing worktree and a *query* follows (like `-w fix the crash`, a
|
|
3532
3668
|
former boolean `-w` usage), the skill asks whether *name* is the
|
|
@@ -3555,16 +3691,22 @@ timestamp refreshed.
|
|
|
3555
3691
|
|
|
3556
3692
|
## EXAMPLES
|
|
3557
3693
|
|
|
3558
|
-
Edit in one shot, without any questions
|
|
3694
|
+
Edit in one shot, without any questions, but with validation:
|
|
3559
3695
|
|
|
3560
3696
|
```text
|
|
3561
3697
|
❯ /ase-spec-edit add a Reviewer persona to the persona model
|
|
3562
3698
|
```
|
|
3563
3699
|
|
|
3564
|
-
|
|
3700
|
+
Edit in one shot, without any questions or validation:
|
|
3701
|
+
|
|
3702
|
+
```text
|
|
3703
|
+
❯ /ase-spec-edit -v none add a Reviewer persona to the persona model
|
|
3704
|
+
```
|
|
3705
|
+
|
|
3706
|
+
Grill the query with two rounds first, then edit and fully validate:
|
|
3565
3707
|
|
|
3566
3708
|
```text
|
|
3567
|
-
❯ /ase-spec-edit -g -r 2 -v split the Event entity into Event and EventSeries
|
|
3709
|
+
❯ /ase-spec-edit -g -r 2 -v full split the Event entity into Event and EventSeries
|
|
3568
3710
|
```
|
|
3569
3711
|
|
|
3570
3712
|
Let the user pick one of several specification approaches first, then
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
○ `ase-repo-diff`: Summarize Diff
|
|
48
48
|
○ `ase-repo-review`: Review Changes
|
|
49
49
|
○ `ase-repo-dissect`: Dissect a Change Set
|
|
50
|
+
○ `ase-repo-stage`: Stage a Part of the Changes
|
|
50
51
|
○ `ase-repo-merge`: Merge a Branch
|
|
51
52
|
○ `ase-repo-resolve`: Resolve Merge Conflicts
|
|
52
53
|
|
|
@@ -28,6 +28,7 @@ START -> ase-meta-proximity
|
|
|
28
28
|
START -> ase-meta-mint
|
|
29
29
|
START -> ase-meta-workflow
|
|
30
30
|
START -> ase-repo-dissect
|
|
31
|
+
START -> ase-repo-stage
|
|
31
32
|
START -> ase-repo-merge
|
|
32
33
|
START -> ase-repo-resolve
|
|
33
34
|
ase-help-skill -> END
|
|
@@ -60,6 +61,7 @@ ase-meta-proximity -> END
|
|
|
60
61
|
ase-meta-mint -> END
|
|
61
62
|
ase-meta-workflow -> END
|
|
62
63
|
ase-repo-dissect -> END
|
|
64
|
+
ase-repo-stage -> END
|
|
63
65
|
ase-repo-merge -> END
|
|
64
66
|
ase-repo-resolve -> END
|
|
65
67
|
START -> SKETCH
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
name: ase-repo-changelog
|
|
3
3
|
argument-hint: "[--help|-h]"
|
|
4
4
|
description: >
|
|
5
|
-
Update ChangeLog entries in CHANGELOG.md files
|
|
5
|
+
Update ChangeLog entries in CHANGELOG.md files. Use when the user wants to
|
|
6
|
+
"add a changelog entry", or to "update", "complete", or "consolidate" the
|
|
7
|
+
"changelog", "ChangeLog", or "CHANGELOG.md", e.g. before committing or releasing.
|
|
6
8
|
user-invocable: true
|
|
7
9
|
disable-model-invocation: false
|
|
8
10
|
model: sonnet
|
|
@@ -41,7 +43,7 @@ Format
|
|
|
41
43
|
The *ChangeLog* file is a Markdown formatted file named `CHANGELOG.md`,
|
|
42
44
|
and contains sections with headers in the style `N.M.K (YYYY-MM-DD)`.
|
|
43
45
|
|
|
44
|
-
Each *ChangeLog* entry
|
|
46
|
+
Each *ChangeLog* entry always starts with a line formatted as...
|
|
45
47
|
|
|
46
48
|
`<change-type/> [<artifact-kind/>]: <summary/>`
|
|
47
49
|
|
|
@@ -66,9 +68,19 @@ multiple artifact kinds apply, comma-separate them
|
|
|
66
68
|
- `infr`: infrastructure/build/tooling artifacts
|
|
67
69
|
- `othr`: any other artifacts
|
|
68
70
|
|
|
69
|
-
The
|
|
70
|
-
*ChangeLog*
|
|
71
|
-
|
|
71
|
+
The *layout* of the entries *MUST* follow the *style* of the existing
|
|
72
|
+
entries of the *ChangeLog* file, especially its list item marker and
|
|
73
|
+
indentation, its blank lines between entries, its line width, and its
|
|
74
|
+
entry shape, e.g. a single-line <summary/>, a short <summary/> title
|
|
75
|
+
line followed by an indented body of explaining sentences, or a
|
|
76
|
+
<summary/> sentence wrapped over multiple indented lines. Only if the
|
|
77
|
+
file contains no entries yet, use a single-line <summary/> of about
|
|
78
|
+
60-80 characters.
|
|
79
|
+
|
|
80
|
+
Each entry, including all its title and body lines, *MUST* be kept
|
|
81
|
+
within about *5 lines* in total. The *ChangeLog* entries for a single
|
|
82
|
+
product release version are also always grouped and sorted according
|
|
83
|
+
to the above <change-type/> list.
|
|
72
84
|
|
|
73
85
|
Processing
|
|
74
86
|
----------
|
|
@@ -144,8 +156,9 @@ Processing
|
|
|
144
156
|
the entries in the first (most recent) section only, by adding the
|
|
145
157
|
corresponding (most recent) Git *commits* and *staged* changes only.
|
|
146
158
|
|
|
147
|
-
For each Git commit, reduce the Git commit messages to
|
|
148
|
-
|
|
159
|
+
For each Git commit, reduce the Git commit messages to an entry in
|
|
160
|
+
the *style* of the existing entries, kept within about *5 lines*
|
|
161
|
+
(see section *Format* above).
|
|
149
162
|
|
|
150
163
|
For each entry, also determine the <artifact-kind/> *artifact kind*
|
|
151
164
|
tag(s) from the paths of the changed files. To classify a changed
|
|
@@ -178,7 +191,8 @@ Processing
|
|
|
178
191
|
Without immediately modifying the `CHANGELOG.md` file, *consolidate*
|
|
179
192
|
the entries in the first (most recent) section only, by summarizing
|
|
180
193
|
and merging closely related entries. Perform the entry consolidation
|
|
181
|
-
per <change-type/> group only.
|
|
194
|
+
per <change-type/> group only. Also condense any entry of this
|
|
195
|
+
section, which exceeds about *5 lines*, by compressing its wording.
|
|
182
196
|
|
|
183
197
|
Without immediately modifying the `CHANGELOG.md` file, *sort* the
|
|
184
198
|
entries in the first (most recent) section only. Instead of the
|
|
@@ -200,8 +214,13 @@ Processing
|
|
|
200
214
|
`YYYY-MM-DD` in the `N.M.K (YYYY-MM-DD)` header of the *first* (most
|
|
201
215
|
recent) section.
|
|
202
216
|
|
|
203
|
-
|
|
204
|
-
|
|
217
|
+
For this, you *MUST* use the `Edit` tool, replacing just the *first*
|
|
218
|
+
(most recent) section, instead of re-writing the entire file with
|
|
219
|
+
the `Write` tool, so that the resulting changes are shown to the
|
|
220
|
+
user as a diff by the agent tool itself.
|
|
221
|
+
|
|
222
|
+
You *MUST* *NOT* output the resulting entries a second time, any
|
|
223
|
+
further summary, or any further explanations.
|
|
205
224
|
|
|
206
225
|
</step>
|
|
207
226
|
|
|
@@ -15,7 +15,7 @@ The `ase-repo-changelog` skill helps to *complete*, *consolidate*, and
|
|
|
15
15
|
file, based on the underlying *Git* commits and the currently staged
|
|
16
16
|
changes in the Git *index*.
|
|
17
17
|
|
|
18
|
-
Each entry
|
|
18
|
+
Each entry starts with `<change-type> [<artifact-kind>]: <summary>`
|
|
19
19
|
where *change-type* is one of `FEATURE`, `IMPROVEMENT`, `BUGFIX`,
|
|
20
20
|
`UPDATE`, `CLEANUP`, or `REFACTOR`, and *artifact-kind* is one or more
|
|
21
21
|
comma-separated *artifact class* tags out of `spec`, `code`, `docs`,
|
|
@@ -23,6 +23,10 @@ comma-separated *artifact class* tags out of `spec`, `code`, `docs`,
|
|
|
23
23
|
prefix. The date in the section header is also updated to the current
|
|
24
24
|
date.
|
|
25
25
|
|
|
26
|
+
The layout of the entries follows the style of the existing entries
|
|
27
|
+
of the file (e.g. a single line, a title line plus an explaining body,
|
|
28
|
+
or a wrapped sentence), and each entry is kept within about 5 lines.
|
|
29
|
+
|
|
26
30
|
## SCENARIOS
|
|
27
31
|
|
|
28
32
|
- You want the `CHANGELOG.md` brought up to date with recent commits
|
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
name: ase-repo-commit
|
|
3
3
|
argument-hint: "[--help|-h]"
|
|
4
4
|
description: >
|
|
5
|
-
Determine commit message for staged Git changes.
|
|
5
|
+
Determine commit message for staged Git changes. Use when the user
|
|
6
|
+
asks to "give", "write", "craft", "suggest", or "propose" a "commit
|
|
7
|
+
message", or wants to know how to "describe" or "phrase" the staged
|
|
8
|
+
changes for a commit.
|
|
6
9
|
user-invocable: true
|
|
7
10
|
disable-model-invocation: false
|
|
8
11
|
effort: medium
|
|
@@ -123,4 +123,5 @@ Dissect the changes along an explicitly given axis:
|
|
|
123
123
|
## SEE ALSO
|
|
124
124
|
|
|
125
125
|
[`ase-task-dissect`](../ase-task-dissect/help.md), [`ase-repo-diff`](../ase-repo-diff/help.md), [`ase-repo-review`](../ase-repo-review/help.md),
|
|
126
|
-
[`ase-repo-changelog`](../ase-repo-changelog/help.md), [`ase-repo-commit`](../ase-repo-commit/help.md)
|
|
126
|
+
[`ase-repo-changelog`](../ase-repo-changelog/help.md), [`ase-repo-commit`](../ase-repo-commit/help.md),
|
|
127
|
+
[`ase-repo-stage`](../ase-repo-stage/help.md).
|