Native Shell
Native Shell은 모든 플랫폼의 앱 안에서 만들어지는 AI UI입니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Personal AI-first ticketing & engineering workspace
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Personal, AI-first ticketing and engineering workspace: projects, objectives, milestones and tickets; a Kanban board and roadmap; GitHub integration; an assistant that answers from real data and proposes work for you to review. Replaces Jira for personal work. Single user, not a SaaS.
Stack: Next.js 16 (App Router) · TypeScript · Drizzle ORM on Neon Postgres (PGlite locally) · GitHub OAuth (single allowlisted user) · Anthropic SDK · Tailwind v4 + shadcn/ui · Vercel.
pnpm install
pnpm dev # http://localhost:3000
With no DATABASE_URL, Orbit uses embedded Postgres (PGlite) in .data/pglite, migrated
automatically on first request. With no OAuth configured, dev mode skips login. GitHub and AI
features show how to enable them and the rest of the app works without them.
To develop against real Postgres, create a Neon dev branch and set DATABASE_URL in
.env.local, then pnpm db:migrate.
Put these in .env.local (local) or the Vercel project settings (production). Only the auth
group is required in production — without it Orbit refuses all access (fails closed).
| Variable | Required | Purpose |
|---|---|---|
DATABASE_URL | prod | Neon Postgres connection string. Unset or pglite:<dir> → embedded PGlite. |
AUTH_GITHUB_ID, AUTH_GITHUB_SECRET | prod | GitHub OAuth app (Settings → Developer settings → OAuth Apps). Callback URL: <APP_URL>/api/auth/callback. |
AUTH_GITHUB_ALLOWED_LOGIN | prod | The one GitHub username allowed to sign in. |
AUTH_SECRET | prod | Session signing key, ≥32 chars (openssl rand -base64 48). |
APP_URL | prod | Public base URL, no trailing slash (OAuth redirects, webhook instructions). |
GITHUB_TOKEN | optional | Fine-grained PAT, read-only: Metadata, Contents, Pull requests, Checks, Commit statuses — on the repos Orbit should see. |
GITHUB_WEBHOOK_SECRET | optional | Shared secret for repository webhooks (openssl rand -hex 32). |
ANTHROPIC_API_KEY | optional | Enables the assistant. Model and effort are set in Settings. |
ORBIT_API_TOKEN | optional | Bearer token (≥24 chars) for /api/v1 (Claude Code, scripts). Unset = API disabled. |
ORBIT_TIMEZONE | optional | IANA zone for "today"/due/overdue, e.g. Africa/Johannesburg. Default UTC. |
Credentials only ever live in the environment — the database stores no secrets.
DATABASE_URL).https://<your-domain>/api/auth/callback.pnpm vercel-build (runs pnpm db:migrate then next build, so schema
changes deploy with the code).https://<your-domain>/api/github/webhook, content type
application/json, your GITHUB_WEBHOOK_SECRET, events: Pull requests, Pushes, Branch or tag
creation, Branch or tag deletion, Check runs, Check suites, Statuses. Without webhooks, use
Sync now on the GitHub page.ORB gives ticket IDs ORB-1, ORB-2, …).Keyboard: ⌘K palette · / search · C new ticket · G then D/T/B/P/O/R/I/A/G/S to navigate ·
? help · ⌘↵ save forms.
/api/v1 gives your agents read and write access to tickets (create, update status/fields,
blockers, comments, archive; no hard delete), every change logged as api — see docs/api.md.pnpm test # vitest — services against in-memory Postgres
pnpm test:e2e # playwright — the full workflow in a browser
pnpm lint && pnpm typecheck
pnpm db:generate # after editing src/db/schema.ts → new migration in drizzle/
pnpm import:tickets export.json # bulk import keeping keys + dates (format: src/server/services/import.ts)
Architecture: all domain logic lives in src/server/services/* behind validated inputs. Server
actions (src/actions), the REST API (src/app/api/v1) and the assistant's tools
(src/server/ai/tools.ts) are thin callers of the same services.
src/vendor/floorplan/; it powers the Architecture tab.src/vendor/floorplan/assets/vendor/.