@baselhusam/daily-hub
v0.2.1
Published
A personal command center for projects, tasks, and daily habits.
Readme
A personal command center for people who juggle more than one project at a time — founders, consultants, indie builders, anyone with client work, side projects, and a few non-negotiable daily habits.
DailyHub is not a replacement for Linear, Jira, or Notion. It is the morning surface: what is open, what belongs where, what must happen today, and what you already finished.
See it in action
Features
- Today — greeting, quick add, nudges, today’s habits, open work by project, and an inbox
- Projects — status, due dates, milestones, and stalled-work banners
- Habits — weekday schedules, 14-day consistency, and completion rate
- Analytics — completions over time, project breakdown, and weekday patterns
- Command palette — jump to projects, tasks, habits, and milestones
- Local by default — SQLite on disk, light and dark themes, no accounts
Quick start
Requires Node.js 22+.
npx @baselhusam/daily-hubOpens http://127.0.0.1:9999. Data lives in ~/.daily-hub/ (data.db and uploads/). The first download is ~80 MB because the package ships the full Next.js app; later runs are instant.
npx @baselhusam/daily-hub --seed # sample data on first run
npx @baselhusam/daily-hub --port 3000 # different port
npx @baselhusam/daily-hub --data-dir ~/my-hub # custom data directory
npx @baselhusam/daily-hub --no-open # don't open the browser
npx @baselhusam/daily-hub --no-mcp # disable the local MCP endpoint
npx @baselhusam/daily-hub --detach # run in the background
npx @baselhusam/daily-hub --update # run the latest published version--update (or update) fetches and runs the latest published DailyHub release. Any other options are preserved, so npx @baselhusam/daily-hub --update --port 3000 updates and starts it on port 3000.
--detach starts DailyHub in the background, opens the app when it is ready, and lets you close the terminal. Manage that instance later with:
npx @baselhusam/daily-hub status
npx @baselhusam/daily-hub logs
npx @baselhusam/daily-hub stopThe background process and log are recorded in the selected data directory (~/.daily-hub/ by default); pass the same --data-dir to the management commands if you use a custom location. It remains running until stopped or the computer restarts; use Docker or a system service if you need automatic restarts.
MCP integration
DailyHub starts a local, token-protected MCP endpoint by default at /mcp on the selected app port. After starting the app, print a ready-to-copy client configuration with:
npx @baselhusam/daily-hub mcpThe endpoint is bound to 127.0.0.1 and requires the bearer token in that output. The token is stored with owner-only permissions in ~/.daily-hub/daily-hub-mcp.json. Disable the endpoint for a launch with --no-mcp.
Do not keep ~/.daily-hub/ in iCloud, Dropbox, or other file-sync folders — SQLite and file sync can corrupt the database. Backup is a copy of that folder (or your --data-dir).
Docker
docker run -d --name dailyhub -p 9999:9999 \
-v dailyhub_data:/app/data \
baselhusam/daily-hub:latestOpen http://localhost:9999. Data persists in the dailyhub_data volume. Pin a version with baselhusam/daily-hub:X.Y.Z (same as the npm version). Images are also published to ghcr.io/baselhusam/daily-hub. Optional sample data:
docker exec dailyhub npm run db:seedFrom a clone, docker compose up -d pulls the same image; docker compose up --build compiles from this tree.
v1 has no authentication. Keep it on localhost, a private network, or behind a reverse proxy. Full self-hosting notes are in docs/DEPLOYMENT.md.
Development
npm install
npm run devRuns on port 9999 with SQLite in ./.data/. Commands, layout, and conventions live in CLAUDE.md.
Built with
Next.js 15, TypeScript, SQLite, and Prisma. There is no separate API server — reads go through Server Components, writes through Server Actions.
Documentation
- Deployment — Docker, env vars, self-hosting, troubleshooting
- Architecture — data model and request flow
- Design — visual direction and UX patterns
- Changelog — version history
