Skip to content

Conversation

@keyboardstaff
Copy link
Contributor

Clone A0 Projects from Git Repositories

New Features:

  • Git repository URL input field when creating projects
  • Security warning dialog before cloning untrusted sources
  • Progress notification during clone with disabled buttons
  • Support for cloning any git repo (auto-completes A0 project structure for non-A0 repos)
  • Agent sees Git URL in project prompt injection
  • Edit project page shows Git Status (repository URL, branch, status, last commit)
  • .a0proj folder excluded from uncommitted changes detection

Implementation:

  • git.py - Added clone_repo() and get_repo_status()
  • projects.py - Added clone_git_project()
  • api/projects.py - Added clone action with progress notifications
  • confirmDialog.js - Custom confirmation dialog component
  • agent.system.projects.active.md - Added Git URL template variable

- Uses 'git -c http.extraHeader=Authorization: Basic <base64>' for authentication
- Token is encoded as 'base64("x-access-token:TOKEN")' following GitHub's Basic Auth format
- Token is never stored in URL, git config, or project metadata
- 'GIT_TERMINAL_PROMPT=0' prevents interactive credential prompts
- Remote URL displayed in UI always has auth info stripped for security
- use Memory.Area.MAIN.value instead of the enum object to ensure proper JSON serialization.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant