CodeIssuesDiscussionsWikiPull RequestsProjectsCommitsActionsReleasesContributorsPulse● GatesSecuritySettingsDeploymentsPipelineInsightsAgents✨ Explain✨ Ask AI✨ Workspace✨ Spec✨ Tests▓ Debt Map✨ NL Search🏛 Archaeology
Blame · Line-by-line history
MIGRATE_TO_GLUECRON.md
Each line is annotated with the commit that last touched it. Click any SHA to jump to that commit and see the surrounding change.
| e1309d5 | 1 | # Migrating gluecron off GitHub onto itself |
| 2 | ||
| 3 | This is the dogfooding play. The pitch is "GitHub replacement for AI-native software" — and right now gluecron's own source code lives on GitHub. This doc is the path to fix that. | |
| 4 | ||
| 5 | ## Prerequisites | |
| 6 | ||
| 7 | - `gluecron.com` is live and responding 200 on `/healthz` | |
| 8 | - You have an admin account registered on gluecron.com (the first user with username matching `SITE_ADMIN_USERNAME` env auto-becomes site admin; default is `ccantynz-alt`) | |
| 9 | ||
| 10 | If gluecron.com is still 502, see the platform-status section in `LAUNCH_TODAY.md` first. | |
| 11 | ||
| 12 | ## Phase B — gluecron-on-gluecron (ship today) | |
| 13 | ||
| 14 | This phase mirrors the repo onto gluecron.com without abandoning GitHub. Both stay in sync until you're confident enough to cut the cord. | |
| 15 | ||
| 16 | ### One command | |
| 17 | ||
| 18 | ```powershell | |
| 19 | .\scripts\migrate-to-gluecron.ps1 | |
| 20 | ``` | |
| 21 | ||
| 22 | It will: | |
| 23 | ||
| 24 | 1. Verify `gluecron.com` is live | |
| 25 | 2. Prompt for your PAT (generate at `/settings/tokens`) | |
| 26 | 3. Trigger a `/import/github/repo` mirror of `ccantynz-alt/Gluecron.com` onto gluecron | |
| 27 | 4. Print the `git remote add gluecron` command for your local clone | |
| 28 | 5. Print the Claude Desktop / Cursor MCP config snippet so Claude switches from GitHub MCP to gluecron's MCP | |
| 29 | ||
| 30 | After this: | |
| 31 | ||
| 32 | - The repo is browsable at `https://gluecron.com/ccantynz-alt/Gluecron.com` | |
| 33 | - You can `git push gluecron main` — both remotes stay in sync | |
| 34 | - Claude Code can `read_file`, `list_issues`, `search_repo`, etc. against gluecron instead of GitHub once you swap the MCP config | |
| 35 | ||
| 36 | ### Workflow runner takes over deploys (incremental) | |
| 37 | ||
| 38 | The repo now ships `.gluecron/workflows/deploy.yml` — the gluecron-native equivalent of `.github/workflows/vultr-deploy.yml`. When gluecron's workflow runner picks it up on a push to main, it runs the same deploy steps locally on the box (no SSH-from-runner gymnastics — gluecron and the deploy target are on the same machine, so the workflow runner runs `bash scripts/deploy-crontech.sh` directly). | |
| 39 | ||
| 40 | For now both `.github/workflows/vultr-deploy.yml` (GitHub) and `.gluecron/workflows/deploy.yml` (gluecron) coexist. After a week of clean deploys via gluecron's runner, delete the GitHub Action. | |
| 41 | ||
| 42 | ## Phase C — cut the GitHub cord (after a week of stable Phase B) | |
| 43 | ||
| 44 | When you trust the gluecron-side enough: | |
| 45 | ||
| 46 | 1. Migrate any active GitHub issues to gluecron (the import flow handles past issues automatically; only WIP discussions need manual moves) | |
| 47 | 2. Migrate active PRs (rebase onto a gluecron-side branch, push there) | |
| 48 | 3. Delete `.github/workflows/vultr-deploy.yml` and `.github/workflows/fly-deploy.yml` | |
| 49 | 4. Set the GitHub repo to read-only / archive | |
| 50 | 5. Update `package.json` `repository.url`, `README.md` install instructions, and any other GitHub references to point at `gluecron.com/ccantynz-alt/Gluecron.com` | |
| 51 | 6. Done. Gluecron now hosts gluecron. | |
| 52 | ||
| 53 | ## Rollback at any time | |
| 54 | ||
| 55 | The migration is non-destructive. The GitHub repo stays untouched. If gluecron-on-gluecron has a problem: | |
| 56 | ||
| 57 | - `git push origin main` (GitHub) still works | |
| 58 | - `.github/workflows/vultr-deploy.yml` still deploys | |
| 59 | - The gluecron-side mirror just falls behind until you re-sync | |
| 60 | ||
| 61 | You can also delete the gluecron-side repo entirely from `/settings` and start over. | |
| 62 | ||
| 63 | ## Why this matters | |
| 64 | ||
| 65 | Every day gluecron's code lives on GitHub is a day the product can't truly say "GitHub replacement." This phase is mostly about credibility and trust — but it's also a forcing function. Bugs in gluecron's hosting / PR flow / workflow runner that you'd never hit as a casual self-hoster will surface immediately when *you* are the user. |