ace-git 0.18.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.
- checksums.yaml +7 -0
- data/.ace-defaults/git/config.yml +83 -0
- data/.ace-defaults/nav/protocols/guide-sources/ace-git.yml +10 -0
- data/.ace-defaults/nav/protocols/tmpl-sources/ace-git.yml +19 -0
- data/.ace-defaults/nav/protocols/wfi-sources/ace-git.yml +19 -0
- data/CHANGELOG.md +762 -0
- data/LICENSE +21 -0
- data/README.md +48 -0
- data/Rakefile +14 -0
- data/docs/demo/ace-git-getting-started.gif +0 -0
- data/docs/demo/ace-git-getting-started.tape.yml +18 -0
- data/docs/demo/fixtures/README.md +3 -0
- data/docs/demo/fixtures/sample.txt +1 -0
- data/docs/getting-started.md +87 -0
- data/docs/handbook.md +50 -0
- data/docs/usage.md +259 -0
- data/exe/ace-git +37 -0
- data/handbook/guides/version-control/ruby.md +41 -0
- data/handbook/guides/version-control/rust.md +49 -0
- data/handbook/guides/version-control/typescript.md +47 -0
- data/handbook/guides/version-control-system-git.g.md +829 -0
- data/handbook/skills/as-git-rebase/SKILL.md +43 -0
- data/handbook/skills/as-git-reorganize-commits/SKILL.md +41 -0
- data/handbook/skills/as-github-pr-create/SKILL.md +60 -0
- data/handbook/skills/as-github-pr-update/SKILL.md +41 -0
- data/handbook/skills/as-github-release-publish/SKILL.md +58 -0
- data/handbook/templates/commit/squash.template.md +59 -0
- data/handbook/templates/pr/bugfix.template.md +103 -0
- data/handbook/templates/pr/default.template.md +40 -0
- data/handbook/templates/pr/feature.template.md +41 -0
- data/handbook/workflow-instructions/git/rebase.wf.md +402 -0
- data/handbook/workflow-instructions/git/reorganize-commits.wf.md +158 -0
- data/handbook/workflow-instructions/github/pr/create.wf.md +282 -0
- data/handbook/workflow-instructions/github/pr/update.wf.md +199 -0
- data/handbook/workflow-instructions/github/release-publish.wf.md +162 -0
- data/lib/ace/git/atoms/command_executor.rb +253 -0
- data/lib/ace/git/atoms/date_resolver.rb +129 -0
- data/lib/ace/git/atoms/diff_numstat_parser.rb +82 -0
- data/lib/ace/git/atoms/diff_parser.rb +110 -0
- data/lib/ace/git/atoms/file_grouper.rb +152 -0
- data/lib/ace/git/atoms/git_scope_filter.rb +86 -0
- data/lib/ace/git/atoms/git_status_fetcher.rb +29 -0
- data/lib/ace/git/atoms/grouped_stats_formatter.rb +233 -0
- data/lib/ace/git/atoms/lock_error_detector.rb +79 -0
- data/lib/ace/git/atoms/pattern_filter.rb +156 -0
- data/lib/ace/git/atoms/pr_identifier_parser.rb +88 -0
- data/lib/ace/git/atoms/repository_checker.rb +97 -0
- data/lib/ace/git/atoms/repository_state_detector.rb +92 -0
- data/lib/ace/git/atoms/stale_lock_cleaner.rb +247 -0
- data/lib/ace/git/atoms/status_formatter.rb +180 -0
- data/lib/ace/git/atoms/task_pattern_extractor.rb +57 -0
- data/lib/ace/git/atoms/time_formatter.rb +84 -0
- data/lib/ace/git/cli/commands/branch.rb +62 -0
- data/lib/ace/git/cli/commands/diff.rb +252 -0
- data/lib/ace/git/cli/commands/pr.rb +119 -0
- data/lib/ace/git/cli/commands/status.rb +84 -0
- data/lib/ace/git/cli.rb +87 -0
- data/lib/ace/git/models/diff_config.rb +185 -0
- data/lib/ace/git/models/diff_result.rb +94 -0
- data/lib/ace/git/models/repo_status.rb +202 -0
- data/lib/ace/git/molecules/branch_reader.rb +92 -0
- data/lib/ace/git/molecules/config_loader.rb +108 -0
- data/lib/ace/git/molecules/diff_filter.rb +102 -0
- data/lib/ace/git/molecules/diff_generator.rb +160 -0
- data/lib/ace/git/molecules/git_status_fetcher.rb +32 -0
- data/lib/ace/git/molecules/pr_metadata_fetcher.rb +286 -0
- data/lib/ace/git/molecules/recent_commits_fetcher.rb +53 -0
- data/lib/ace/git/organisms/diff_orchestrator.rb +178 -0
- data/lib/ace/git/organisms/repo_status_loader.rb +264 -0
- data/lib/ace/git/version.rb +7 -0
- data/lib/ace/git.rb +230 -0
- metadata +201 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: as-git-rebase
|
|
3
|
+
description: Rebase with CHANGELOG preservation
|
|
4
|
+
# bundle: wfi://git/rebase
|
|
5
|
+
# context: no-fork
|
|
6
|
+
# agent: Bash
|
|
7
|
+
user-invocable: true
|
|
8
|
+
allowed-tools:
|
|
9
|
+
- Bash(ace-git:*)
|
|
10
|
+
- Bash(ace-bundle:*)
|
|
11
|
+
- Read
|
|
12
|
+
- Edit
|
|
13
|
+
- Write
|
|
14
|
+
argument-hint: [target-branch]
|
|
15
|
+
last_modified: 2026-01-10
|
|
16
|
+
source: ace-git
|
|
17
|
+
integration:
|
|
18
|
+
targets:
|
|
19
|
+
- claude
|
|
20
|
+
- codex
|
|
21
|
+
- gemini
|
|
22
|
+
- opencode
|
|
23
|
+
- pi
|
|
24
|
+
providers: {}
|
|
25
|
+
assign:
|
|
26
|
+
source: wfi://git/rebase
|
|
27
|
+
steps:
|
|
28
|
+
- name: rebase-with-main
|
|
29
|
+
description: Rebase current branch onto origin/main while preserving changelog intent
|
|
30
|
+
intent:
|
|
31
|
+
phrases:
|
|
32
|
+
- "rebase with main"
|
|
33
|
+
- "rebase with origin main"
|
|
34
|
+
- "rebase onto main"
|
|
35
|
+
- "sync with main"
|
|
36
|
+
tags: [git, history, rebase]
|
|
37
|
+
skill:
|
|
38
|
+
kind: workflow
|
|
39
|
+
execution:
|
|
40
|
+
workflow: wfi://git/rebase
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
Load and run `ace-bundle wfi://git/rebase` in the current project, then follow the loaded workflow as the source of truth and execute it end-to-end instead of only summarizing it.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: as-git-reorganize-commits
|
|
3
|
+
description: Reorganize commits into logical groups
|
|
4
|
+
# bundle: wfi://git/reorganize-commits
|
|
5
|
+
# context: no-fork
|
|
6
|
+
# agent: general-purpose
|
|
7
|
+
user-invocable: true
|
|
8
|
+
allowed-tools:
|
|
9
|
+
- Bash(ace-git:*)
|
|
10
|
+
- Bash(ace-bundle:*)
|
|
11
|
+
- Read
|
|
12
|
+
argument-hint: [version]
|
|
13
|
+
last_modified: 2026-01-19
|
|
14
|
+
source: ace-git
|
|
15
|
+
integration:
|
|
16
|
+
targets:
|
|
17
|
+
- claude
|
|
18
|
+
- codex
|
|
19
|
+
- gemini
|
|
20
|
+
- opencode
|
|
21
|
+
- pi
|
|
22
|
+
providers: {}
|
|
23
|
+
assign:
|
|
24
|
+
source: wfi://git/reorganize-commits
|
|
25
|
+
steps:
|
|
26
|
+
- name: reorganize-commits
|
|
27
|
+
description: Reorganize commits into logical groups for clean history
|
|
28
|
+
intent:
|
|
29
|
+
phrases:
|
|
30
|
+
- "reorganize commits"
|
|
31
|
+
- "clean up commits"
|
|
32
|
+
- "rewrite commit history"
|
|
33
|
+
- "tidy commit history"
|
|
34
|
+
tags: [git, history, cleanup]
|
|
35
|
+
skill:
|
|
36
|
+
kind: workflow
|
|
37
|
+
execution:
|
|
38
|
+
workflow: wfi://git/reorganize-commits
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
Load and run `ace-bundle wfi://git/reorganize-commits` in the current project, then follow the loaded workflow as the source of truth and execute it end-to-end instead of only summarizing it.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: as-github-pr-create
|
|
3
|
+
description: Create GitHub pull request with generated description and summary
|
|
4
|
+
# bundle: wfi://github/pr/create
|
|
5
|
+
# agent: general-purpose
|
|
6
|
+
user-invocable: true
|
|
7
|
+
allowed-tools:
|
|
8
|
+
- Bash(ace-git:*)
|
|
9
|
+
- Bash(ace-bundle:*)
|
|
10
|
+
- Bash(gh:*)
|
|
11
|
+
- Read
|
|
12
|
+
argument-hint: pr-type
|
|
13
|
+
last_modified: 2026-01-10
|
|
14
|
+
source: ace-git
|
|
15
|
+
integration:
|
|
16
|
+
targets:
|
|
17
|
+
- claude
|
|
18
|
+
- codex
|
|
19
|
+
- gemini
|
|
20
|
+
- opencode
|
|
21
|
+
- pi
|
|
22
|
+
providers:
|
|
23
|
+
claude:
|
|
24
|
+
frontmatter:
|
|
25
|
+
context: fork
|
|
26
|
+
model: haiku
|
|
27
|
+
assign:
|
|
28
|
+
source: wfi://github/pr/create
|
|
29
|
+
steps:
|
|
30
|
+
- name: create-pr
|
|
31
|
+
description: Create a pull request for the implemented changes
|
|
32
|
+
intent:
|
|
33
|
+
phrases:
|
|
34
|
+
- "create pr"
|
|
35
|
+
- "create a pr"
|
|
36
|
+
- "open pr"
|
|
37
|
+
- "open pull request"
|
|
38
|
+
tags: [git, pr, publishing]
|
|
39
|
+
skill:
|
|
40
|
+
kind: workflow
|
|
41
|
+
execution:
|
|
42
|
+
workflow: wfi://github/pr/create
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Arguments
|
|
46
|
+
|
|
47
|
+
Use the skill `argument-hint` values as the explicit inputs for this skill.
|
|
48
|
+
|
|
49
|
+
## Variables
|
|
50
|
+
|
|
51
|
+
None
|
|
52
|
+
|
|
53
|
+
## Execution
|
|
54
|
+
|
|
55
|
+
- You are working in the current project.
|
|
56
|
+
- Run `ace-bundle wfi://github/pr/create` in the current project to load the workflow instructions.
|
|
57
|
+
- Read the loaded workflow and execute it end-to-end in this project.
|
|
58
|
+
- Follow the workflow as the source of truth.
|
|
59
|
+
- Do the work described by the workflow instead of only summarizing it.
|
|
60
|
+
- When the workflow requires edits, tests, or commits, perform them in this project.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: as-github-pr-update
|
|
3
|
+
description: Update PR description based on current work
|
|
4
|
+
# bundle: wfi://github/pr/update
|
|
5
|
+
# agent: general-purpose
|
|
6
|
+
user-invocable: true
|
|
7
|
+
allowed-tools:
|
|
8
|
+
- Bash(ace-git:*)
|
|
9
|
+
- Bash(ace-bundle:*)
|
|
10
|
+
- Bash(gh:*)
|
|
11
|
+
- Read
|
|
12
|
+
- Grep
|
|
13
|
+
argument-hint: pr-number
|
|
14
|
+
last_modified: 2026-01-10
|
|
15
|
+
source: ace-git
|
|
16
|
+
integration:
|
|
17
|
+
targets:
|
|
18
|
+
- claude
|
|
19
|
+
- codex
|
|
20
|
+
- gemini
|
|
21
|
+
- opencode
|
|
22
|
+
- pi
|
|
23
|
+
assign:
|
|
24
|
+
source: wfi://github/pr/update
|
|
25
|
+
steps:
|
|
26
|
+
- name: update-pr-desc
|
|
27
|
+
description: Update PR description with implementation summary and final state
|
|
28
|
+
intent:
|
|
29
|
+
phrases:
|
|
30
|
+
- "update pr description"
|
|
31
|
+
- "update pull request description"
|
|
32
|
+
- "refresh pr description"
|
|
33
|
+
- "sync pr description"
|
|
34
|
+
tags: [git, pr, documentation]
|
|
35
|
+
skill:
|
|
36
|
+
kind: workflow
|
|
37
|
+
execution:
|
|
38
|
+
workflow: wfi://github/pr/update
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
Load and run `ace-bundle wfi://github/pr/update` in the current project, then follow the loaded workflow as the source of truth and execute it end-to-end instead of only summarizing it.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: as-github-release-publish
|
|
3
|
+
description: Create GitHub releases from unpublished CHANGELOG entries
|
|
4
|
+
# bundle: wfi://github/release-publish
|
|
5
|
+
# agent: general-purpose
|
|
6
|
+
user-invocable: true
|
|
7
|
+
allowed-tools:
|
|
8
|
+
- Bash(gh:*)
|
|
9
|
+
- Bash(ace-bundle:*)
|
|
10
|
+
- Read
|
|
11
|
+
argument-hint: "[version-or-range] [--since duration] [--dry-run]"
|
|
12
|
+
last_modified: 2026-03-21
|
|
13
|
+
source: ace-git
|
|
14
|
+
integration:
|
|
15
|
+
targets:
|
|
16
|
+
- claude
|
|
17
|
+
- codex
|
|
18
|
+
- gemini
|
|
19
|
+
- opencode
|
|
20
|
+
- pi
|
|
21
|
+
providers:
|
|
22
|
+
claude:
|
|
23
|
+
frontmatter:
|
|
24
|
+
context: fork
|
|
25
|
+
model: haiku
|
|
26
|
+
assign:
|
|
27
|
+
source: wfi://github/release-publish
|
|
28
|
+
steps:
|
|
29
|
+
- name: publish-releases
|
|
30
|
+
description: Create GitHub releases from unpublished changelog entries
|
|
31
|
+
intent:
|
|
32
|
+
phrases:
|
|
33
|
+
- "publish github releases"
|
|
34
|
+
- "create github releases"
|
|
35
|
+
- "publish releases"
|
|
36
|
+
tags: [git, github, release, publishing]
|
|
37
|
+
skill:
|
|
38
|
+
kind: workflow
|
|
39
|
+
execution:
|
|
40
|
+
workflow: wfi://github/release-publish
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Arguments
|
|
44
|
+
|
|
45
|
+
Use the skill `argument-hint` values as the explicit inputs for this skill.
|
|
46
|
+
|
|
47
|
+
## Variables
|
|
48
|
+
|
|
49
|
+
None
|
|
50
|
+
|
|
51
|
+
## Execution
|
|
52
|
+
|
|
53
|
+
- You are working in the current project.
|
|
54
|
+
- Run `ace-bundle wfi://github/release-publish` in the current project to load the workflow instructions.
|
|
55
|
+
- Read the loaded workflow and execute it end-to-end in this project.
|
|
56
|
+
- Follow the workflow as the source of truth.
|
|
57
|
+
- Do the work described by the workflow instead of only summarizing it.
|
|
58
|
+
- When the workflow requires edits, tests, or commits, perform them in this project.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
doc-type: template
|
|
3
|
+
title: Features
|
|
4
|
+
purpose: Documentation for ace-git/handbook/templates/commit/squash.template.md
|
|
5
|
+
ace-docs:
|
|
6
|
+
last-updated: 2025-11-13
|
|
7
|
+
last-checked: 2026-03-21
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
v[X.Y.Z]: [Brief Summary of Version]
|
|
11
|
+
|
|
12
|
+
## Features
|
|
13
|
+
- [New feature description]
|
|
14
|
+
- [Another feature]
|
|
15
|
+
- [Feature with details]
|
|
16
|
+
|
|
17
|
+
## Fixes
|
|
18
|
+
- [Bug fix description]
|
|
19
|
+
- [Another fix with issue reference #123]
|
|
20
|
+
- [Performance fix]
|
|
21
|
+
|
|
22
|
+
## Documentation
|
|
23
|
+
- [Documentation updates]
|
|
24
|
+
- [Guide additions]
|
|
25
|
+
- [README improvements]
|
|
26
|
+
|
|
27
|
+
## Technical Details
|
|
28
|
+
- [Implementation notes]
|
|
29
|
+
- [Architecture changes]
|
|
30
|
+
- [Refactoring performed]
|
|
31
|
+
|
|
32
|
+
## Breaking Changes
|
|
33
|
+
[List any breaking changes, or state "None"]
|
|
34
|
+
|
|
35
|
+
- [Breaking change description]
|
|
36
|
+
- [Migration required]
|
|
37
|
+
|
|
38
|
+
## Dependencies
|
|
39
|
+
- Added: [new-dependency] v[X.Y] - [reason]
|
|
40
|
+
- Updated: [dependency] [old-version] → [new-version]
|
|
41
|
+
- Removed: [deprecated-dependency] - [reason]
|
|
42
|
+
|
|
43
|
+
## Performance
|
|
44
|
+
- [Performance improvement description]
|
|
45
|
+
- [Metric]: [before] → [after]
|
|
46
|
+
|
|
47
|
+
## Security
|
|
48
|
+
- [Security fix or improvement]
|
|
49
|
+
- [Vulnerability addressed]
|
|
50
|
+
|
|
51
|
+
## Migration Notes
|
|
52
|
+
[If users need to take action, describe steps. Otherwise, state "No migration required"]
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# Migration commands if needed
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Refs: #[issue], #[issue]
|
|
59
|
+
Co-authored-by: [Name] <[email]>
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
doc-type: template
|
|
3
|
+
title: Problem
|
|
4
|
+
purpose: Documentation for ace-git/handbook/templates/pr/bugfix.template.md
|
|
5
|
+
ace-docs:
|
|
6
|
+
last-updated: 2025-11-13
|
|
7
|
+
last-checked: 2026-03-21
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Problem
|
|
11
|
+
|
|
12
|
+
[Clear description of the bug]
|
|
13
|
+
|
|
14
|
+
### Symptoms
|
|
15
|
+
- [What users experience]
|
|
16
|
+
- [Error messages]
|
|
17
|
+
- [Unexpected behavior]
|
|
18
|
+
|
|
19
|
+
### Root Cause
|
|
20
|
+
[Technical explanation of why the bug occurs]
|
|
21
|
+
|
|
22
|
+
### Impact
|
|
23
|
+
- Severity: [Critical/High/Medium/Low]
|
|
24
|
+
- Users affected: [All/Specific use case/Edge case]
|
|
25
|
+
- Frequency: [Always/Often/Rare]
|
|
26
|
+
|
|
27
|
+
## Solution
|
|
28
|
+
|
|
29
|
+
[Explanation of how the fix addresses the root cause]
|
|
30
|
+
|
|
31
|
+
### Changes Made
|
|
32
|
+
- [File/module] - [Specific fix applied]
|
|
33
|
+
- [File/module] - [Specific fix applied]
|
|
34
|
+
|
|
35
|
+
### Why This Approach
|
|
36
|
+
- [Reasoning for chosen solution]
|
|
37
|
+
- [Alternatives considered and why rejected]
|
|
38
|
+
|
|
39
|
+
## Testing
|
|
40
|
+
|
|
41
|
+
### Reproduction Steps (Before Fix)
|
|
42
|
+
1. [Step to reproduce bug]
|
|
43
|
+
2. [Another step]
|
|
44
|
+
3. [Observe error/unexpected behavior]
|
|
45
|
+
|
|
46
|
+
### Verification (After Fix)
|
|
47
|
+
1. [Step to verify fix]
|
|
48
|
+
2. [Another step]
|
|
49
|
+
3. [Observe correct behavior]
|
|
50
|
+
|
|
51
|
+
### Test Coverage
|
|
52
|
+
- [New tests added to prevent regression]
|
|
53
|
+
- [Existing tests modified]
|
|
54
|
+
- [Coverage percentage]
|
|
55
|
+
|
|
56
|
+
### Test Commands
|
|
57
|
+
```bash
|
|
58
|
+
# Run tests
|
|
59
|
+
bundle exec rake test
|
|
60
|
+
|
|
61
|
+
# Run specific test for this fix
|
|
62
|
+
bundle exec rake test:bug_fix
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Regression Prevention
|
|
66
|
+
|
|
67
|
+
- [ ] Added test to prevent future regression
|
|
68
|
+
- [ ] Updated validation/error handling
|
|
69
|
+
- [ ] Added documentation about edge case
|
|
70
|
+
- [ ] Improved error messages
|
|
71
|
+
|
|
72
|
+
## Documentation
|
|
73
|
+
|
|
74
|
+
- [ ] Code comments added explaining fix
|
|
75
|
+
- [ ] README updated if behavior changed
|
|
76
|
+
- [ ] CHANGELOG.md updated
|
|
77
|
+
- [ ] Known issues list updated
|
|
78
|
+
|
|
79
|
+
## Checklist
|
|
80
|
+
|
|
81
|
+
- [ ] Tests pass locally
|
|
82
|
+
- [ ] Root cause identified and documented
|
|
83
|
+
- [ ] Fix verified with reproduction steps
|
|
84
|
+
- [ ] No breaking changes
|
|
85
|
+
- [ ] CHANGELOG.md updated
|
|
86
|
+
- [ ] Regression test added
|
|
87
|
+
|
|
88
|
+
## Breaking Changes
|
|
89
|
+
|
|
90
|
+
[Breaking changes should be rare in bugfixes. If present, describe them. Otherwise, state "None"]
|
|
91
|
+
|
|
92
|
+
## Related Issues
|
|
93
|
+
|
|
94
|
+
Fixes #[issue-number]
|
|
95
|
+
Related to #[related-issue]
|
|
96
|
+
|
|
97
|
+
## Additional Context
|
|
98
|
+
|
|
99
|
+
[Any additional information, logs, stack traces, or context]
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
# Error logs or stack traces if relevant
|
|
103
|
+
```
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
doc-type: template
|
|
3
|
+
title: Summary
|
|
4
|
+
purpose: Documentation for ace-git/handbook/templates/pr/default.template.md
|
|
5
|
+
ace-docs:
|
|
6
|
+
last-updated: 2026-02-28
|
|
7
|
+
last-checked: 2026-03-21
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Summary
|
|
11
|
+
|
|
12
|
+
What is easier now:
|
|
13
|
+
- <impact>
|
|
14
|
+
|
|
15
|
+
What changed from user/reviewer perspective:
|
|
16
|
+
- <behavior-change>
|
|
17
|
+
|
|
18
|
+
## Changes
|
|
19
|
+
|
|
20
|
+
- <primary-change> (<commit-sha>)
|
|
21
|
+
- <secondary-change> (<commit-sha>)
|
|
22
|
+
|
|
23
|
+
## File Changes
|
|
24
|
+
|
|
25
|
+
- Use `ace-git diff --format grouped-stats` output
|
|
26
|
+
|
|
27
|
+
## Test Evidence
|
|
28
|
+
|
|
29
|
+
- <test-name> -> <behavior-validated>
|
|
30
|
+
- Suite totals: <passed>/<total>
|
|
31
|
+
|
|
32
|
+
## Releases
|
|
33
|
+
|
|
34
|
+
- <changelog-entry-from-diff-if-any>
|
|
35
|
+
|
|
36
|
+
## Demo
|
|
37
|
+
|
|
38
|
+
- <runnable-command-demonstrating-the-change>
|
|
39
|
+
- <expected-output-and-artifact-locations>
|
|
40
|
+
- Omit this section if no user-facing CLI or runnable entry point
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
doc-type: template
|
|
3
|
+
title: Summary
|
|
4
|
+
purpose: Documentation for ace-git/handbook/templates/pr/feature.template.md
|
|
5
|
+
ace-docs:
|
|
6
|
+
last-updated: 2026-02-28
|
|
7
|
+
last-checked: 2026-03-21
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Summary
|
|
11
|
+
|
|
12
|
+
What is easier now for users/reviewers:
|
|
13
|
+
- <impact>
|
|
14
|
+
|
|
15
|
+
What pain/manual step/error existed before:
|
|
16
|
+
- <previous-pain>
|
|
17
|
+
|
|
18
|
+
## Changes
|
|
19
|
+
|
|
20
|
+
- <concern-1> (<commit-sha>)
|
|
21
|
+
- <concern-2> (<commit-sha>)
|
|
22
|
+
|
|
23
|
+
## File Changes
|
|
24
|
+
|
|
25
|
+
- Use `ace-git diff --format grouped-stats` output
|
|
26
|
+
- Fallback: flat file list if grouped-stats unavailable
|
|
27
|
+
|
|
28
|
+
## Test Evidence
|
|
29
|
+
|
|
30
|
+
- <test-file-or-test-name> -> <behavior-validated>
|
|
31
|
+
- Suite totals: <passed>/<total>
|
|
32
|
+
|
|
33
|
+
## Releases
|
|
34
|
+
|
|
35
|
+
- <changelog-entry-from-diff>
|
|
36
|
+
|
|
37
|
+
## Demo
|
|
38
|
+
|
|
39
|
+
- <runnable-command-demonstrating-the-feature>
|
|
40
|
+
- <expected-output-and-artifact-locations>
|
|
41
|
+
- Omit this section if no user-facing CLI or runnable entry point
|