TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證I think I kan I think I kan
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
A Kanban app where each channel is an AI-assisted, goal-driven space. Cards can be created by
hand or generated by Kan, the built-in assistant, and the way you use a board — moving,
editing, rejecting cards — is the feedback that shapes what it produces next.
Beyond the board, Kanthink runs shrooms: automations that trigger on a schedule or an event,
run a sequence of steps, and learn from what you reject.檢視完整 README ↗A Kanban app where each channel is an AI-assisted, goal-driven space. Cards can be created by hand or generated by Kan, the built-in assistant, and the way you use a board — moving, editing, rejecting cards — is the feedback that shapes what it produces next.
Beyond the board, Kanthink runs shrooms: automations that trigger on a schedule or an event, run a sequence of steps, and learn from what you reject.
npm install
cp .env.local.example .env.local # then fill it in — see below
npm run dev
Open http://localhost:3000.
At minimum you need a database, auth, and one AI provider:
| Variable | Purpose |
|---|---|
DATABASE_URL, TURSO_AUTH_TOKEN | Turso database |
AUTH_SECRET, NEXTAUTH_SECRET, NEXTAUTH_URL | NextAuth |
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET | Google sign-in |
OPENAI_API_KEY and/or GOOGLE_API_KEY | AI generation |
NEXT_PUBLIC_APP_URL | Absolute URLs in emails and share links |
Optional, per feature: PUSHER_* / NEXT_PUBLIC_PUSHER_* (realtime), STRIPE_* (billing),
RESEND_* (email), CLOUDINARY_* (uploads), ENCRYPTION_KEY (BYOK key storage),
CRON_SECRET (scheduled routes), INTERNAL_API_SECRET (internal move API),
OWNER_*_API_KEY (fallback keys), *_MONTHLY_LIMIT (usage tiers).
npm run dev # dev server
npm run build # runs migrations, then next build
npm test # vitest
npm run lint # eslint
npm run email # React Email preview on :3001
npm run migrate # apply DB migrations standalone
lib/db/migrations.mjs is the single source of truth for all DDL. Adding a column to
lib/db/schema.ts without adding a matching ALTER TABLE there will break every query on that
table — Drizzle emits explicit column lists, so a missing column fails the whole SELECT.
npm run build applies migrations before building, so Vercel migrates before new code serves
traffic. npm test includes a guard that fails if a schema column has no migration.
git push does not deploy — Vercel's Ignored Build Step is set to "Don't build anything",
so pushes only update GitHub history. Deploys are explicit:
vercel deploy --prod --yes
app/ routes + API (App Router)
components/ UI, grouped by surface (board/, shrooms/, record/, voice/, …)
lib/ domain logic, db schema/migrations, AI, emails
tests/ vitest suites
scripts/ operational one-offs and the /kan driver
.claude/ agent commands (see kan.md)
app/prototypes holds UI experiments that don't ship. /catlife, /wildwood, and /rescue
are standalone personal games that share the codebase but none of Kanthink's domain model.
See CLAUDE.md for working conventions, including the mobile drag-and-drop constraints and the
product-changelog rules.