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
claude/adoring-hopper-5x74bqclaude/affectionate-feynman-ykrf1hclaude/architecture-audit-design-wxprenclaude/build-status-update-3MXsfclaude/charming-meitner-mllb5rclaude/compare-gate-gluecron-s4mFQclaude/confident-faraday-tikcwbclaude/continue-work-XMTlIclaude/crontech-gluecron-deploy-7MIECclaude/crontech-platform-setup-SeKfwclaude/design-2026claude/ecstatic-ptolemy-jMdigclaude/enhance-github-integration-QNHdGclaude/fix-aa-loop-issue-PonMQclaude/fix-actions-and-processclaude/fix-desktop-errors-XqoW8claude/fix-red-workflowsclaude/fix-website-access-6FKJNclaude/gatetest-integration-hardeningclaude/github-audit-improvements-bDFr9claude/gluecron-launch-status-FoMRlclaude/hopeful-lamport-olfCTclaude/issue-to-pr-and-protectionsclaude/jolly-heisenberg-2sg1Qclaude/launch-preparation-QmTb6claude/new-session-xk1l7claude/plan-platform-architecture-kkN4yclaude/platform-analysis-roadmap-1nUGLclaude/platform-launch-assessment-8dWV8claude/polish-platform-release-AeDrUclaude/resume-previous-work-KzyLwclaude/review-crontech-handoff-qYEVqclaude/review-project-completeness-lHhS2claude/review-readme-docs-ulqPKclaude/serene-edison-rj87weclaude/setup-multi-repo-dev-BCwNQclaude/ship-fixes-and-tests-Jvz1cclaude/site-audit-competitive-pctlwgclaude/site-migration-vercel-XstpKclaude/standalone-product-repos-XHFTDcopilot/feat-smart-empty-states-keyboard-first-enhancementcopilot/feat-smart-morning-digest-review-context-restorecopilot/fix-and-process-workflowscopilot/update-ai-powered-code-reviewfeat/debt-mapfeat/push-policy-codeowners-hardeningfeat/smart-digest-contextfeat/stage-impactfeat/t1-secret-migrationfeat/u-polishfeat/w-self-hostfeat/w2-claude-configfix/agent-journey-orphan-sweepgatetest/auto-fix-1776586424172gatetest/auto-fix-1776586534814gatetest/auto-fix-1776590685143gatetest/auto-fix-1776590808199mainops/redeploy-retriggerstyle/dxt-cta-themeworktree-agent-a3377aad30d55da26worktree-agent-a7ef607b7ee1d6c74
README.md8.4 KB · 159 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# gluecron

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

## Features

### Code hosting
- Git Smart HTTP (clone / push / fetch) — subprocess-backed
- SSH keys, personal access tokens, OAuth 2.0 provider
- Public / private repos, forks, stars, topics, archive, transfer, template repos
- Pull-style repository mirroring (upstream git URL, periodic fetch + audit log)
- Releases, tags, protected tags
- Repository rulesets — push policy engine covering commit/branch/tag patterns, blocked paths, file-size caps, force-push forbiddance

### Code browsing
- File tree, syntax highlighting (40+ languages), commit log, unified diffs, blame, raw
- Branch + tag switcher, contributor list, commit activity graph
- Code search (ILIKE) — per-repo and global
- Semantic code search — Voyage `voyage-code-3` when `VOYAGE_API_KEY` is set, deterministic hashing fallback otherwise
- Symbol / xref navigation across ts/js/py/rs/go/rb/java/kt/swift
- Dependency graph — npm / pip / poetry / go / cargo / rubygems / composer
- Commit signature verification — GPG + SSH "Verified" badges

### Collaboration
- Issues, labels, milestones, issue templates, saved replies
- Pull requests: inline review, draft PRs, AI triage on create, merge queues, required-checks matrix
- Discussions (forum threads, q-and-a, pinned/locked)
- Wikis (DB-backed, revision history + revert)
- Projects / kanban boards
- Gists (multi-file, per-revision snapshots, stars, secret)
- Reactions (8 canonical emoji) on issues, PRs, and comments
- Mentions, notifications, personalised activity feed, user follows, profile READMEs
- Closing keywords auto-close issues on PR merge

### AI-native
- AI code review blocks merges on fail (`requireAiApproval` branch protection)
- AI security review (Sonnet 4) + 15-pattern secret scanner on every push
- AI commit messages, PR summaries, changelogs (per-range viewer + on release)
- AI merge-conflict resolver, AI incident responder (auto-issue on deploy fail)
- AI explain-this-codebase (per-commit cached Markdown)
- AI-generated failing test stubs
- AI dependency updater (opens a PR with a bump table)
- Copilot-style completion endpoint (`POST /api/copilot/completions`, Haiku, LRU-cached)
- AI chat — global and repo-scoped

### Automation
- Workflow runner — `.gluecron/workflows/*.yml` auto-discovered on push, Bun subprocess executor, per-step timeouts, size-capped logs
- Outbound webhooks (HMAC-signed) on push / issue / PR / star
- Inbound GateTest callback (bearer or HMAC)
- Commit status API — external CI POSTs per-commit statuses, combined rollup
- Auto-repair engine (rewrites broken commits when `ANTHROPIC_API_KEY` is set)
- Autopilot background ticker — mirror sync, merge-queue processing, weekly email digests, advisory rescans (opt out via `AUTOPILOT_DISABLED=1`)
- Dependabot-equivalent dep bumper + security advisories scanner
- CODEOWNERS auto-sync with team-based resolution (`@org/team`)

### Platform
- Organizations + teams (owner / admin / member roles, team-based CODEOWNERS)
- 2FA / TOTP with recovery codes
- WebAuthn / passkeys
- Enterprise SSO via OIDC (Okta, Azure AD, Auth0, Google Workspace)
- App marketplace + GitHub-Apps-equivalent bot identities (`ghi_` install tokens, scoped permissions)
- Package registry (npm protocol — packument / tarball / publish / yank)
- Pages / static hosting (serves from `gh-pages` branch)
- Environments with protected approvals (reviewer-gated deploys, branch-glob restrictions)
- Sponsors (tier management — payment rails deferred)
- Personal dashboard, explore, global search, insights, releases
- REST + GraphQL APIs (queries only on GraphQL)
- Official CLI (`cli/gluecron.ts`) — single-file Bun binary
- VS Code extension (`vscode-extension/`) — explain / open-on-web / semantic search / test generation
- Mobile PWA (manifest + offline-capable service worker). Native iOS/Android apps are not built.
- Command palette (Cmd+K), keyboard shortcuts, dark + light themes

### Observability
- Rate limiting, request-ID tracing, `/healthz`, `/readyz`, `/metrics`
- Audit log (personal + per-repo)
- Traffic analytics per repo (views + clones, 7/14/30/90d windows, SHA-truncated IP uniqueness)
- Org-wide insights dashboard (green rate, PR/issue counts, per-repo breakdown)
- Site admin panel — user management, system flags (`registration_locked`, `site_banner_*`, `read_only_mode`), billing overrides
- Billing + quotas (free / pro / team / enterprise seeded plans)
- Email notifications (provider-pluggable: log default, Resend in prod) + opt-in weekly digest

For the full shipped-vs-missing scorecard and internal roadmap, see [`BUILD_BIBLE.md`](./BUILD_BIBLE.md).

## Install

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

**Browser**: Sign up at <https://gluecron.com/register> or try without signing up at <https://gluecron.com/play>.

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

<details>
<summary>Power-user options (terminal)</summary>

```bash
curl -sSL https://gluecron.com/install | bash
```

The 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).

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

</details>

## Quick start (local development)

Visit `http://localhost:3000` after starting the dev server to register and create your first repository.

<details>
<summary>Local dev commands (terminal)</summary>

```bash
bun install
bun dev            # hot-reload dev server
bun run db:migrate # run database migrations
bun test           # run the test suite
```

You'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.

</details>

## Stack

- **Runtime:** Bun
- **Framework:** Hono (with JSX for server-rendered views)
- **Database:** Drizzle ORM + Neon (PostgreSQL)
- **Git:** Smart HTTP protocol via git CLI subprocesses

## Architecture (top-level)

```
src/
  index.ts          Bun server entry
  app.tsx           Hono composition + error handlers
  db/               Drizzle schema + lazy connection + migrations
  git/              repository.ts (tree/blob/commits/diff/blame/...) + protocol.ts
  hooks/            post-receive (GateTest, outbound deploy webhook, webhooks, CODEOWNERS)
  lib/              auth, config, markdown, highlight, AI helpers, autopilot, ...
  middleware/       softAuth / requireAuth / rate-limit / request-context
  routes/           git, api, web, issues, pulls, editor, settings, webhooks, ...
  views/            layout, components, landing, reactions
```

Full file inventory lives in [`CLAUDE.md`](./CLAUDE.md).

## Integrations

- **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).
- **Webhooks** — user-registered URLs receive HMAC-signed payloads on push / issue / PR / star events.
- **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`.

## Deployment

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

## License

See [`LICENSE`](./LICENSE).