How xecipher/copygit works
CopyGit turns a GitHub repository URL into a selective, AI-ready text bundle. The user supplies a URL and optional token; the Angular app discovers repository metadata and branches, retrieves a branch tree, supports file selection, then requests selected contents for in-memory extraction and formatting before showing estimates and enabling copy or download. The README documents the broader selection, private-repository, theme, and output capabilities; the supplied excerpts do not show every UI binding or all API implementation details.
Main entry points: app.component.ts App workflow · api.service.ts API client · process.js Archive extraction · tree-node.component.ts File tree UI
Components 12
Browser app
- App workflow
frontend/src/app/app.component.ts - File tree UI
frontend/src/app/components/tree-node/tree-node.component.ts - API client
frontend/src/app/services/api.service.ts
Repository discovery
- Repo metadata
frontend/api/repo-info.js - Latest commit
frontend/api/latest-commit.js - Tree analysis
frontend/api/analyze.js
Bundle generation
- Archive extraction
frontend/api/process.js
External services
- GitHub API
- Browser storage
- Clipboard
- Text download
Other components
- Developer
Connections 19
- Developer → App workflow: submits URL
- App workflow → API client: requests data
- API client → Repo metadata: posts metadata request
- Repo metadata → GitHub API: fetches repo and branches
- API client → Latest commit: posts commit request
- Latest commit → GitHub API: fetches branch commit
- API client → Tree analysis: posts tree request
- Tree analysis → GitHub API: fetches recursive tree
- App workflow → File tree UI: renders selection tree
- File tree UI → App workflow: emits selection changes
- App workflow → API client: requests selected files
- API client → Archive extraction: posts selected paths
- Archive extraction → GitHub API: streams repository tarball
- Archive extraction → API client: returns formatted bundle
- API client → App workflow: returns results
- App workflow → Browser storage: reads and saves preferences
- App workflow → Clipboard: copies bundle
- App workflow → Text download: downloads bundle
- App workflow → Developer: presents bundle and estimates