Repos need no outside account or token. Every push saves a full snapshot as commit 1, 2, 3 …; deploying an older number is a rollback. An assistant connected over MCP can create a repo, push what it wrote and put a commit live in one conversation (create_repo, push_files, get_repo_files, deploy_repo, list_repos).
In plain words
A place inside Harakumo to keep your app's code, with every saved version numbered, so any version can be put live again.
For example: An AI assistant saves each change as a new version. If version 8 breaks something, you put version 7 back.
Limits
- A push over REST: up to 500 files, 10 MB per file, 25 MB in total. One push_files tool call is smaller (300 files of about 600 KB), so large projects push over REST or in parts.
- Text files up to 512 KB read back one by one; larger and binary files are listed with their size. Binary files are pushed base64-encoded (
"base64": true). - Environment files (.env and friends) are never readable back through the API. Do not commit secrets.
- Repos are workspace-wide: project keys cannot use them.
- Written through the API and the AI connector, and browsed in Nucleus (nucleus.harakumo.com), which shows every repo in your workspaces with its files and commits. There is no git push or SDK method for repos yet.
Reference
SDK
// Repos are reached over REST or the AI connector; the SDK has no repo methods yet.REST
GET /api/repos # every repo, with commit counts
POST /api/repos { "name": "school-site", "description"? }
GET /api/repos/:id # the repo and its commit history
POST /api/repos/:id/commits { "message": "…", "files": [{ "path": "index.html", "content": "…" }] }
GET /api/repos/:id/files?commit=2 # file tree at a commit (default: latest)
GET /api/repos/:id/files?commit=2&path=index.html # one file
POST /api/repos/:id/deploy { "projectId": 12, "commit": 1 } # an older commit is a rollback
DELETE /api/repos/:id