Pre-launch — Gluecron is in final validation. Public signups and git hosting for non-owner users open after launch review.
CodeIssuesDiscussionsWikiPull RequestsProjectsCommitsActionsReleasesContributorsPulse● GatesSecuritySettingsDeploymentsPipelineInsightsAgents✨ Explain✨ Ask AI✨ Workspace✨ Spec✨ Tests▓ Debt Map✨ NL Search🏛 Archaeology
Blame · Line-by-line history

README.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.

README.mdBlame159 lines · 2 contributors
06d5ffeClaude1# gluecron
2
90fa787Claude3A GitHub replacement. AI-native code intelligence, git hosting, automated CI, and a self-hostable platform built to keep every push production-ready. Every repo ships with gates, branch protection, CODEOWNERS sync, and an AI reviewer on by default — opt out per feature, never by default. Deploy anywhere Bun runs — fly.toml is in-repo, Dockerfile for any container host. Backed by Neon Postgres.
06d5ffeClaude4
988380aClaude5## Features
6
7### Code hosting
8- Git Smart HTTP (clone / push / fetch) — subprocess-backed
9- SSH keys, personal access tokens, OAuth 2.0 provider
10- Public / private repos, forks, stars, topics, archive, transfer, template repos
11- Pull-style repository mirroring (upstream git URL, periodic fetch + audit log)
12- Releases, tags, protected tags
13- Repository rulesets — push policy engine covering commit/branch/tag patterns, blocked paths, file-size caps, force-push forbiddance
14
15### Code browsing
16- File tree, syntax highlighting (40+ languages), commit log, unified diffs, blame, raw
17- Branch + tag switcher, contributor list, commit activity graph
18- Code search (ILIKE) — per-repo and global
19- Semantic code search — Voyage `voyage-code-3` when `VOYAGE_API_KEY` is set, deterministic hashing fallback otherwise
20- Symbol / xref navigation across ts/js/py/rs/go/rb/java/kt/swift
21- Dependency graph — npm / pip / poetry / go / cargo / rubygems / composer
22- Commit signature verification — GPG + SSH "Verified" badges
23
24### Collaboration
25- Issues, labels, milestones, issue templates, saved replies
26- Pull requests: inline review, draft PRs, AI triage on create, merge queues, required-checks matrix
27- Discussions (forum threads, q-and-a, pinned/locked)
28- Wikis (DB-backed, revision history + revert)
29- Projects / kanban boards
30- Gists (multi-file, per-revision snapshots, stars, secret)
31- Reactions (8 canonical emoji) on issues, PRs, and comments
32- Mentions, notifications, personalised activity feed, user follows, profile READMEs
33- Closing keywords auto-close issues on PR merge
34
35### AI-native
36- AI code review blocks merges on fail (`requireAiApproval` branch protection)
37- AI security review (Sonnet 4) + 15-pattern secret scanner on every push
38- AI commit messages, PR summaries, changelogs (per-range viewer + on release)
39- AI merge-conflict resolver, AI incident responder (auto-issue on deploy fail)
40- AI explain-this-codebase (per-commit cached Markdown)
41- AI-generated failing test stubs
42- AI dependency updater (opens a PR with a bump table)
43- Copilot-style completion endpoint (`POST /api/copilot/completions`, Haiku, LRU-cached)
44- AI chat — global and repo-scoped
45
46### Automation
47- Workflow runner — `.gluecron/workflows/*.yml` auto-discovered on push, Bun subprocess executor, per-step timeouts, size-capped logs
48- Outbound webhooks (HMAC-signed) on push / issue / PR / star
49- Inbound GateTest callback (bearer or HMAC)
50- Commit status API — external CI POSTs per-commit statuses, combined rollup
51- Auto-repair engine (rewrites broken commits when `ANTHROPIC_API_KEY` is set)
52- Autopilot background ticker — mirror sync, merge-queue processing, weekly email digests, advisory rescans (opt out via `AUTOPILOT_DISABLED=1`)
53- Dependabot-equivalent dep bumper + security advisories scanner
54- CODEOWNERS auto-sync with team-based resolution (`@org/team`)
55
56### Platform
57- Organizations + teams (owner / admin / member roles, team-based CODEOWNERS)
58- 2FA / TOTP with recovery codes
59- WebAuthn / passkeys
60- Enterprise SSO via OIDC (Okta, Azure AD, Auth0, Google Workspace)
61- App marketplace + GitHub-Apps-equivalent bot identities (`ghi_` install tokens, scoped permissions)
62- Package registry (npm protocol — packument / tarball / publish / yank)
63- Pages / static hosting (serves from `gh-pages` branch)
64- Environments with protected approvals (reviewer-gated deploys, branch-glob restrictions)
65- Sponsors (tier management — payment rails deferred)
66- Personal dashboard, explore, global search, insights, releases
67- REST + GraphQL APIs (queries only on GraphQL)
68- Official CLI (`cli/gluecron.ts`) — single-file Bun binary
69- VS Code extension (`vscode-extension/`) — explain / open-on-web / semantic search / test generation
70- Mobile PWA (manifest + offline-capable service worker). Native iOS/Android apps are not built.
71- Command palette (Cmd+K), keyboard shortcuts, dark + light themes
72
73### Observability
74- Rate limiting, request-ID tracing, `/healthz`, `/readyz`, `/metrics`
75- Audit log (personal + per-repo)
76- Traffic analytics per repo (views + clones, 7/14/30/90d windows, SHA-truncated IP uniqueness)
77- Org-wide insights dashboard (green rate, PR/issue counts, per-repo breakdown)
78- Site admin panel — user management, system flags (`registration_locked`, `site_banner_*`, `read_only_mode`), billing overrides
79- Billing + quotas (free / pro / team / enterprise seeded plans)
80- Email notifications (provider-pluggable: log default, Resend in prod) + opt-in weekly digest
81
82For the full shipped-vs-missing scorecard and internal roadmap, see [`BUILD_BIBLE.md`](./BUILD_BIBLE.md).
83
9dd96b9Test User84## Install
85
86**One click**: Drag [`gluecron.dxt`](https://gluecron.com/gluecron.dxt) into Claude Desktop → Extensions. Claude prompts for your Gluecron host + a personal access token (generate one at `/settings/tokens` with `admin` scope) and the 15 MCP tools (`gluecron_create_pr`, `gluecron_merge_pr`, `gluecron_repo_health`, …) light up.
87
88**Browser**: Sign up at <https://gluecron.com/register> or try without signing up at <https://gluecron.com/play>.
89
90**Day-to-day ops**: Every routine operator action lives at [`/admin/ops`](https://gluecron.com/admin/ops) (enable AI auto-merge, trigger a deploy, rollback). Deploy progress streams to [`/admin/deploys`](https://gluecron.com/admin/deploys). No SSH required.
91
92<details>
93<summary>Power-user options (terminal)</summary>
94
95```bash
96curl -sSL https://gluecron.com/install | bash
97```
98
99The installer mints a PAT, edits `claude_desktop_config.json`, and drops the Claude Code skill bundle into `~/.claude/skills/`. See [`scripts/install.sh`](./scripts/install.sh).
100
101You can also wire MCP manually — edit `claude_desktop_config.json` and add an `mcpServers.gluecron` entry pointing at `https://gluecron.com/mcp` with an `Authorization: Bearer <pat>` header.
102
103</details>
104
105## Quick start (local development)
106
107Visit `http://localhost:3000` after starting the dev server to register and create your first repository.
108
109<details>
110<summary>Local dev commands (terminal)</summary>
06d5ffeClaude111
112```bash
113bun install
988380aClaude114bun dev # hot-reload dev server
115bun run db:migrate # run database migrations
116bun test # run the test suite
06d5ffeClaude117```
118
988380aClaude119You'll need at minimum a `DATABASE_URL` pointing at Postgres. Everything AI-flavoured gracefully degrades without `ANTHROPIC_API_KEY`. See [`.env.example`](./.env.example) for the full list.
06d5ffeClaude120
9dd96b9Test User121</details>
122
06d5ffeClaude123## Stack
124
988380aClaude125- **Runtime:** Bun
126- **Framework:** Hono (with JSX for server-rendered views)
127- **Database:** Drizzle ORM + Neon (PostgreSQL)
128- **Git:** Smart HTTP protocol via git CLI subprocesses
129
130## Architecture (top-level)
131
132```
133src/
134 index.ts Bun server entry
135 app.tsx Hono composition + error handlers
136 db/ Drizzle schema + lazy connection + migrations
137 git/ repository.ts (tree/blob/commits/diff/blame/...) + protocol.ts
90fa787Claude138 hooks/ post-receive (GateTest, outbound deploy webhook, webhooks, CODEOWNERS)
988380aClaude139 lib/ auth, config, markdown, highlight, AI helpers, autopilot, ...
140 middleware/ softAuth / requireAuth / rate-limit / request-context
141 routes/ git, api, web, issues, pulls, editor, settings, webhooks, ...
142 views/ layout, components, landing, reactions
143```
144
145Full file inventory lives in [`CLAUDE.md`](./CLAUDE.md).
146
90fa787Claude147## Integrations
988380aClaude148
90fa787Claude149- **GateTest** — optional third-party security scanner. When `GATETEST_URL` is set, every `git push` POSTs to it; inbound results accepted at `POST /api/hooks/gatetest` (bearer or HMAC).
988380aClaude150- **Webhooks** — user-registered URLs receive HMAC-signed payloads on push / issue / PR / star events.
90fa787Claude151- **Outbound deploy webhook** — optional. Set `CRONTECH_DEPLOY_URL` (or any URL) to receive a POST on pushes to the default branch. Opt out per repo via `autoDeployEnabled`.
988380aClaude152
153## Deployment
154
90fa787Claude155Gluecron runs anywhere Bun runs. The repo ships a `fly.toml` for Fly.io and a `Dockerfile` for any container host, with Neon Postgres as the database. See [`DEPLOY.md`](./DEPLOY.md) for step-by-step instructions, environment variables, and the post-deploy verification checklist.
988380aClaude156
157## License
158
159See [`LICENSE`](./LICENSE).