{"id":50308002,"url":"https://github.com/ivanzzeth/multica-workspace-templates","last_synced_at":"2026-05-28T18:01:40.198Z","repository":{"id":360947608,"uuid":"1238690203","full_name":"ivanzzeth/multica-workspace-templates","owner":"ivanzzeth","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-28T13:59:23.000Z","size":357,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-28T15:21:43.895Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ivanzzeth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-14T11:04:39.000Z","updated_at":"2026-05-28T13:59:28.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ivanzzeth/multica-workspace-templates","commit_stats":null,"previous_names":["ivanzzeth/multica-workspace-templates"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ivanzzeth/multica-workspace-templates","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanzzeth%2Fmultica-workspace-templates","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanzzeth%2Fmultica-workspace-templates/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanzzeth%2Fmultica-workspace-templates/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanzzeth%2Fmultica-workspace-templates/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ivanzzeth","download_url":"https://codeload.github.com/ivanzzeth/multica-workspace-templates/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanzzeth%2Fmultica-workspace-templates/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33619972,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-28T18:01:39.336Z","updated_at":"2026-05-28T18:01:40.191Z","avatar_url":"https://github.com/ivanzzeth.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Multica Workspace Templates\n\nImport and export Multica workspace configurations as portable YAML templates. Switch between multiple Multica server instances, manage per-server secrets, and replicate agent teams across workspaces with one click.\n\n## Quick Start\n\n```bash\nnpx multica-workspace-templates\n# Opens http://localhost:8422\n```\n\nOr clone and run locally:\n\n```bash\ngit clone https://github.com/ivanzzeth/multica-workspace-templates.git\ncd multica-workspace-templates\nnpm install\nnpm run dev\n```\n\n**Prerequisites**: `multica` CLI installed and authenticated (`multica login`).\n\n## Features\n\n- **Multi-Server** — Connect to multiple Multica instances, switch from header dropdown\n- **Export with filters** — Checkbox which sections to export (projects/labels default off)\n- **Project resources** — GitHub repos and linked resources included in exports\n- **Streaming import** — Real-time progress bars for each phase\n- **Secrets** — Global + per-server secrets with fallback chain. One-click save during import\n- **Hash routing** — `/#templates` (default), `/#import`, `/#export`, `/#settings`\n\n## Architecture\n\n```\nBrowser (SPA)\n  ↓ fetch /api/*\nExpress server (port 8422)\n  ↓ spawn/subprocess or HTTP\nmultica CLI / Multica API\n```\n\n### Storage\n\n| Path | Contents |\n|------|----------|\n| `~/.multica/config.json` | Active server connection |\n| `~/.multica/servers.json` | All server profiles + per-server secrets |\n| `~/.multica/secrets.json` | Global secrets shared across all servers |\n| `~/.multica-templates/` | User-exported templates (overrides built-in on name collision) |\n| `./templates/` | Built-in templates tracked in git |\n\n## API Reference\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| GET | `/api/workspaces` | List workspaces on current server |\n| GET | `/api/templates` | List all templates (built-in + user) |\n| GET | `/api/templates/:name` | Get template detail |\n| POST | `/api/import/dry-run` | Preview import changes |\n| POST | `/api/import/apply` | Apply import (streaming NDJSON progress) |\n| POST | `/api/export/preview` | Preview workspace export |\n| POST | `/api/export/apply` | Export workspace to YAML file |\n| GET/POST/DELETE | `/api/servers` | Server profile CRUD |\n| POST | `/api/servers/:id/switch` | Switch active server |\n| GET/POST/DELETE | `/api/secrets` | Global secrets CRUD (`?server=\u003cid\u003e` for per-server) |\n| POST | `/api/secrets/resolve` | Resolve env vars (server → global → placeholder) |\n| POST | `/api/secrets/save-to-server` | Bulk save env vars to server secrets |\n\n## Template Format\n\n```yaml\nversion: \"1.0\"\nname: MyTemplate\ndescription: Exported from Multica workspace\nagents:\n  - name: Worker\n    description: ...\n    instructions: ...\n    model: claude-sonnet-4-6\n    runtime_provider: claude\n    custom_env_template:\n      ANTHROPIC_AUTH_TOKEN: ${ANTHROPIC_AUTH_TOKEN}\n    skills: [skill-a, skill-b]\nprojects:\n  - title: My Project\n    description: ...\n    status: in_progress\n    resources:\n      - resource_type: github_repo\n        resource_ref: { url: \"https://github.com/user/repo\" }\nlabels:\n  - name: bug\n    color: \"#ef4444\"\nautopilots:\n  - title: Daily Sync\n    description: ...\n    agent_ref: Worker\n    mode: run_only\n    triggers:\n      - cron: \"0 9 * * 1-5\"\n        timezone: Asia/Shanghai\n```\n\n## Development\n\n```bash\nnpm run dev          # Start dev server with HMR\nnpm run build        # Production build\nnpm run typecheck    # TypeScript check\nnpm start            # Production start\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivanzzeth%2Fmultica-workspace-templates","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fivanzzeth%2Fmultica-workspace-templates","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivanzzeth%2Fmultica-workspace-templates/lists"}