tapflow
팀 전체가 사용할 수 있는 자체 호스팅 iOS·Android 시뮬레이터 스트리밍
Idea HQ는 원하는 기능을 평이한 문장으로 적으면 AI가 GitHub에 구현하고, 승인 전까지 변경이 없습니다
Write what you want next in plain words. Idea HQ plans it, an AI builds it in your own GitHub, and nothing changes until you approve it.
개발 도구TypeScript · HTMLGitHub @vitoc82-se온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗One backlog for all your projects. Capture an idea, tag it to a project, and the AI estimates its effort/value and writes a ready-to-paste build prompt — grounded in that project's real architecture, not a generic guess.
Lifted from the Snapmeal ideas board and made multi-project: each Project carries
its own context (its ARCHITECTURE.md / stack / models / deploy flow), which is the
exact text handed to Claude when it estimates or plans an idea for that project.
Next.js 15 (App Router) · React 19 · Prisma 7 → Neon Postgres · NextAuth (credentials + optional Google) · Anthropic Claude · Tailwind · deployed on Vercel. AI changes run in the owner's own GitHub through a GitHub App and an Actions workflow.
Use Node 20 (.nvmrc; CI uses the same file, so nvm use matches it).
npm install.env.example to .env and fill in DATABASE_URL, NEXTAUTH_SECRET, ANTHROPIC_API_KEY, OWNER_EMAIL.npx prisma db push to create the schema in your Neon database.npm run dev, open http://localhost:3000, register (the first account becomes the owner).ARCHITECTURE.md).npm install
npm run dev:local
Open http://localhost:3100 and sign in as [email protected] with dev-password-local-only. This runs the whole app on an
in-memory Postgres (PGlite, src/lib/db-pglite.ts) filled with sample data (src/lib/dev-seed.ts): a project with an idea
in every stage of the journey (needs a plan, ready to build, the AI working, failed checks, ready to merge, shipped, a revert
waiting), an Epic, and another person's idea that must never show. No Neon, no GitHub, no AI key: the AI key is blanked, so
nothing can spend money (set IDEAHQ_ALLOW_AI=1 to allow it), and GitHub calls simply find nothing. Everything resets when
the server stops. It only exists when IDEAHQ_DB=pglite is set (scripts/local.mjs does that); a normal build never
contains it, and it refuses to start on Vercel.
npm test runs the unit and database tests (Vitest, with the real SQL on PGlite).npm run test:e2e builds the local version above and runs the smoke tests in a real browser (Playwright, e2e/): sign-in,
the Ideas list with each idea's stage and next step, the Needs you filter, every stage of the idea card, light and dark,
and a phone width. The first time, run npx playwright install chromium. npm run test:e2e:fast reuses the last build.
The same tests run in CI as the smoke job. When the sample data changes, change the expectations in e2e/ with it.Set the same env vars in Vercel, then git push origin main. The build runs
prisma db push (additive schema changes only). The build (scripts/build.mjs) runs it only on a production deploy, without --accept-data-loss: a change that would drop data fails the build and the live site stays as it was. To drop something on purpose, set ALLOW_DATA_LOSS=1 for that one deploy and remove it afterwards. Preview and local builds never change the schema.
src/app/(app)/ideas — the board (list + kanban), detail page, shared helperssrc/app/(app)/projects — project admin (the per-project context lives here)src/app/api/ideas/[id]/estimate — AI effort/value/tags/scopesrc/app/api/ideas/[id]/plan — AI build prompt for a coding agentsrc/lib/project-context.ts — turns a project's context into the AI grounding blockThe Implement button on an idea runs Claude Code in the project's own GitHub repo (in that repo's GitHub Actions, with that repo's ANTHROPIC_API_KEY secret), then opens a pull request. Idea HQ only dispatches the run and listens to GitHub webhooks. See the eng review in ~/.gstack/projects/vitoc82-se-Idea-hq/ for the design.
GitHub, Settings, Developer settings, GitHub Apps, New GitHub App:
https://ideahq.cloud/api/github/webhookGITHUB_WEBHOOK_SECRET)https://ideahq.cloud/api/github/callback, and tick Request user authorization (OAuth) during installationsrc/lib/github/client.ts, 2026-10-21); do not add Administration, Issues or Members.Then generate a private key and a client secret, and set these in Vercel:
| Variable | Value |
|---|---|
GITHUB_APP_ID | numeric App ID |
GITHUB_APP_SLUG | the app's URL slug (also used as allowed_bots in the workflow) |
GITHUB_APP_PRIVATE_KEY | the PEM, with newlines as \n |
GITHUB_APP_CLIENT_ID / GITHUB_APP_CLIENT_SECRET | from the app page (install-ownership check) |
GITHUB_WEBHOOK_SECRET | same string as in the app |
AI_DAILY_LIMIT | optional, per-user daily estimate/plan/breakdown calls (default 20) |
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗