AI-Powered Coding Task Management
Orchestrate Claude, Gemini, and more in a unified workspace with approval workflows, real-time streaming, and desktop support.
Quick Start • Features • Architecture • Development • License
npx notecode-appOpens in your browser automatically. That's it.
npx notecode-app -p 5000 # Custom port
npx notecode-app --no-browser # Don't auto-open browser
npx notecode-app --help # Show all options| Variable | Default | Description |
|---|---|---|
PORT |
41920 |
Server port |
HOST |
0.0.0.0 |
Server host |
NO_BROWSER |
false |
Skip opening browser |
NOTECODE_DATA_DIR |
~/.notecode |
Data directory |
Seamlessly switch between AI providers (Claude, Gemini) within the same workspace. Each task can use a different model.
Kanban board with drag-and-drop, task dependencies, context files, and image attachments. Assign AI agents to tasks and track progress.
WebSocket-powered live streaming of AI sessions. Watch code being generated in real-time with token usage tracking.
Hook-based approval gates for AI-generated code changes. Review diffs, approve or reject file modifications before they're applied.
VS Code-style file browser with syntax highlighting, diff tracking, and the ability to open files in your preferred editor.
Branch management, commit tracking, and approval-based commit workflows directly from the UI.
Native desktop experience for Windows, macOS, and Linux with auto-updates.
notecode/
├── backend/ # Fastify + Clean Architecture (Node.js)
│ ├── src/
│ │ ├── adapters/ # Controllers, repositories, gateways
│ │ ├── domain/ # Entities, use cases, ports
│ │ └── infrastructure/ # Database (SQLite), server, CLI adapters
│ └── bin/cli.js # CLI entry point
├── frontend/ # React 19 + TypeScript + TanStack Router
│ └── src/
│ ├── components/ # UI components (shadcn/ui)
│ ├── features/ # Feature modules
│ └── lib/ # Utilities, API client
├── electron/ # Electron desktop wrapper
└── package.json # Monorepo root
Backend: Fastify server with Clean Architecture (Domain → Use Cases → Adapters → Infrastructure). SQLite via Drizzle ORM. WebSocket for real-time streaming.
Frontend: React 19, TanStack Router, TanStack Query, shadcn/ui components. Tailwind CSS for styling.
Desktop: Electron shell that bundles the backend server and loads the frontend.
- Node.js >= 18
- npm >= 9
- AI CLI tools installed (at least one):
- Claude Code (
claude) - Gemini CLI (
gemini)
- Claude Code (
git clone https://github.com/therichardngai-code/notecode.git
cd notecode
npm install# Start both frontend and backend in dev mode
npm run dev- Frontend: http://localhost:5173
- Backend: http://localhost:41920
# Build frontend + backend
npm run build# Development
npm run build --prefix backend
# Terminal 1: npm run dev --prefix frontend
# Terminal 2: cd electron && npm run dev
# Production build
npm run build
cd electron && npm run build && npm run package:win # or package:mac, package:linux| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, TanStack Router/Query, shadcn/ui, Tailwind CSS |
| Backend | Node.js, Fastify, Drizzle ORM, SQLite |
| Desktop | Electron, electron-builder, electron-updater |
| AI Providers | Claude Code CLI, Gemini CLI |
| Real-time | WebSocket (Fastify WebSocket) |
We welcome contributions! Please follow these guidelines:
main— stable release branch, protected- Feature branches:
feat/description - Bug fix branches:
fix/description
- Fork & branch — create a feature branch from
main - Keep PRs focused — one feature or fix per PR
- Conventional commits — use
feat:,fix:,chore:,docs:prefixes - Tests must pass — PRs with failing tests will not be merged
- No secrets — never commit API keys,
.envfiles, or credentials - Code review required — all PRs require at least one approval before merge
type(scope): description
feat(backend): add session forking support
fix(frontend): resolve kanban drag-drop on mobile
chore(ci): update release workflow
docs: update README with contributing guide
- Bug fixes with clear reproduction steps
- Performance improvements with benchmarks
- Documentation improvements
- New AI provider adapters
- UI/UX enhancements
- Architectural changes — open an issue first
- New dependencies — justify the addition
- Breaking API changes — requires a migration plan
BSL-1.1 - Business Source License 1.1
Copyright (c) 2026 NoteCode Team