feat: Implement cross-repo commit and push functionality#37
Merged
Conversation
- Added `fa commit` command for synchronized commits across multiple repositories. - Introduced `fa push` command to push unpushed commits in parallel across repos. - Created detailed implementation plan and research documentation for cross-repo operations. - Developed quickstart guide for users to understand the new commands and workflows. - Established error handling and JSON output for automation compatibility. - Implemented tests for commit and push commands, ensuring functionality across various scenarios. - Defined project structure and tasks for phased implementation, focusing on foundational git operations first.
There was a problem hiding this comment.
Pull request overview
This pull request implements cross-repository commit and push functionality for the Foundagent CLI tool. The implementation adds two new commands (fa commit and fa push) to enable synchronized commits and pushes across multiple repositories in a workspace.
Changes:
- Added comprehensive specification documents including implementation plan, research, contracts, and quickstart guide
- Implemented core git operations for commit and push with parallel execution support
- Created CLI commands with JSON output support, dry-run mode, repo filtering, and error handling
- Added comprehensive test coverage for both git operations and CLI commands
Reviewed changes
Copilot reviewed 23 out of 23 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| specs/014-cross-repo-commit/tasks.md | Task breakdown with 80 completed tasks across 10 phases |
| specs/014-cross-repo-commit/spec.md | Feature specification with user stories, requirements, and acceptance criteria |
| specs/014-cross-repo-commit/research.md | Research decisions on git operations and implementation patterns |
| specs/014-cross-repo-commit/quickstart.md | User guide for cross-repo commit and push commands |
| specs/014-cross-repo-commit/plan.md | Implementation plan with technical context and structure |
| specs/014-cross-repo-commit/data-model.md | Data model definitions for commit and push operations |
| specs/014-cross-repo-commit/contracts/push-cli.md | CLI contract specification for push command with error codes |
| specs/014-cross-repo-commit/contracts/commit-cli.md | CLI contract specification for commit command with error codes |
| specs/014-cross-repo-commit/checklists/requirements.md | Specification quality checklist |
| internal/workspace/sync.go | Refactored to use constants for status strings and symbols |
| internal/workspace/push.go | New push orchestration implementation with parallel execution |
| internal/workspace/commit.go | New commit orchestration implementation with parallel execution |
| internal/git/push_ops_test.go | Comprehensive tests for push git operations |
| internal/git/push_ops.go | Git push operations with upstream detection and error handling |
| internal/git/commit_test.go | Comprehensive tests for commit git operations |
| internal/git/commit.go | Git commit operations with staging, stats, and amending support |
| internal/errors/codes.go | Added E5xx error codes for commit and push operations |
| internal/cli/push_test.go | CLI tests for push command covering various scenarios |
| internal/cli/push.go | Push CLI command with dry-run, filtering, and force push support |
| internal/cli/commit_test.go | CLI tests for commit command covering various scenarios |
| internal/cli/commit.go | Commit CLI command with dry-run, amend, and staging support |
| .github/copilot-instructions.md | New AI agent instructions for the project |
| .github/agents/copilot-instructions.md | Removed outdated auto-generated content |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Collaborator
Author
|
@copilot Address the PR comments. Ensure that error reporting is defined and handled consistently. |
Contributor
…tation Co-authored-by: jcleigh <12815554+jcleigh@users.noreply.github.com>
fix: Align specification error codes with implementation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fa commitcommand for synchronized commits across multiple repositories.fa pushcommand to push unpushed commits in parallel across repos.