Self-hosted issue tracker and Markdown wiki for teams that run Gitea
636

Flint is a self-hosted issue tracker and Markdown wiki for teams that run Gitea. People sign in with their Gitea accounts, and branches, commits, pull requests and CI checks that mention ENG-12 show up on the issue by themselves. A CLI does everything the UI does, so coding agents can work in it too.
You need Bun and Docker Compose. Compose runs PostgreSQL, an S3 server, Gitea with a CI runner, and creates the Gitea users, the OAuth app and the webhook.
git clone https://github.com/yegor-usoltsev/flint.git && cd flint
bun install
cp .env.example .env
docker compose up -d --wait
bun run dev # or the production image: bun run build && docker compose --profile app up -d --wait --build
bun run demo # optional, while Flint is running
Open http://localhost:4700, choose Continue with Gitea and sign in as alice with the password password (bob and carol too). Gitea is on http://localhost:4701.
bun run demo creates the workspace Acme Corp with projects, issues, wiki pages and a Getting started project that tours the features, plus a Gitea repository whose pull request shows up on ENG-5 with its CI check. Without it, Flint asks you to create a workspace; tick Include demo data there for a short Getting started project and wiki guide.
To open Flint from another device, set PUBLIC_HOST (the host name the browser uses) and PUBLIC_HOST_BIND (the address to publish on) in .env, then rerun docker compose up -d and restart bun run dev. docker compose down -v deletes all data.
Run yusoltsev/flint (also ghcr.io/yegor-usoltsev/flint) next to Gitea, PostgreSQL 18 with pgvector and an S3 bucket:
docker run -d --name flint -p 3000:3000 --env-file flint.env yusoltsev/flint:latest
docs/self-hosting.md covers the Gitea OAuth app and webhook, the reverse proxy and semantic search.
npm install -g @yusoltsev/flint-cli # Node 22.12+ or Bun
flint login --url https://flint.example.com --token <key from Settings → API keys>
flint issue list -a @me
$ flint issue branch ENG-5
alice/ENG-5-format-prices-for-the-customer-s-locale
For a coding agent, npx skills add yegor-usoltsev/flint installs a skill that tells it to run flint skill, which prints the guide for the installed CLI version. More in cli/README.md.
See draft recovery for offline text saves, conflicts and account boundaries.
mise installs Bun and the pre-commit hook. bun run lint checks types and formatting, bun test runs against the compose PostgreSQL and S3, and bun run cli:smoke drives the CLI against the running app after bun run demo. AGENTS.md and docs/development.md hold the conventions.
Content type
Image
Digest
sha256:b3606555f…
Size
61.2 MB
Last updated
4 days ago
docker pull yusoltsev/flint