Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Comments

docs: add research brief for Tasklist CLI design#96

Open
jlevy wants to merge 7 commits intomain from
claude/create-research-brief-1L2pq
Open

docs: add research brief for Tasklist CLI design #96
jlevy wants to merge 7 commits intomain from
claude/create-research-brief-1L2pq

Conversation

@jlevy
Copy link
Owner

@jlevy jlevy commented Jan 7, 2026

Summary

This PR adds a comprehensive research document exploring the design of Tasklist (taskl), a lightweight CLI tool that wraps Markform for simple, file-based task management.

Key additions:

  • New research brief at docs/project/research/current/research-tasklist-cli-design.md
  • Comprehensive analysis of using Markform checkboxes for task lists as an alternative to Beads
  • CLI command structure design (create, add, check, list, archive)
  • Implementation architecture as a thin Markform wrapper
  • Workflow mapping from Beads to Tasklist (what's easy vs hard)
  • Multiple design alternatives with tradeoffs analyzed

Highlights:

  • Uses existing Markform notes for item descriptions (no spec changes needed)
  • Recommends checkboxMode="multi" as default (5 states: todo/active/incomplete/done/na)
  • Leverages Markform's existing atomic write support
  • File-as-database approach (no sync complexity like Beads)

Test plan

  • Document reviewed for consistency with Markform spec
  • Checkbox tokens verified ([*] for active, not [>])
  • Note interface matches spec (includes optional state field)
  • All examples use valid Markform syntax

cmux-agent[bot] reacted with eyes emoji
claude added 5 commits January 7, 2026 02:08
Comprehensive research document exploring a lightweight CLI wrapper
around Markform for simple, file-based task management. Covers:
- Comparison of Beads vs simpler file-based approach
- File format design using Markform checkboxes
- CLI command structure (create, add, check, list, archive)
- Implementation architecture as a thin Markform wrapper
- Multiple design alternatives with tradeoffs
- Integration patterns with agents and existing tools
Extends the research document with comprehensive analysis of:
- Typical Beads workflow (5-15 issue implementation planning)
- Feature-by-feature mapping to Tasklist (easy/medium/hard)
- Multi-paragraph description support (tested working)
- Cross-reference patterns and conventions
- Dependency handling through ordering and phases
- Complete example of task list as implementation plan
- Summary of what works well vs needs conventions vs requires extensions
Key finding: Current Markform capabilities are sufficient for MVP.
Field-level docs support multi-paragraph content, multiple checkbox
fields enable phase-based organization, and checkbox ordering provides
implicit sequencing.
Extends research document with additional design considerations:
- Using Markform notes for item descriptions (existing feature)
- Structured YAML notes for Beads-like metadata per item
- Multi-checkbox mode as default (5 states: todo/active/incomplete/done/na)
- Atomic file writes (already implemented in Markform)
- Frontmatter vs footnotes placement patterns
- Updated CLI command mapping for multi-mode states
Key finding: Markform's existing notes system can attach descriptions
to individual checklist items without spec changes. Multi-mode provides
agent-friendly in_progress state mapping.
- Change `[>]` to `[*]` for active state (spec uses asterisk)
- Add missing `state` field to Note interface documentation
- All checkbox tokens now match Markform spec:
 - `[ ]` todo, `[x]` done, `[/]` incomplete, `[*]` active, `[-]` na
Copy link
Contributor

github-actions bot commented Jan 7, 2026
edited
Loading

Coverage Report for packages/markform

Status Category Percentage Covered / Total
🔵 Lines 64.82% (🎯 60%) 4214 / 6501
🔵 Statements 64.67% (🎯 60%) 4334 / 6701
🔵 Functions 67.41% (🎯 63%) 571 / 847
🔵 Branches 62.81% (🎯 58%) 3068 / 4884
File CoverageNo changed files found.
Generated in workflow #669 for commit 4e31655 by the Vitest Coverage Report Action

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: be7beedf05

i️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 1173 to 1177
interface Note {
id: NoteId; // e.g., "n1", "n2"
ref: Id; // target ID (field, group, form, or option)
role: string; // who created (agent, user, system)
state?: 'skipped' | 'aborted'; // optional: links note to skip/abort action
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot Jan 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Align note schema with current engine types

This section describes Note.ref as supporting option IDs and adds an optional state field for skip/abort (lines 1173–1177), but the current engine Note type only supports refs to fields/groups/forms and has no state property (packages/markform/src/engine/coreTypes.ts:56-61). If Tasklist is designed around per-option notes or skip/abort metadata in notes, the current parser/serializer will drop or reject that data. Consider updating the brief to match the existing spec, or clearly mark these as proposed extensions.

Useful? React with 👍 / 👎.

claude added 2 commits January 7, 2026 02:52
Address PR review feedback:
- Update Note interface to match engine (coreTypes.ts:56-62)
- Clarify that Note.ref supports field/group/form only, NOT options
- Note spec vs implementation gap (spec has state field, engine doesn't)
- Mark per-option notes as "proposed extension" throughout
- Update examples to use field-level refs that work today
- Clarify item_metadata is a proposed extension, not current spec
- Update recommendations to use field-level documentation blocks
New section exploring automatic conversion of plain Markdown checklists
to valid Markform. Key features:
- `markform wrap` command to convert .md to .form.md
- ID generation from headings or positional fallback
- Option ID generation via slugify algorithm
- Checkbox mode defaulting to multi (5 states)
- Edge case handling (nested lists, mixed content, idempotency)
- Workflow integration with validation for CI/CD
This enables drafting plans in familiar Markdown, then converting to
structured Markform for reliable agent manipulation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@chatgpt-codex-connector chatgpt-codex-connector[bot] chatgpt-codex-connector[bot] left review comments

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

2 participants

AltStyle によって変換されたページ (->オリジナル) /