尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗A calm, keyboard-first planner for your day. You type a task in one line (Review PR 15:30 ~45m !! #work) and it lands on a timeline with its time, duration, priority and tags already set.
Open any task to edit it as a sentence (day, time, duration, priority, tags), add steps and a note. Tick it to complete it, and use the two-step button to delete it.
The Line is the floating input that creates tasks. Write the title and add any of these, in any order:
| Write | Means | Example |
|---|---|---|
15:30, 3pm, 3:30pm | Starts at (the time stays in the title) | Call mum 6pm |
13:30 to 15:30, 1pm-3pm | A time range: sets the start and the duration | Workshop 9:00 to 11:30 |
~45m, ~2h | Lasts | Read ~2h |
!, !!, !!! | Priority: low, medium, high | Pay rent !!! |
#work, #work,home | One or more tags (up to 8) | Report #work |
today, tomorrow | The day (a time alone also means today) | run tomorrow 7:05 |
A line with no day and no time goes to the Inbox.
Requires Node.js 24 (the tests run the TypeScript sources directly with node --test), a MongoDB database (Atlas) and a Google OAuth client. There is one environment: local development uses the production database.
.env.example to .env.local and fill it in:
MONGODB_URI and MONGODB_DB: the Atlas connection string and database name.BETTER_AUTH_SECRET: a random secret, e.g. openssl rand -base64 32. Vercel can have its own; changing a secret signs out everyone using that URL.BETTER_AUTH_URL: http://localhost:3000 locally, https://<domain> in Vercel.GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET: a Google Cloud OAuth client (Web application) whose redirect URIs include <BETTER_AUTH_URL>/api/auth/callback/google for each URL above.npm run db:setup
npm i
npm run dev # http://localhost:3000, then Continue with Google at /login
npm test # domain and server tests (node --test); the MongoDB ones skip without MONGODB_URI_TEST
MONGODB_URI_TEST=mongodb://127.0.0.1:27017/better-tasks-test npm test # also runs the store contract on a local, throwaway MongoDB (never the real one: it creates and drops collections)
npm run lint
npm run build # needs the variables above (Next loads the route modules while building)
src/
app/ routes: landing, (app)/today|next|inbox|week, api/tasks
components/ds/ design system primitives
components/ui/ shadcn components adapted to the tokens
features/tasks/ domain (pure logic), server (MongoDB store, route logic), client (data hooks), components
features/auth/ Google log in, account button, session guard, safe ?next=
lib/ MongoDB client, Better Auth (server and client), the session
proxy.ts sends signed-out visitors to /login
scripts/
db-setup.mts the tasks validator and the indexes (npm run db:setup)
features/calendar/ the Week calendar (FullCalendar lives only here)
features/landing/ the landing page
docs/
ARCHITECTURE.md modules, decisions, design tokens and motion
SPEC.md the V1 implementation plan
SPEC-V1.1.md persistence and accounts
See docs/ARCHITECTURE.md for the full picture.
Next.js 16 (App Router) · React 19 · TypeScript · Tailwind CSS 4 · shadcn/ui on Radix · TanStack Query · FullCalendar 7 · Temporal polyfill · MongoDB · Better Auth
Made with ❤️ by Andres Gallego