ace-bundle 0.40.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.
Files changed (46) hide show
  1. checksums.yaml +7 -0
  2. data/.ace-defaults/bundle/config.yml +28 -0
  3. data/.ace-defaults/bundle/presets/base.md +15 -0
  4. data/.ace-defaults/bundle/presets/code-review.md +61 -0
  5. data/.ace-defaults/bundle/presets/development.md +16 -0
  6. data/.ace-defaults/bundle/presets/documentation-review.md +52 -0
  7. data/.ace-defaults/bundle/presets/mixed-content-example.md +94 -0
  8. data/.ace-defaults/bundle/presets/project-context.md +79 -0
  9. data/.ace-defaults/bundle/presets/project.md +35 -0
  10. data/.ace-defaults/bundle/presets/section-example-simple.md +27 -0
  11. data/.ace-defaults/bundle/presets/security-review.md +53 -0
  12. data/.ace-defaults/bundle/presets/simple-project.md +43 -0
  13. data/.ace-defaults/bundle/presets/team.md +18 -0
  14. data/.ace-defaults/nav/protocols/wfi-sources/ace-bundle.yml +19 -0
  15. data/CHANGELOG.md +384 -0
  16. data/LICENSE +21 -0
  17. data/README.md +40 -0
  18. data/Rakefile +22 -0
  19. data/exe/ace-bundle +14 -0
  20. data/handbook/skills/as-bundle/SKILL.md +28 -0
  21. data/handbook/skills/as-onboard/SKILL.md +33 -0
  22. data/handbook/workflow-instructions/bundle.wf.md +111 -0
  23. data/handbook/workflow-instructions/onboard.wf.md +20 -0
  24. data/lib/ace/bundle/atoms/boundary_finder.rb +122 -0
  25. data/lib/ace/bundle/atoms/bundle_normalizer.rb +128 -0
  26. data/lib/ace/bundle/atoms/content_checker.rb +46 -0
  27. data/lib/ace/bundle/atoms/line_counter.rb +37 -0
  28. data/lib/ace/bundle/atoms/preset_list_formatter.rb +44 -0
  29. data/lib/ace/bundle/atoms/preset_validator.rb +69 -0
  30. data/lib/ace/bundle/atoms/section_validator.rb +215 -0
  31. data/lib/ace/bundle/atoms/typo_detector.rb +76 -0
  32. data/lib/ace/bundle/cli/commands/load.rb +347 -0
  33. data/lib/ace/bundle/cli.rb +26 -0
  34. data/lib/ace/bundle/models/bundle_data.rb +75 -0
  35. data/lib/ace/bundle/molecules/bundle_chunker.rb +280 -0
  36. data/lib/ace/bundle/molecules/bundle_file_writer.rb +269 -0
  37. data/lib/ace/bundle/molecules/bundle_merger.rb +248 -0
  38. data/lib/ace/bundle/molecules/preset_manager.rb +331 -0
  39. data/lib/ace/bundle/molecules/section_compressor.rb +249 -0
  40. data/lib/ace/bundle/molecules/section_formatter.rb +580 -0
  41. data/lib/ace/bundle/molecules/section_processor.rb +460 -0
  42. data/lib/ace/bundle/organisms/bundle_loader.rb +1436 -0
  43. data/lib/ace/bundle/organisms/pr_bundle_loader.rb +147 -0
  44. data/lib/ace/bundle/version.rb +7 -0
  45. data/lib/ace/bundle.rb +251 -0
  46. metadata +190 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 224cd0cec9e0e96eb99b0fa393dfbeeb9807012a5499538c5a55fb5e23e5d714
4
+ data.tar.gz: 95c22bd2455c263af3be4240a9e918379215f99b17689b44ff1e6acdfe496445
5
+ SHA512:
6
+ metadata.gz: 65c7f0e6416fa29a473dc9aab623bfa2f79348ea4e4797a5519529a6677061f973368afcdb98ba292cb1007502e514427d5bb9002dc97d27fd48082aa080f4df
7
+ data.tar.gz: 92e6630b7917e3ba60dd69abef6e01fe4091c2228d93b7603ada68f1cc5920cf6adca53acc7c5690d4428171f7ece6f8533b23847c6afeaf739f3837bdaed803
@@ -0,0 +1,28 @@
1
+ # ACE Bundle Configuration
2
+ # Complete default configuration - users only need to override what differs
3
+ # This is the single source of truth for ace-bundle defaults (per ADR-022)
4
+ #
5
+ # To override, create .ace/bundle/config.yml in your project root
6
+
7
+ bundle:
8
+ # Cache directory for context output files
9
+ # Default: .ace-local/bundle (relative to project root)
10
+ cache_dir: ".ace-local/bundle"
11
+
12
+ # Maximum lines per chunk before splitting output into multiple files
13
+ # Default: 2000 lines
14
+ max_lines: 2000
15
+
16
+ # Auto-format threshold: line count at which output switches from inline to file
17
+ # When no explicit --output mode is specified:
18
+ # - Content below this threshold: displayed inline (stdout)
19
+ # - Content at or above this threshold: saved to cache file (path printed)
20
+ # Default: 500 lines
21
+ auto_format_threshold: 500
22
+
23
+ # Compressor settings
24
+ # source_scope: off, per-source, merged (default: off)
25
+ # mode: exact, agent (default: exact)
26
+ compressor:
27
+ source_scope: "per-source"
28
+ mode: "exact"
@@ -0,0 +1,15 @@
1
+ ---
2
+ description: Base context with core project files
3
+ bundle:
4
+ params:
5
+ output: stdio
6
+ max_size: 1048576
7
+ timeout: 30
8
+ files:
9
+ - README.md
10
+ - CHANGELOG.md
11
+ ---
12
+
13
+ # Base Context
14
+
15
+ This is a minimal base preset that includes only the core project documentation files.
@@ -0,0 +1,61 @@
1
+ ---
2
+ description: Code review context with section-based organization
3
+ bundle:
4
+ params:
5
+ output: stdio
6
+ format: markdown-xml
7
+ max_size: 10485760
8
+ timeout: 30
9
+ embed_document_source: true
10
+
11
+ sections:
12
+ focus:
13
+ title: "Files Under Review"
14
+ description: "Source files that are being reviewed"
15
+ files:
16
+ - "src/**/*.rb"
17
+ - "lib/**/*.rb"
18
+ - "test/**/*.rb"
19
+ - "spec/**/*.rb"
20
+
21
+ style:
22
+ title: "Style Guidelines"
23
+ description: "Style and coding standards"
24
+ files:
25
+ - ".rubocop.yml"
26
+ - "docs/CODING_STANDARDS.md"
27
+ - "CONTRIBUTING.md"
28
+
29
+ diff:
30
+ title: "Recent Changes"
31
+ description: "Recent changes in the codebase"
32
+ ranges:
33
+ - "origin/main...HEAD"
34
+
35
+ tests:
36
+ title: "Test Results"
37
+ description: "Current test results"
38
+ commands:
39
+ - "bundle exec rspec --format documentation"
40
+ - "bundle exec rubocop"
41
+ - "bundle exec rubycritical"
42
+
43
+ bundle:
44
+ title: "Project Context"
45
+ description: "Project information and status"
46
+ commands:
47
+ - "git log --oneline origin/main..HEAD"
48
+ - "git status --short"
49
+ - "pwd"
50
+ - "ruby -v"
51
+ ---
52
+
53
+ This preset provides a comprehensive code review context organized into logical sections. Each section contains specific information relevant for code review:
54
+
55
+ - **Focus**: The actual source files being reviewed
56
+ - **Style**: Coding standards and style guidelines
57
+ - **Diff**: Recent changes that prompted the review
58
+ - **Tests**: Current test results and quality checks
59
+ - **Context**: Project information and git status
60
+
61
+ The sections are prioritized to show the most important information first, with XML-style tags for structured processing.
@@ -0,0 +1,16 @@
1
+ ---
2
+ description: Development context extending base with code files
3
+ bundle:
4
+ presets:
5
+ - base
6
+ files:
7
+ - docs/architecture.md
8
+ - docs/blueprint.md
9
+ commands:
10
+ - git status --short
11
+ - git branch --show-current
12
+ ---
13
+
14
+ # Development Context
15
+
16
+ This preset extends the base context with additional development-specific files and git status information.
@@ -0,0 +1,52 @@
1
+ ---
2
+ description: Documentation review with organized sections
3
+ bundle:
4
+ params:
5
+ output: stdio
6
+ format: markdown-xml
7
+ max_size: 10485760
8
+ timeout: 30
9
+ embed_document_source: true
10
+
11
+ sections:
12
+ content:
13
+ title: "Documentation Content"
14
+ description: "Main documentation files being reviewed"
15
+ files:
16
+ - "README.md"
17
+ - "docs/**/*.md"
18
+ - "CHANGELOG.md"
19
+
20
+ style:
21
+ title: "Style Guidelines"
22
+ description: "Documentation style and formatting guidelines"
23
+ files:
24
+ - "docs/STYLE_GUIDE.md"
25
+ - "CONTRIBUTING.md"
26
+ - ".markdownlint.json"
27
+
28
+ structure:
29
+ title: "Documentation Structure"
30
+ description: "Documentation organization and navigation"
31
+ files:
32
+ - "docs/_navigation.yml"
33
+ - "docs/_toc.yml"
34
+ - "mkdocs.yml"
35
+
36
+ examples:
37
+ title: "Code Examples"
38
+ description: "Example code and scripts in documentation"
39
+ files:
40
+ - "docs/examples/**/*"
41
+ - "examples/**/*"
42
+
43
+ validation:
44
+ title: "Validation Results"
45
+ description: "Documentation validation and linting results"
46
+ commands:
47
+ - "markdownlint docs/**/*.md"
48
+ - "bundle exec yard stats"
49
+ - "find docs -name '*.md' -exec wc -l {} + | tail -1"
50
+ ---
51
+
52
+ This preset is designed for reviewing documentation with sections covering content, style, structure, examples, and validation. It ensures comprehensive documentation review with organized sections for clarity.
@@ -0,0 +1,94 @@
1
+ ---
2
+ description: Example showing mixed content and presets in a single section
3
+ bundle:
4
+ params:
5
+ output: stdio
6
+ format: markdown-xml
7
+ max_size: 10485760
8
+ timeout: 30
9
+ embed_document_source: true
10
+
11
+ sections:
12
+ comprehensive_review:
13
+ title: "Comprehensive Project Review"
14
+ description: "Complete review combining presets with mixed content types"
15
+ presets:
16
+ - "code-review"
17
+ - "security-review"
18
+ files:
19
+ - "src/**/*.js"
20
+ - "README.md"
21
+ - "package.json"
22
+ commands:
23
+ - "npm test"
24
+ - "npm run lint"
25
+ - "npm audit"
26
+ diffs:
27
+ - "origin/main...HEAD"
28
+ content: |
29
+ This comprehensive review demonstrates the full power of the section system by combining:
30
+
31
+ ## Preset Content
32
+ - **code-review**: Code analysis patterns and review guidelines
33
+ - **security-review**: Security scanning and vulnerability assessment
34
+
35
+ ## Direct Content
36
+ - Source files for manual code review
37
+ - Test execution and quality checks
38
+ - Security audit and dependency scanning
39
+ - Recent changes via git diff
40
+ - Manual analysis notes and observations
41
+
42
+ ### Review Focus Areas
43
+ 1. **Code Quality**: Style, patterns, maintainability
44
+ 2. **Security**: Vulnerabilities, dependencies, best practices
45
+ 3. **Performance**: Potential bottlenecks and optimizations
46
+ 4. **Testing**: Coverage and test quality
47
+ 5. **Documentation**: Completeness and accuracy
48
+
49
+ The content from presets and direct sources is merged intelligently, with deduplication of files and commands while preserving all relevant information.
50
+
51
+ quick_check:
52
+ title: "Quick Health Check"
53
+ description: "Lightweight review with minimal presets"
54
+ presets:
55
+ - "base"
56
+ commands:
57
+ - "npm test"
58
+ - "npm run build"
59
+ content: |
60
+ Quick validation of project health without extensive analysis.
61
+
62
+ ---
63
+
64
+ This example demonstrates advanced section capabilities:
65
+
66
+ ## Features Demonstrated
67
+
68
+ 1. **Preset-in-Section Integration**
69
+ - Multiple presets combined within a single section
70
+ - Preset content merged with direct content
71
+ - Automatic deduplication of files and commands
72
+
73
+ 2. **Mixed Content Types**
74
+ - Files, commands, diffs, and content in same section
75
+ - No content_type or priority fields required
76
+ - YAML order determines processing sequence
77
+
78
+ 3. **Content Hierarchy**
79
+ - Preset content provides foundation
80
+ - Direct content adds project-specific elements
81
+ - Intelligent merging maintains all relevant information
82
+
83
+ ## Usage
84
+
85
+ ```bash
86
+ # Load comprehensive review with all content
87
+ ace-bundle mixed-content-example
88
+
89
+ # Content from code-review and security-review presets
90
+ # + local files, commands, diffs, and notes
91
+ # = complete project context
92
+ ```
93
+
94
+ This approach enables modular, reusable context creation while maintaining flexibility for project-specific customization.
@@ -0,0 +1,79 @@
1
+ ---
2
+ description: Example demonstrating preset-in-section functionality for project context creation
3
+ bundle:
4
+ params:
5
+ output: stdio
6
+ format: markdown-xml
7
+ max_size: 10485760
8
+ timeout: 30
9
+ embed_document_source: true
10
+
11
+ sections:
12
+ project_context:
13
+ title: "Complete Project Context"
14
+ description: "Project context created by combining multiple presets within a single section"
15
+ presets:
16
+ - "base"
17
+ - "development"
18
+ - "testing"
19
+ content: |
20
+ This section demonstrates how presets can be combined within a single section to create comprehensive project context. The files, commands, and configurations from all referenced presets are merged together with the local content.
21
+
22
+ This approach enables modular project setup where you can mix and match different preset components:
23
+
24
+ - **base**: Core project files and configuration
25
+ - **development**: Development tools and build commands
26
+ - **testing**: Test frameworks and validation commands
27
+
28
+ The presets are loaded with full composition support, so they can themselves reference other presets, creating a powerful hierarchical context system.
29
+
30
+ documentation:
31
+ title: "Documentation & Guides"
32
+ description: "Project documentation and usage guides"
33
+ presets:
34
+ - "documentation-review"
35
+ files:
36
+ - "docs/**/*.md"
37
+ - "README.md"
38
+ - "CHANGELOG.md"
39
+ content: |
40
+ Project documentation including API guides, user manuals, and development setup instructions.
41
+
42
+ deployment:
43
+ title: "Deployment & Operations"
44
+ description: "Deployment configuration and operational procedures"
45
+ files:
46
+ - "deploy/**/*"
47
+ - "docker-compose.yml"
48
+ - ".env.example"
49
+ commands:
50
+ - "docker-compose config"
51
+ - "kubectl apply -f k8s/ --dry-run=client"
52
+ content: |
53
+ Deployment configurations and operational procedures for production environments.
54
+
55
+ ---
56
+
57
+ This preset demonstrates the new preset-in-section functionality that allows you to:
58
+
59
+ 1. **Combine multiple presets within a section** - Reference multiple presets that will be merged together
60
+ 2. **Mix presets with local content** - Add files, commands, and content alongside preset references
61
+ 3. **Create modular project contexts** - Build complex project setups from reusable preset components
62
+ 4. **Maintain section organization** - Keep related content organized in logical sections
63
+
64
+ ### Usage
65
+
66
+ ```bash
67
+ # Load this preset with section-based context
68
+ ace-bundle project-context
69
+
70
+ # The sections will be processed with all preset content merged in
71
+ ```
72
+
73
+ ### Key Features
74
+
75
+ - **Preset Composition**: Full support for preset composition within sections
76
+ - **Content Merging**: Files, commands, diffs, and content from presets are merged intelligently
77
+ - **Deduplication**: Duplicate files and commands are automatically removed
78
+ - **Error Handling**: Clear error messages for missing or invalid preset references
79
+ - **Backward Compatibility**: Works alongside existing section and preset functionality
@@ -0,0 +1,35 @@
1
+ ---
2
+ description: Project-wide context
3
+ bundle:
4
+ params:
5
+ output: cache
6
+ max_size: 10485760
7
+ timeout: 30
8
+ embed_document_source: true
9
+ files:
10
+ - docs/vision.md
11
+ - docs/blueprint.md
12
+ - docs/architecture.md
13
+ - docs/decisions.md
14
+ - docs/tools.md
15
+ commands:
16
+ - pwd
17
+ - date
18
+ - git status --short
19
+ - ace-taskflow recent --limit 3
20
+ - ace-taskflow next --limit 3
21
+ - eza -R -1 -L 2 --git-ignore --absolute $PROJECT_ROOT_PATH
22
+ # Optional: Include diffs (delegated to ace-git for consistent filtering)
23
+ # diffs:
24
+ # - origin/main...HEAD
25
+ # Or use ranges with options (respects global .ace/diff/config.yml):
26
+ # diff:
27
+ # ranges:
28
+ # - origin/main...HEAD
29
+ # paths:
30
+ # - "lib/**/*.rb"
31
+ ---
32
+
33
+ # Project Context
34
+
35
+ You are working on the Coding Agent Workflow Toolkit (Meta) - a comprehensive meta-repository that provides documentation and guidance for setting up AI-assisted development workflow systems.
@@ -0,0 +1,27 @@
1
+ ---
2
+ description: Simple example showing basic section usage
3
+ bundle:
4
+ params:
5
+ output: stdio
6
+ format: markdown-xml
7
+ embed_document_source: true
8
+
9
+ sections:
10
+ focus:
11
+ title: "Main Files"
12
+ content_type: "files"
13
+ priority: 1
14
+ files:
15
+ - "src/main.js"
16
+ - "package.json"
17
+
18
+ commands:
19
+ title: "System Info"
20
+ content_type: "commands"
21
+ priority: 2
22
+ commands:
23
+ - "pwd"
24
+ - "git status --short"
25
+ ---
26
+
27
+ This is a simple example demonstrating the basic structure of section-based configuration. It shows two sections: one for files and one for commands, each with a title, content type, and priority.
@@ -0,0 +1,53 @@
1
+ ---
2
+ description: Security-focused review context
3
+ bundle:
4
+ params:
5
+ output: stdio
6
+ format: markdown-xml
7
+ max_size: 10485760
8
+ timeout: 30
9
+ embed_document_source: true
10
+
11
+ sections:
12
+ vulnerability:
13
+ title: "Security Analysis"
14
+ description: "Security vulnerability scans and analysis"
15
+ commands:
16
+ - "bundle exec bundler-audit"
17
+ - "brakeman --quiet"
18
+ - "semgrep --config=security"
19
+
20
+ secrets:
21
+ title: "Secrets Detection"
22
+ description: "Scanning for exposed secrets and credentials"
23
+ commands:
24
+ - "git-secrets --scan"
25
+ - "gitleaks detect --verbose"
26
+
27
+ dependencies:
28
+ title: "Dependency Security"
29
+ description: "Security scan of project dependencies"
30
+ commands:
31
+ - "bundle audit"
32
+ - "echo 'Dependency security check complete'"
33
+ - "echo 'No vulnerable dependencies found'"
34
+
35
+ sensitive:
36
+ title: "Sensitive Files"
37
+ description: "Security-sensitive configuration files"
38
+ files:
39
+ - "config/initializers/secret_token.rb"
40
+ - "config/database.yml"
41
+ - ".env.example"
42
+ - "config/secrets.yml"
43
+
44
+ policies:
45
+ title: "Security Policies"
46
+ description: "Security policies and procedures"
47
+ files:
48
+ - "SECURITY.md"
49
+ - "docs/security/**/*"
50
+ - "policies/security.md"
51
+ ---
52
+
53
+ This security review preset focuses on identifying potential security issues through organized sections covering vulnerability scanning, secrets detection, dependency security, sensitive files, and security policies.
@@ -0,0 +1,43 @@
1
+ ---
2
+ description: Simple example of preset-in-section for basic project setup
3
+ bundle:
4
+ params:
5
+ output: stdio
6
+ format: markdown-xml
7
+ max_size: 5242880
8
+ timeout: 15
9
+
10
+ sections:
11
+ project_files:
12
+ title: "Project Source Code"
13
+ description: "Core project files and configuration"
14
+ presets:
15
+ - "base"
16
+ files:
17
+ - "src/**/*.rb"
18
+ - "lib/**/*.rb"
19
+ - "config/**/*.yml"
20
+ content: |
21
+ Main application source code and configuration files.
22
+ This combines the base preset with project-specific files.
23
+
24
+ testing:
25
+ title: "Testing Setup"
26
+ description: "Test framework and test files"
27
+ presets:
28
+ - "testing"
29
+ commands:
30
+ - "bundle exec rspec --format documentation"
31
+ - "bundle exec rubocop"
32
+ content: |
33
+ Test execution and code quality checks for the project.
34
+
35
+ ---
36
+
37
+ This example shows a simple use case where:
38
+
39
+ 1. **project_files section** combines the "base" preset with additional project files
40
+ 2. **testing section** includes the "testing" preset plus custom test commands
41
+ 3. Each section maintains its own focus while leveraging preset content
42
+
43
+ The presets provide common functionality while allowing section-specific customization.
@@ -0,0 +1,18 @@
1
+ ---
2
+ description: Team context with extended timeout for CI environments
3
+ bundle:
4
+ presets:
5
+ - development
6
+ params:
7
+ timeout: 120
8
+ output: cache
9
+ files:
10
+ - docs/decisions.md
11
+ commands:
12
+ - date
13
+ - pwd
14
+ ---
15
+
16
+ # Team Context
17
+
18
+ This preset extends development context with team-specific configuration including longer timeouts for CI environments and decision documentation.
@@ -0,0 +1,19 @@
1
+ ---
2
+ # WFI Sources Protocol Configuration for ace-bundle gem
3
+ # This enables workflow discovery from the installed ace-bundle gem
4
+
5
+ name: ace-bundle
6
+ type: gem
7
+ description: Bundle workflow instructions from ace-bundle gem
8
+ priority: 10
9
+
10
+ # Configuration for workflow discovery within the gem
11
+ config:
12
+ # Relative path within the gem (default: handbook/workflow-instructions)
13
+ relative_path: handbook/workflow-instructions
14
+
15
+ # Pattern for finding workflow files (default: *.wf.md)
16
+ pattern: "*.wf.md"
17
+
18
+ # Enable discovery
19
+ enabled: true