ace-bundle 0.40.6 → 0.41.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 +4 -4
- data/.ace-defaults/bundle/presets/project-base.md +40 -0
- data/.ace-defaults/bundle/presets/project.md +30 -24
- data/CHANGELOG.md +19 -0
- data/lib/ace/bundle/molecules/section_processor.rb +5 -1
- data/lib/ace/bundle/organisms/bundle_loader.rb +13 -6
- data/lib/ace/bundle/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 99da917e4b6b5321e35ba3d5f8a06ff18a0faa2d490d7ccd09008a69fdbd4441
|
|
4
|
+
data.tar.gz: 899a092de9289c129e5e5e4227955787df1eae66d669ef7c859fbdea0dc3c5bd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 13d66ce1e805f5a7487321ecc23ab87d8c82ab2c9d40fb6a6b3cd1c07eb6af1bc7c242c40463b5b9557233105caaa1299800e433874754b4b4d7d7687ba2589f
|
|
7
|
+
data.tar.gz: ec14d85f4c4114cb2c1568c2ea56d3174efc5d66e8caf0eea18b3f7c80cf82b478ec5cebc2ea254a7c5dcd4915888c6ce5c887fc6d4599eaa9cf8a2d21c2a551
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Lightweight project starter preset for first-run onboarding
|
|
3
|
+
bundle:
|
|
4
|
+
params:
|
|
5
|
+
output: cache
|
|
6
|
+
max_size: 10485760
|
|
7
|
+
timeout: 30
|
|
8
|
+
compressor_mode: agent
|
|
9
|
+
embed_document_source: true
|
|
10
|
+
sections:
|
|
11
|
+
vision:
|
|
12
|
+
title: Project Vision
|
|
13
|
+
content: |
|
|
14
|
+
TODO: Add a one-paragraph project overview and current priorities.
|
|
15
|
+
Move this to docs/vision.md later if desired.
|
|
16
|
+
|
|
17
|
+
structure:
|
|
18
|
+
title: Project Structure
|
|
19
|
+
content: |
|
|
20
|
+
TODO: Describe the top-level folders and where core logic lives.
|
|
21
|
+
Move this to docs/blueprint.md once project docs exist.
|
|
22
|
+
|
|
23
|
+
quick_status:
|
|
24
|
+
title: Quick Status
|
|
25
|
+
compressor_mode: exact
|
|
26
|
+
commands:
|
|
27
|
+
- pwd
|
|
28
|
+
- date
|
|
29
|
+
|
|
30
|
+
starter_guidance:
|
|
31
|
+
title: Starter Guidance
|
|
32
|
+
content: |
|
|
33
|
+
TODO: Add concise onboarding notes for contributors.
|
|
34
|
+
Replace placeholders with your project's goals and current priorities.
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
# Project Context
|
|
38
|
+
|
|
39
|
+
Use this lightweight preset as a starting point for new projects.
|
|
40
|
+
Expand sections as your team documentation grows.
|
|
@@ -1,35 +1,41 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Project-wide context
|
|
2
|
+
description: Project-wide context starter preset for generic projects
|
|
3
3
|
bundle:
|
|
4
4
|
params:
|
|
5
5
|
output: cache
|
|
6
6
|
max_size: 10485760
|
|
7
7
|
timeout: 30
|
|
8
|
+
compressor_mode: agent
|
|
8
9
|
embed_document_source: true
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
10
|
+
sections:
|
|
11
|
+
vision:
|
|
12
|
+
title: Project Vision
|
|
13
|
+
content: |
|
|
14
|
+
TODO: Add your project's mission, users, and success criteria.
|
|
15
|
+
Optionally move this to docs/vision.md once your docs structure is established.
|
|
16
|
+
|
|
17
|
+
architecture:
|
|
18
|
+
title: System Architecture
|
|
19
|
+
content: |
|
|
20
|
+
TODO: Add key architecture notes, major components, and decision records.
|
|
21
|
+
You can later split this into docs/architecture.md, docs/decisions.md, and docs/blueprint.md.
|
|
22
|
+
|
|
23
|
+
project_status:
|
|
24
|
+
title: Project Status
|
|
25
|
+
compressor_mode: exact
|
|
26
|
+
commands:
|
|
27
|
+
- pwd
|
|
28
|
+
- date
|
|
29
|
+
- ls -1
|
|
30
|
+
|
|
31
|
+
onboarding_notes:
|
|
32
|
+
title: Onboarding Notes
|
|
33
|
+
content: |
|
|
34
|
+
TODO: Replace this preset body text with your project-specific onboarding guidance.
|
|
35
|
+
Include your architecture highlights, coding standards, and ownership boundaries.
|
|
31
36
|
---
|
|
32
37
|
|
|
33
38
|
# Project Context
|
|
34
39
|
|
|
35
|
-
You are working
|
|
40
|
+
You are working in a project that uses ACE tooling.
|
|
41
|
+
Treat this as starter scaffolding and customize it for your codebase.
|
data/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,25 @@ The format is based on [Keep a Changelog][1], and this project adheres to [Seman
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
### Fixed
|
|
10
|
+
- Added end-to-end support for diff path filters in bundle diff configs so `paths` now flows through section normalization and into `git diff -- <paths>`.
|
|
11
|
+
|
|
12
|
+
## [0.41.2] - 2026-03-31
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
- Made default bootstrap presets self-contained so generated onboarding guidance no longer depends on external release-specific context.
|
|
16
|
+
|
|
17
|
+
## [0.41.1] - 2026-03-30
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
- Removed the generic-project preset dependency on `ace-task` by replacing the task listing command with `ls -1` for plain-repo compatibility.
|
|
21
|
+
|
|
22
|
+
## [0.41.0] - 2026-03-29
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
- Reworked shipped default bootstrap presets for generic projects: `project` now uses section-driven content, removes stale monorepo/taskflow copy, and includes TODO-oriented scaffold guidance.
|
|
26
|
+
- Added a shipped `project-base` preset for lightweight onboarding context in fresh repositories.
|
|
27
|
+
|
|
9
28
|
## [0.40.6] - 2026-03-29
|
|
10
29
|
|
|
11
30
|
### Technical
|
|
@@ -331,7 +331,7 @@ module Ace
|
|
|
331
331
|
since_ref = diff_config[:since] || diff_config["since"]
|
|
332
332
|
normalized[:ranges] = ["#{since_ref}...HEAD"]
|
|
333
333
|
end
|
|
334
|
-
|
|
334
|
+
normalized[:paths] = diff_config[:paths] || diff_config["paths"] if diff_config[:paths] || diff_config["paths"]
|
|
335
335
|
elsif diff_config.is_a?(String)
|
|
336
336
|
# Single range string
|
|
337
337
|
normalized[:ranges] = [diff_config]
|
|
@@ -376,6 +376,10 @@ module Ace
|
|
|
376
376
|
merged[:ranges] = ((merged[:ranges] || []) + (new_normalized[:ranges] || [])).uniq
|
|
377
377
|
end
|
|
378
378
|
|
|
379
|
+
if merged[:paths] || new_normalized[:paths]
|
|
380
|
+
merged[:paths] = ((merged[:paths] || []) + (new_normalized[:paths] || [])).uniq
|
|
381
|
+
end
|
|
382
|
+
|
|
379
383
|
# Merge diffs arrays (legacy format)
|
|
380
384
|
if merged[:diffs] || new_normalized[:diffs]
|
|
381
385
|
merged[:diffs] = ((merged[:diffs] || []) + (new_normalized[:diffs] || [])).uniq
|
|
@@ -956,9 +956,10 @@ module Ace
|
|
|
956
956
|
# Process diffs
|
|
957
957
|
if config["diffs"] && config["diffs"].any?
|
|
958
958
|
data[:diffs] ||= []
|
|
959
|
+
diff_paths = config["paths"] || config[:paths] || []
|
|
959
960
|
config["diffs"].each do |diff_range|
|
|
960
|
-
result = generate_diff_safe(diff_range)
|
|
961
|
-
data[:diffs] << result.slice(:range, :output, :success, :error, :error_type)
|
|
961
|
+
result = generate_diff_safe(diff_range, paths: diff_paths)
|
|
962
|
+
data[:diffs] << result.slice(:range, :paths, :output, :success, :error, :error_type)
|
|
962
963
|
|
|
963
964
|
unless result[:success]
|
|
964
965
|
error_prefix = (result[:error_type] == :git_error) ? "Git diff failed" : "Invalid diff range"
|
|
@@ -1270,10 +1271,11 @@ module Ace
|
|
|
1270
1271
|
return unless ranges.any?
|
|
1271
1272
|
|
|
1272
1273
|
processed_diffs = []
|
|
1274
|
+
diff_paths = section_data[:paths] || section_data["paths"] || []
|
|
1273
1275
|
|
|
1274
1276
|
ranges.each do |diff_range|
|
|
1275
|
-
result = generate_diff_safe(diff_range)
|
|
1276
|
-
processed_diffs << result.slice(:range, :output, :success, :error)
|
|
1277
|
+
result = generate_diff_safe(diff_range, paths: diff_paths)
|
|
1278
|
+
processed_diffs << result.slice(:range, :paths, :output, :success, :error)
|
|
1277
1279
|
|
|
1278
1280
|
unless result[:success]
|
|
1279
1281
|
bundle.metadata[:errors] ||= []
|
|
@@ -1372,17 +1374,21 @@ module Ace
|
|
|
1372
1374
|
# Generate diff with ace-git and return standardized result hash
|
|
1373
1375
|
# Handles GitError and ArgumentError with standardized error handling
|
|
1374
1376
|
# @param diff_range [String] Git range to diff
|
|
1377
|
+
# @param paths [Array<String>] Optional git path filters
|
|
1375
1378
|
# @return [Hash] Result with :range, :output, :success, and optional :error
|
|
1376
|
-
def generate_diff_safe(diff_range)
|
|
1377
|
-
|
|
1379
|
+
def generate_diff_safe(diff_range, paths: [])
|
|
1380
|
+
normalized_paths = Array(paths).map(&:to_s).map(&:strip).reject(&:empty?).uniq
|
|
1381
|
+
diff_result = Ace::Git::Organisms::DiffOrchestrator.generate(ranges: [diff_range], paths: normalized_paths)
|
|
1378
1382
|
{
|
|
1379
1383
|
range: diff_range,
|
|
1384
|
+
paths: normalized_paths,
|
|
1380
1385
|
output: diff_result.content,
|
|
1381
1386
|
success: true
|
|
1382
1387
|
}
|
|
1383
1388
|
rescue Ace::Git::Error => e
|
|
1384
1389
|
{
|
|
1385
1390
|
range: diff_range,
|
|
1391
|
+
paths: Array(paths).map(&:to_s).map(&:strip).reject(&:empty?).uniq,
|
|
1386
1392
|
output: "",
|
|
1387
1393
|
success: false,
|
|
1388
1394
|
error: e.message,
|
|
@@ -1391,6 +1397,7 @@ module Ace
|
|
|
1391
1397
|
rescue ArgumentError => e
|
|
1392
1398
|
{
|
|
1393
1399
|
range: diff_range,
|
|
1400
|
+
paths: Array(paths).map(&:to_s).map(&:strip).reject(&:empty?).uniq,
|
|
1394
1401
|
output: "",
|
|
1395
1402
|
success: false,
|
|
1396
1403
|
error: e.message,
|
data/lib/ace/bundle/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ace-bundle
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.41.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Michal Czyz
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-
|
|
10
|
+
date: 2026-04-01 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: ace-support-cli
|
|
@@ -124,6 +124,7 @@ files:
|
|
|
124
124
|
- ".ace-defaults/bundle/presets/development.md"
|
|
125
125
|
- ".ace-defaults/bundle/presets/documentation-review.md"
|
|
126
126
|
- ".ace-defaults/bundle/presets/mixed-content-example.md"
|
|
127
|
+
- ".ace-defaults/bundle/presets/project-base.md"
|
|
127
128
|
- ".ace-defaults/bundle/presets/project-context.md"
|
|
128
129
|
- ".ace-defaults/bundle/presets/project.md"
|
|
129
130
|
- ".ace-defaults/bundle/presets/section-example-simple.md"
|