Floq - Getting Things Done Task Manager with MS-DOS style themes
npm install floqA terminal-based GTD (Getting Things Done) task manager with MS-DOS style themes.
- TUI Interface: Interactive terminal UI built with Ink (React for CLI)
- GTD Workflow: Inbox, Next Actions, Waiting For, Someday/Maybe, Done (shows last 7 days)
- Kanban Mode: 3-column kanban board view (TODO, Doing, Done)
- Projects: Organize tasks into projects with progress tracking
- Contexts: Tag tasks with contexts (@work, @home, etc.) and filter by context. New tasks inherit the active context filter
- Focus Mode: Mark tasks as "today's focus" (★) and filter to show only focused tasks
- Effort Size: Tag tasks with effort size (S/M/L) to pick the right task for your available time
- Task Search: Quick search across all tasks with /
- Comments: Add notes and comments to tasks
- Cloud Sync: Optional sync with Turso using embedded replicas
- Google Calendar: Display today's events via iCal URL or OAuth integration
- Themes: Multiple themes including MS-DOS nostalgic styles and Dragon Quest RPG style
- Splash Screen: Configurable startup splash with Dragon Quest style for retro themes
- i18n: English and Japanese support
- Vim-style Navigation: Use hjkl or arrow keys
- Setup Wizard: First-run wizard for easy configuration
``bash`
npm install -g floq
`bash`
git clone https://github.com/polidog/gtd-cli.git
cd gtd-cli
npm install
npm run build
npm link
`bash`
floq
| Key | Action |
|-----|--------|
| 1-6 | Switch tabs (Inbox/Next/Waiting/Someday/Projects/Done) |h/l
| or ←/→ | Previous/Next tab |j/k
| or ↑/↓ | Navigate tasks |a
| | Add task |d
| | Mark as done |n
| | Move to Next Actions |s
| | Move to Someday/Maybe |i
| | Move to Inbox |w
| | Move to Waiting For (prompts for person) |p
| | Convert to project |P
| | Link to project |c
| | Set context |@
| | Filter by context |g
| | Toggle focus (★) on selected task |G
| | Toggle focus filter (show only focused tasks) |E
| | Set effort size (S/M/L) |Enter
| | Open task detail / Open project |Esc/b
| | Back |/
| | Search tasks |r
| | Refresh |u
| | Undo |Ctrl+r
| | Redo |?
| | Help |q
| | Quit |
#### Search
| Key | Action |
|-----|--------|
| / | Start search mode |↑/↓
| or Ctrl+j/k | Navigate search results |Enter
| | Jump to selected task's tab and select it |Esc
| | Cancel search |
#### Project Detail View
| Key | Action |
|-----|--------|
| j/k | Navigate tasks |a
| | Add task to project |d
| | Mark task as done |Enter
| | Open task detail |Esc/b
| | Back to projects list |
#### Task Detail View
| Key | Action |
|-----|--------|
| i | Add comment |d
| | Delete selected comment |P
| | Link to project |j/k
| | Navigate comments |Esc/b
| | Back to list / project |
| Key | Action |
|-----|--------|
| 1-3 | Switch columns (TODO/Doing/Done) |h/l
| or ←/→ | Previous/Next column |j/k
| or ↑/↓ | Navigate tasks |a
| | Add task |d
| | Mark as done |m
| | Move task right (→) |Backspace
| | Move task left (←) |c
| | Set context |@
| | Filter by context |g
| | Toggle focus (★) on selected task |G
| | Toggle focus filter (show only focused tasks) |E
| | Set effort size (S/M/L) |Enter
| | Open task detail |/
| | Search tasks |r
| | Refresh |u
| | Undo |Ctrl+r
| | Redo |?
| | Help |q
| | Quit |
#### Task Detail View (Kanban)
| Key | Action |
|-----|--------|
| i | Add comment |d
| | Delete selected comment |j/k
| | Navigate comments |Esc/b
| | Back to board |
On first run, Floq will launch an interactive setup wizard to configure:
- Language (English/Japanese)
- Theme selection
- View mode (GTD/Kanban)
You can also run the wizard manually:
`bash`
floq setup
`bashAdd task
floq add "Task title"
floq add "Task title" -p "Project name"
floq add "Task title" -c work # With context
Configuration
`bash
Show configuration
floq config showSet language
floq config lang en # English
floq config lang ja # JapaneseSet theme (interactive selector with j/k navigation)
floq config themeOr specify directly
floq config theme modern # Default
floq config theme synthwave # Neon 80s aestheticSet view mode (interactive selector)
floq config modeOr specify directly
floq config mode gtd # GTD workflow (default)
floq config mode kanban # Kanban boardSet database path
floq config db /path/to/custom.db
floq config db # Reset to defaultSplash screen settings
floq config splash # Show current setting
floq config splash 3000 # Set to 3 seconds
floq config splash off # Disable splash screen
floq config splash key # Wait for key pressReset database (delete all data)
floq db reset # With confirmation
floq db reset --force # Skip confirmation
`Cloud Sync (Turso)
Floq supports cloud synchronization using Turso, a SQLite-compatible database service. With embedded replicas, your data syncs to the cloud while remaining available offline.
$3
1. Create a Turso database at turso.tech
2. Get your database URL and auth token
3. Configure Floq:
`bash
Enable Turso sync
floq config turso --url libsql://your-db.turso.io --token your-auth-tokenCheck configuration
floq config showManual sync
floq syncDisable Turso sync
floq config turso --disable
`$3
- Embedded Replicas: Local SQLite database syncs with Turso cloud
- Offline Support: Works offline, syncs when connected
- Auto Sync: Background sync every 60 seconds when online
- Separate Database: Turso mode uses
floq-turso.db to avoid conflicts$3
- TUI header shows connection status (cloud icon for Turso, local icon for local mode)
- CLI commands display
🔄 Turso sync: hostname when Turso is enabledGoogle Calendar Integration
Floq can display your Google Calendar events in the TUI. Two methods are available:
$3
Use Google Calendar's secret iCal URL for read-only access without OAuth setup.
`bash
Get your iCal URL from Google Calendar:
Settings > (Your Calendar) > Integrate calendar > "Secret address in iCal format"
floq calendar add "https://calendar.google.com/calendar/ical/..." -n "My Calendar"
floq calendar show
`$3
Use OAuth for better reliability and access to all your calendars.
#### Setup
1. Go to Google Cloud Console
2. Create a project (or select an existing one)
3. Enable Google Calendar API:
- Go to APIs & Services > Library
- Search for "Google Calendar API"
- Click Enable
4. Configure OAuth consent screen:
- Go to APIs & Services > OAuth consent screen
- Select External and click Create
- Fill in app name and required fields
- Add your email to Test users
5. Create OAuth credentials:
- Go to APIs & Services > Credentials
- Click Create Credentials > OAuth client ID
- Application type: TV and Limited Input devices (not "Desktop app")
- Copy the Client ID and Client Secret
#### Configuration
`bash
Set OAuth credentials (or use environment variables)
floq calendar config --client-id "your-client-id.apps.googleusercontent.com" --client-secret "your-secret"Or use environment variables
export GOOGLE_CLIENT_ID="your-client-id.apps.googleusercontent.com"
export GOOGLE_CLIENT_SECRET="your-secret"Login with Google
floq calendar login
→ Opens browser for authentication
→ Enter the displayed code when prompted
Select a calendar
floq calendar select
→ Shows list of your calendars
→ Enter the number to select
View configuration and today's events
floq calendar showRefresh calendar cache
floq calendar syncLogout
floq calendar logout
`$3
`bash
iCal mode
floq calendar add [-n name] # Add iCal URL
floq calendar remove # Remove calendarOAuth mode
floq calendar config --client-id --client-secret
floq calendar login # Google OAuth login
floq calendar logout # Clear OAuth tokens
floq calendar select # Select calendar (interactive)Common commands
floq calendar show # Show config and today's events
floq calendar sync # Refresh cache
floq calendar enable # Enable display
floq calendar disable # Disable display
`Themes
26 themes available. Use
floq config theme for interactive selection (j/k to navigate).Some themes feature a Dragon Quest RPG style UI with titled message boxes, 2-column layouts, and retro splash screens. Themes with DQ-style:
turbo-pascal, msx, pc-98.| Theme | Description |
|-------|-------------|
|
modern | Clean, minimal style (default) |
| norton-commander | MS-DOS file manager style |
| dos-prompt | Green CRT monitor |
| turbo-pascal | Borland IDE style |
| classic-mac | Macintosh System 7 monochrome |
| apple-ii | Apple ][ green phosphor |
| commodore-64 | C64 blue/purple palette |
| amiga-workbench | Amiga orange & blue |
| matrix | Digital rain green |
| amber-crt | Amber monitor |
| phosphor | CRT phosphor glow |
| solarized-dark | Solarized dark palette |
| solarized-light | Solarized light palette |
| synthwave | Neon 80s aesthetic |
| paper | Light minimal theme |
| coffee | Warm brown tones |
| nord | Arctic, north-bluish palette |
| dracula | Dark theme with vibrant colors |
| monokai | Classic editor vivid colors |
| gruvbox | Retro groove warm tones |
| tokyo-night | Tokyo night lights inspired |
| catppuccin | Soothing pastel theme |
| ocean | Deep sea blue theme |
| sakura | Cherry blossom pink |
| msx | MSX computer (TMS9918) |
| pc-98 | NEC PC-9801 style |> Note: Background colors depend on your terminal settings.
Data Storage
- Config:
~/.config/floq/config.json
- Database: ~/.local/share/floq/floq.db (or floq-turso.db` with Turso enabled)MIT