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.
Files changed (72) hide show
  1. checksums.yaml +7 -0
  2. data/.ace-defaults/git/config.yml +83 -0
  3. data/.ace-defaults/nav/protocols/guide-sources/ace-git.yml +10 -0
  4. data/.ace-defaults/nav/protocols/tmpl-sources/ace-git.yml +19 -0
  5. data/.ace-defaults/nav/protocols/wfi-sources/ace-git.yml +19 -0
  6. data/CHANGELOG.md +762 -0
  7. data/LICENSE +21 -0
  8. data/README.md +48 -0
  9. data/Rakefile +14 -0
  10. data/docs/demo/ace-git-getting-started.gif +0 -0
  11. data/docs/demo/ace-git-getting-started.tape.yml +18 -0
  12. data/docs/demo/fixtures/README.md +3 -0
  13. data/docs/demo/fixtures/sample.txt +1 -0
  14. data/docs/getting-started.md +87 -0
  15. data/docs/handbook.md +50 -0
  16. data/docs/usage.md +259 -0
  17. data/exe/ace-git +37 -0
  18. data/handbook/guides/version-control/ruby.md +41 -0
  19. data/handbook/guides/version-control/rust.md +49 -0
  20. data/handbook/guides/version-control/typescript.md +47 -0
  21. data/handbook/guides/version-control-system-git.g.md +829 -0
  22. data/handbook/skills/as-git-rebase/SKILL.md +43 -0
  23. data/handbook/skills/as-git-reorganize-commits/SKILL.md +41 -0
  24. data/handbook/skills/as-github-pr-create/SKILL.md +60 -0
  25. data/handbook/skills/as-github-pr-update/SKILL.md +41 -0
  26. data/handbook/skills/as-github-release-publish/SKILL.md +58 -0
  27. data/handbook/templates/commit/squash.template.md +59 -0
  28. data/handbook/templates/pr/bugfix.template.md +103 -0
  29. data/handbook/templates/pr/default.template.md +40 -0
  30. data/handbook/templates/pr/feature.template.md +41 -0
  31. data/handbook/workflow-instructions/git/rebase.wf.md +402 -0
  32. data/handbook/workflow-instructions/git/reorganize-commits.wf.md +158 -0
  33. data/handbook/workflow-instructions/github/pr/create.wf.md +282 -0
  34. data/handbook/workflow-instructions/github/pr/update.wf.md +199 -0
  35. data/handbook/workflow-instructions/github/release-publish.wf.md +162 -0
  36. data/lib/ace/git/atoms/command_executor.rb +253 -0
  37. data/lib/ace/git/atoms/date_resolver.rb +129 -0
  38. data/lib/ace/git/atoms/diff_numstat_parser.rb +82 -0
  39. data/lib/ace/git/atoms/diff_parser.rb +110 -0
  40. data/lib/ace/git/atoms/file_grouper.rb +152 -0
  41. data/lib/ace/git/atoms/git_scope_filter.rb +86 -0
  42. data/lib/ace/git/atoms/git_status_fetcher.rb +29 -0
  43. data/lib/ace/git/atoms/grouped_stats_formatter.rb +233 -0
  44. data/lib/ace/git/atoms/lock_error_detector.rb +79 -0
  45. data/lib/ace/git/atoms/pattern_filter.rb +156 -0
  46. data/lib/ace/git/atoms/pr_identifier_parser.rb +88 -0
  47. data/lib/ace/git/atoms/repository_checker.rb +97 -0
  48. data/lib/ace/git/atoms/repository_state_detector.rb +92 -0
  49. data/lib/ace/git/atoms/stale_lock_cleaner.rb +247 -0
  50. data/lib/ace/git/atoms/status_formatter.rb +180 -0
  51. data/lib/ace/git/atoms/task_pattern_extractor.rb +57 -0
  52. data/lib/ace/git/atoms/time_formatter.rb +84 -0
  53. data/lib/ace/git/cli/commands/branch.rb +62 -0
  54. data/lib/ace/git/cli/commands/diff.rb +252 -0
  55. data/lib/ace/git/cli/commands/pr.rb +119 -0
  56. data/lib/ace/git/cli/commands/status.rb +84 -0
  57. data/lib/ace/git/cli.rb +87 -0
  58. data/lib/ace/git/models/diff_config.rb +185 -0
  59. data/lib/ace/git/models/diff_result.rb +94 -0
  60. data/lib/ace/git/models/repo_status.rb +202 -0
  61. data/lib/ace/git/molecules/branch_reader.rb +92 -0
  62. data/lib/ace/git/molecules/config_loader.rb +108 -0
  63. data/lib/ace/git/molecules/diff_filter.rb +102 -0
  64. data/lib/ace/git/molecules/diff_generator.rb +160 -0
  65. data/lib/ace/git/molecules/git_status_fetcher.rb +32 -0
  66. data/lib/ace/git/molecules/pr_metadata_fetcher.rb +286 -0
  67. data/lib/ace/git/molecules/recent_commits_fetcher.rb +53 -0
  68. data/lib/ace/git/organisms/diff_orchestrator.rb +178 -0
  69. data/lib/ace/git/organisms/repo_status_loader.rb +264 -0
  70. data/lib/ace/git/version.rb +7 -0
  71. data/lib/ace/git.rb +230 -0
  72. metadata +201 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: c896850e93844a5ee9be77622e671b5bdfbef22525c48c1895dcdf7d3c2a260b
4
+ data.tar.gz: bc4a8121818d3bef9756fcf1057493956c18750a7cb29b76ace9afbc8984b954
5
+ SHA512:
6
+ metadata.gz: 79fa7aba7235fd235f52274652ebf222f4e0138f0fbf51175893a2e421467b00392ac53946b4f43cdd290ad4734cbfdb7cd0f1b6ade6f7bc65814d2d532c3143
7
+ data.tar.gz: 5fb09c315fb7cc8835a4a4a80a4f3f0029fd2b681c4afde47198a50faa959e9d1e41978ea600cf3ba810db4ca7cfaca9b343943be43388e189ad89819a9d43d4
@@ -0,0 +1,83 @@
1
+ # ACE Git Configuration
2
+ # Complete default configuration - users only need to override what differs
3
+ # This is the single source of truth for ace-git defaults (per ADR-022)
4
+
5
+ git:
6
+ # General preferences
7
+ default_branch: main # Your preferred main branch name (main/master/develop)
8
+ remote: origin # Your preferred remote name
9
+ verbose: false # Enable verbose output
10
+
11
+ # Timeout settings (in seconds)
12
+ timeout: 30 # Local git operations (diff, status, log)
13
+ network_timeout: 60 # Network operations (gh CLI, remote operations)
14
+
15
+ # Status command settings
16
+ status:
17
+ commits_limit: 3 # Number of recent commits to show
18
+ merged_prs_limit: 3 # Number of recently merged PRs to show
19
+ open_prs_limit: 10 # Number of open PRs from others to show
20
+
21
+ # Diff configuration
22
+ diff:
23
+ # Glob patterns to exclude from diff output
24
+ exclude_patterns:
25
+ # Lock files (always safe to exclude)
26
+ - "**/*.lock"
27
+ - "package-lock.json"
28
+ - "yarn.lock"
29
+ - "Gemfile.lock"
30
+ # Vendored dependencies
31
+ - "vendor/**/*"
32
+ - "node_modules/**/*"
33
+ # Build artifacts and coverage
34
+ - "coverage/**/*"
35
+ - "dist/**/*"
36
+ - "build/**/*"
37
+ - ".ace-local/**/*"
38
+ # Test fixtures (static test data, not tests themselves)
39
+ - "**/fixtures/**/*"
40
+ - "**/testdata/**/*"
41
+ # NOTE: test/**/* and spec/**/* are NOT excluded by default
42
+ # because users often want to see test changes in diffs
43
+ # Ignore whitespace-only changes (default: true)
44
+ exclude_whitespace: true
45
+ # Exclude renamed files from diff (default: false)
46
+ exclude_renames: false
47
+ # Exclude moved files from diff (default: false)
48
+ exclude_moves: false
49
+ # Maximum lines in diff output (default: 10000)
50
+ max_lines: 10000
51
+ # Grouped stats output tuning for `ace-git diff --format grouped-stats`
52
+ grouped_stats:
53
+ layers: [lib, test, handbook]
54
+ collapse_above: 5
55
+ show_full_tree: collapsible
56
+ dotfile_groups: [.ace-tasks, .ace]
57
+
58
+ # Rebase configuration (optional - workflows have defaults)
59
+ # rebase:
60
+ # preserve_files:
61
+ # - CHANGELOG.md
62
+ # - "**/version.rb"
63
+ # auto_resolve: manual # manual or ours
64
+
65
+ # PR configuration (optional - workflows have defaults)
66
+ # pr:
67
+ # template: default # default, feature, bugfix
68
+ # draft: false # Create as draft PR
69
+ # reviewers: [] # Auto-assign reviewers
70
+ # labels: [] # Auto-add labels
71
+
72
+ # Squash configuration (optional - workflows have defaults)
73
+ # squash:
74
+ # strategy: version # version, manual, interactive
75
+ # interactive: false # Use interactive mode
76
+ # preserve_messages: true
77
+
78
+ # Lock retry configuration (handles .git/index.lock errors)
79
+ lock_retry:
80
+ enabled: true # Enable/disable retry behavior
81
+ max_retries: 4 # Maximum retry attempts (uses progressive 1s,2s,3s,4s delays)
82
+ stale_cleanup: true # Auto-remove orphaned/stale locks
83
+ stale_threshold_seconds: 10 # Age threshold for stale locks (fallback)
@@ -0,0 +1,10 @@
1
+ ---
2
+ # Guide Sources Protocol Configuration for ace-git gem
3
+ name: ace-git
4
+ type: gem
5
+ description: Guides from ace-git gem
6
+ priority: 10
7
+ config:
8
+ relative_path: handbook/guides
9
+ pattern: "*.g.md"
10
+ enabled: true
@@ -0,0 +1,19 @@
1
+ ---
2
+ # Template Sources Protocol Configuration for ace-git gem
3
+ # This enables template discovery from the installed ace-git gem
4
+
5
+ name: ace-git
6
+ type: gem
7
+ description: Git templates (PR and commit) from ace-git gem
8
+ priority: 10
9
+
10
+ # Configuration for template discovery within the gem
11
+ config:
12
+ # Relative path within the gem
13
+ relative_path: handbook/templates
14
+
15
+ # Pattern for finding template files
16
+ pattern: "*.template.md"
17
+
18
+ # Enable discovery
19
+ enabled: true
@@ -0,0 +1,19 @@
1
+ ---
2
+ # WFI Sources Protocol Configuration for ace-git gem
3
+ # This enables workflow discovery from the installed ace-git gem
4
+
5
+ name: ace-git
6
+ type: gem
7
+ description: Git workflow instructions from ace-git 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