Skip to content
17 changes: 17 additions & 0 deletions .backlog/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
project_name: "doro-cli"
default_status: "To Do"
statuses: ["To Do", "In Progress", "Done"]
labels: []
definition_of_done: ["code coverage is passing, VRTs added for ui changes, tests/linting/typecheck is green."]
date_format: yyyy-mm-dd
max_column_width: 20
default_editor: "subl -w"
auto_open_browser: true
default_port: 6420
remote_operations: true
auto_commit: true
zero_padded_ids: 3
bypass_git_hooks: true
check_active_branches: true
active_branch_days: 20
task_prefix: "doro"
39 changes: 39 additions & 0 deletions .backlog/tasks/doro-001 - Integrate-Backlog.md-into-doro-cli.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
id: DORO-001
title: Integrate Backlog.md into doro-cli
status: Done
assignee:
- '@opencode'
created_date: '2026-05-03 10:10'
updated_date: '2026-05-03 10:21'
labels: []
dependencies: []
---

## Description

<!-- SECTION:DESCRIPTION:BEGIN -->
This task is to fully integrate the Backlog.md task management system into the doro-cli project. This includes migrating existing project plans, setting up the backlog configuration, and creating comprehensive instructions for AI agents.
<!-- SECTION:DESCRIPTION:END -->

## Acceptance Criteria
<!-- AC:BEGIN -->
- [x] #1 backlog init is run successfully within the doro-cli project,Existing 'plans' from doro-cli are identified and migrated into backlog tasks,A unified AGENTS.md file is created in doro-cli with instructions for using backlog,The doro-cli project is fully set up to use backlog for task management
<!-- AC:END -->

## Implementation Plan

<!-- SECTION:PLAN:BEGIN -->
1. **Analyze 'doro-cli' Project Structure:** I'll start by examining the 'doro-cli' project to understand its structure, find the 'existent plans' that need migration, and identify its main functionalities. I'll look for a README.md, package manager files (like package.json), and any existing task or project management files.
2. **Integrate 'Backlog.md':** I will initialize 'Backlog.md' within the 'doro-cli' project directory. This will create the 'backlog/' directory and configuration files. I will then integrate the 'backlog' CLI tool into the 'doro-cli' project's workflow. This might involve adding scripts to package.json or similar configuration files to make 'backlog' commands easily accessible to developers (and agents).
3. **Migrate 'Existent Plans':** Once I've located the existing plans/tasks within 'doro-cli', I'll map their structure to the 'Backlog.md' task format (title, description, acceptance criteria, etc.). I will create a series of commands to read the old tasks and create new tasks in 'Backlog.md' using the 'backlog task create' command for each.
4. **Generate Agent Instructions:** I will consolidate the agent instructions from 'Backlog.md/AGENTS.md' and the existing 'doro-cli/AGENTS.md'. I will create a new 'AGENTS.md' file in the 'doro-cli' project that provides clear instructions for using 'backlog.md' within the 'doro-cli' context. This will include workflow instructions, command examples, and best practices.
5. **Final 'doro-cli' verification** I will verify that doro-cli tasks can be managed and executed by agents without any issues.
<!-- SECTION:PLAN:END -->

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 code coverage is passing
- [ ] #2 VRTs added for ui changes
- [ ] #3 tests/linting/typecheck is green.
<!-- DOD:END -->
33 changes: 33 additions & 0 deletions .backlog/tasks/doro-002 - Usage-Statistics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
id: DORO-002
title: Usage Statistics
status: To Do
assignee: []
created_date: '2026-05-03 10:14'
updated_date: '2026-05-03 10:17'
labels: []
dependencies: []
---

## Description

<!-- SECTION:DESCRIPTION:BEGIN -->
This plan covers recording session statistics to a local file with protection against race conditions from concurrent instances. It adds a new --stats command to display the data.
<!-- SECTION:DESCRIPTION:END -->

## Acceptance Criteria
<!-- AC:BEGIN -->
- [x] #1 Install 'proper-lockfile' dependency to manage concurrent file access.
- [ ] #2 Create 'src/stats.ts' module with file-locking logic for reading and writing 'stats.json'.
- [ ] #3 Integrate session recording into 'DoroApp', calling the stats module upon session completion.
- [ ] #4 Add '--stats' flag handling to 'src/cli.ts' to trigger the stats view.
- [ ] #5 Create 'src/stats-ui.ts' to render the statistics in a clean, responsive, full-screen view.
- [ ] #6 Verify changes by running the type checker and adding new unit tests for the stats logic.
<!-- AC:END -->

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 code coverage is passing
- [ ] #2 VRTs added for ui changes
- [ ] #3 tests/linting/typecheck is green.
<!-- DOD:END -->
34 changes: 34 additions & 0 deletions .backlog/tasks/doro-003 - Fix-Tiny-UI-Volume-Indicator.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
id: DORO-003
title: Fix Tiny UI Volume Indicator
status: To Do
assignee: []
created_date: '2026-05-03 10:14'
labels: []
dependencies: []
---

## Description

<!-- SECTION:DESCRIPTION:BEGIN -->
Currently responsive UI hides volume indicators when doro is tiny (16x3). Add compact volume icons and prioritize volume visibility over lock state for ultra-small terminals. Also fix missing sound indicator on medium screens.
<!-- SECTION:DESCRIPTION:END -->

## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 Analyze current getRunningStatusText fallback logic in src/ui.ts
- [ ] #2 Add compact volume icons (✕♪♫ for volume, ⊘○ for lock) to status candidates
- [ ] #3 Reorder status fallback to prioritize volume indicators in tiny widths
- [ ] #4 Add unit tests for volume indicator visibility at constrained widths
- [ ] #5 Extend VRT tests to capture volume mode states at tiny/ultra-small sizes
- [ ] #6 Verify changes by running the type checker and unit tests
- [ ] #7 Fix missing sound indicator on medium screen sizes
- [ ] #8 Test across all screen sizes (large, medium, small, ultra-small, tiny)
<!-- AC:END -->

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 code coverage is passing
- [ ] #2 VRTs added for ui changes
- [ ] #3 tests/linting/typecheck is green.
<!-- DOD:END -->
33 changes: 33 additions & 0 deletions .backlog/tasks/doro-004 - doro-cli-on-Mobile.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
id: DORO-004
title: doro-cli on Mobile
status: To Do
assignee: []
created_date: '2026-05-03 10:14'
labels: []
dependencies: []
---

## Description

<!-- SECTION:DESCRIPTION:BEGIN -->
This plan explores viable paths to bring doro-cli to mobile. It evaluates zero-code workarounds (SSH, Termux) through to medium-effort in-repo additions (web terminal server) and a longer-term PWA approach.
<!-- SECTION:DESCRIPTION:END -->

## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 Add 'Mobile / Remote Access' section to README.md documenting SSH and Termux paths.
- [ ] #2 Create 'src/serve.ts' — HTTP + WebSocket + node-pty bridge for '--serve' mode.
- [ ] #3 Update 'src/cli.ts' to parse '--serve [port]' and invoke 'serve.ts'.
- [ ] #4 Promote 'node-pty' from 'devDependencies' to 'dependencies' in 'package.json'.
- [ ] #5 Add graceful audio-fallback / '--no-audio' flag to support Termux where audio APIs are unavailable.
- [ ] #6 Open a tracking issue for the PWA companion app (Option D) as future work.
- [ ] #7 Verify changes by running the type checker and unit tests.
<!-- AC:END -->

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 code coverage is passing
- [ ] #2 VRTs added for ui changes
- [ ] #3 tests/linting/typecheck is green.
<!-- DOD:END -->
33 changes: 33 additions & 0 deletions .backlog/tasks/doro-005 - UI-Themes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
id: DORO-005
title: UI Themes
status: To Do
assignee: []
created_date: '2026-05-03 10:14'
labels: []
dependencies: []
---

## Description

<!-- SECTION:DESCRIPTION:BEGIN -->
Introduce a theme manager, add two extra default themes, and persist the selection via config. Extends existing color scheme system from 2 to 4 themes.
<!-- SECTION:DESCRIPTION:END -->

## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 Create 'src/theme.ts' with registry for 'modern', 'calm', 'vivid', 'monochrome' palettes.
- [ ] #2 Refactor UI components to use theme tokens from theme manager.
- [ ] #3 Add '--theme' CLI flag for setting theme at startup.
- [ ] #4 Update config handling to persist selected theme (extends existing colorScheme field).
- [ ] #5 Write unit tests for theme manager.
- [ ] #6 Document usage and customization.
- [ ] #7 Verify changes by running the type checker and unit tests.
<!-- AC:END -->

## Definition of Done
<!-- DOD:BEGIN -->
- [ ] #1 code coverage is passing
- [ ] #2 VRTs added for ui changes
- [ ] #3 tests/linting/typecheck is green.
<!-- DOD:END -->
Loading
Loading