ace-git 0.18.0 → 0.18.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c896850e93844a5ee9be77622e671b5bdfbef22525c48c1895dcdf7d3c2a260b
4
- data.tar.gz: bc4a8121818d3bef9756fcf1057493956c18750a7cb29b76ace9afbc8984b954
3
+ metadata.gz: b8ac89d3d0f91bf4c028d8cd3bbd50cb4bfd886383035208bf7240cbba4c0d08
4
+ data.tar.gz: 448fd94c0789ca91704c2c5972bda8ce602b45ddf3e7f003228835c5651ae0ae
5
5
  SHA512:
6
- metadata.gz: 79fa7aba7235fd235f52274652ebf222f4e0138f0fbf51175893a2e421467b00392ac53946b4f43cdd290ad4734cbfdb7cd0f1b6ade6f7bc65814d2d532c3143
7
- data.tar.gz: 5fb09c315fb7cc8835a4a4a80a4f3f0029fd2b681c4afde47198a50faa959e9d1e41978ea600cf3ba810db4ca7cfaca9b343943be43388e189ad89819a9d43d4
6
+ metadata.gz: 17b5033eb9b6e780cb62a38aac5996adff5a91258221223455325b98201c932ad23d8527e89cd2e6e1a6657cea6414404d5b5e81178bfe6dae62818104420f2f
7
+ data.tar.gz: 6e376beb34a24b21da3a413ca56155f10f8604e06ee7157d4904938f124d4cb174e2e7953ffefcd75ab918d382fc4a4f1ee174cf1902a29b52b8b2545a0e2b27
data/CHANGELOG.md CHANGED
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+
11
+ ## [0.18.3] - 2026-03-29
12
+
13
+ ### Fixed
14
+ - **ace-git v0.18.3**: Bumped dependency constraints to currently available `~>` ranges on RubyGems and updated release metadata after dependency synchronization.
15
+
16
+ ## [0.18.2] - 2026-03-28
17
+
18
+ ### Changed
19
+ - **ace-git v0.18.2**: Updated GitHub release publish workflow documentation to use package-emoji headings and improved handbook skill guidance around package-aware release note rendering.
20
+
21
+ ## [0.18.1] - 2026-03-26
22
+
23
+ ### Changed
24
+ - Updated PR update workflow (`wfi://github/pr/update`) to reference recorded demo GIFs when attached via `ace-demo record --pr`.
25
+
10
26
  ## [0.18.0] - 2026-03-23
11
27
 
12
28
  ### Added
data/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  Git workflows and context commands for developers and AI agents.
5
5
 
6
- <img src="https://raw.githubusercontent.com/cs3b/ace/main/docs/brand/AgenticCodingEnvironment.Logo.XS.jpg" alt="ACE Logo" width="480">
6
+ <img src="../docs/brand/AgenticCodingEnvironment.Logo.XS.jpg" alt="ACE Logo" width="480">
7
7
  <br><br>
8
8
 
9
9
  <a href="https://rubygems.org/gems/ace-git"><img alt="Gem Version" src="https://img.shields.io/gem/v/ace-git.svg" /></a>
@@ -36,13 +36,5 @@
36
36
 
37
37
  **Coordinate with commit and worktree tools** - pair with [ace-git-commit](../ace-git-commit) for scoped commit authoring, [ace-git-worktree](../ace-git-worktree) for task-oriented worktree management, and [ace-bundle](../ace-bundle) for loading workflow instructions.
38
38
 
39
- ## Installation
40
-
41
- ```bash
42
- gem install ace-git
43
- ```
44
-
45
- See [Getting Started](docs/getting-started.md) for setup and first steps.
46
-
47
39
  ---
48
40
  [Getting Started](docs/getting-started.md) | [Usage Guide](docs/usage.md) | [Handbook - Skills, Agents, Templates](docs/handbook.md) | Part of [ACE](https://github.com/cs3b/ace)
@@ -8,7 +8,7 @@ allowed-tools:
8
8
  - Bash(gh:*)
9
9
  - Bash(ace-bundle:*)
10
10
  - Read
11
- argument-hint: "[version-or-range] [--since duration] [--dry-run]"
11
+ argument-hint: "[version-or-range] [--since duration] [--group-by package|date] [--category-order fixed,added,changed,technical] [--dry-run]"
12
12
  last_modified: 2026-03-21
13
13
  source: ace-git
14
14
  integration:
@@ -119,6 +119,8 @@ Constraints:
119
119
 
120
120
  Include `## 🎮 Demo` when the PR introduces a user-facing CLI command or runnable entry point that a reviewer can try.
121
121
 
122
+ When a PR adds or changes multiple distinct user-facing modes, list each mode explicitly in `## 🎮 Demo` instead of showing only one representative command. Examples: mutually exclusive flags (`--yaml` vs `--task`) or sibling commands like `add --step`, `add --yaml`, and `add --task`.
123
+
122
124
  Structure:
123
125
 
124
126
  ```markdown
@@ -126,7 +128,7 @@ Structure:
126
128
 
127
129
  ### Run
128
130
  \`\`\`bash
129
- [exact command to copy-paste]
131
+ [exact commands to copy-paste]
130
132
  \`\`\`
131
133
 
132
134
  ### Expected Output
@@ -138,6 +140,8 @@ Structure:
138
140
 
139
141
  Omit when: the PR has no user-facing CLI, no runnable entry point, or is purely internal refactoring.
140
142
 
143
+ **Recorded demo integration**: If a recorded demo GIF has been attached as a PR comment (via `ace-demo record --pr`), reference it in the Demo section: "See attached demo recording in PR comments below" alongside the runnable commands. The recorded demo supplements but does not replace the runnable commands.
144
+
141
145
  ### 8. Omission and Fallback Rules
142
146
 
143
147
  - If no changelog evidence: omit `## 📦 Releases`
@@ -196,4 +200,4 @@ gh pr view $pr_number --json url,title -q '.url + "\n" + .title'
196
200
  - File Changes contains the complete, untruncated grouped-stats output (never trimmed, summarised, or selectively omitted)
197
201
  - Test Evidence maps tests to behavior and includes totals
198
202
  - Releases derived from changelog evidence only
199
- - Empty/no-evidence sections are omitted
203
+ - Empty/no-evidence sections are omitted
@@ -18,6 +18,8 @@ Create GitHub releases from root `CHANGELOG.md` entries that have no correspondi
18
18
  - `$version`: explicit version like `v0.9.846`, or range like `v0.9.840..v0.9.846`
19
19
  - `$since`: time filter like `"3 days"` or `"this week"`
20
20
  - `$dry_run`: if set, print what would be created without creating anything
21
+ - `$group_by`: optional mode switch. `date` (default) keeps legacy daily grouping. `package` enables package-first grouping inside each date bucket.
22
+ - `$category_order`: optional ordered category list, e.g. `fixed,added,changed,technical` (defaults to fixed → added → changed → technical)
21
23
 
22
24
  ## Instructions
23
25
 
@@ -57,16 +59,14 @@ If no versions remain after filtering, report and stop:
57
59
  No unpublished versions found matching the given criteria.
58
60
  ```
59
61
 
60
- ### 4. Group by Date
62
+ ### 4. Grouping
61
63
 
62
- Multiple changelog versions on the same date are consolidated into one GitHub release per day:
64
+ Use `$group_by` to choose the release body layout. Release tags/titles still use date-bucket grouping (highest version per date).
63
65
 
64
- - **Tag/title**: uses the highest version of that day (e.g., `v0.9.846` if versions 840–846 all share 2026-03-18)
65
- - **Release body**: combines all changelog entries for that day, ordered from highest to lowest version, separated by `---` dividers with version headers
66
+ - `date` (default): preserve current behavior, one release body per date in descending version order separated by `---`.
67
+ - `package`: within each date bucket, group entries as package blocks and then categories.
66
68
 
67
- Single-version days produce a release with just that version's changelog body (no divider needed).
68
-
69
- Format for multi-version daily release body:
69
+ Date mode example:
70
70
 
71
71
  ```markdown
72
72
  ## [0.9.846] - 2026-03-18
@@ -86,6 +86,32 @@ Format for multi-version daily release body:
86
86
  [changelog body for 0.9.844]
87
87
  ```
88
88
 
89
+ Package mode example:
90
+
91
+ ```markdown
92
+ ## [0.9.846] - 2026-03-18
93
+
94
+ ### 📦 ace-review v0.50.3
95
+
96
+ #### Fixed
97
+ - **ace-review v0.50.3**: Corrected non-runnable package flag examples.
98
+
99
+ #### Added
100
+ - **ace-review v0.50.2**: Added package-specific examples.
101
+
102
+ ### 📦 ace-handbook v0.21.0
103
+
104
+ #### Changed
105
+ - **ace-handbook v0.21.0**: Migrated publish workflow wiring.
106
+ ```
107
+
108
+ Package-mode parse rules:
109
+ - Parse each version body by `### Fixed`, `### Added`, `### Changed`, `### Technical` (case-insensitive).
110
+ - Parse package from lines like `- **<package> vX.Y.Z**: ...` and map item into that package.
111
+ - Track the most recent package version seen for each package in the date bucket for package headers.
112
+ - Render categories in `fixed,added,changed,technical` unless `$category_order` overrides.
113
+ - If a bullet does not match the package pattern, place it under a fallback package section `### 📦 other`.
114
+
89
115
  ### 5. Resolve Target Commits
90
116
 
91
117
  For each daily release group, find the commit that introduced the highest version's changelog entry:
@@ -150,7 +176,7 @@ Summarize all created releases:
150
176
 
151
177
  - Every unpublished changelog version is covered by a GitHub release
152
178
  - Releases are tagged at the correct commits
153
- - Multi-version days are consolidated with combined bodies
179
+ - Multi-version days are consolidated with combined bodies in the selected grouping mode
154
180
  - `--dry-run` produces accurate output without side effects
155
181
  - Oldest releases are created first to maintain chronological order
156
182
 
@@ -159,4 +185,5 @@ Summarize all created releases:
159
185
  **Releases Created:** [count]
160
186
  **Versions Covered:** [range or list]
161
187
  **Skipped:** [count and reasons, if any]
162
- **Mode:** [live|dry-run]
188
+ **Mode:** [live|dry-run]
189
+ **Grouping:** [date|package]
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ace
4
4
  module Git
5
- VERSION = "0.18.0"
5
+ VERSION = '0.18.3'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ace-git
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.0
4
+ version: 0.18.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Czyz
@@ -15,56 +15,56 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: '0.7'
18
+ version: '0.9'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: '0.7'
25
+ version: '0.9'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: ace-support-core
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: '0.24'
32
+ version: '0.29'
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0.24'
39
+ version: '0.29'
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: ace-support-cli
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '0.3'
46
+ version: '0.6'
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '0.3'
53
+ version: '0.6'
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: ace-support-test-helpers
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '0.12'
60
+ version: '0.13'
61
61
  type: :development
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '0.12'
67
+ version: '0.13'
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: minitest
70
70
  requirement: !ruby/object:Gem::Requirement