Skip to content

Title: add --id for custom IDs and --dir for directory organization#12

Open
nthh wants to merge 1 commit intowedow:masterfrom
nthh:feat/custom-id-and-directories
Open

Title: add --id for custom IDs and --dir for directory organization#12
nthh wants to merge 1 commit intowedow:masterfrom
nthh:feat/custom-id-and-directories

Conversation

@nthh
Copy link
Copy Markdown

@nthh nthh commented Jan 14, 2026

Summary

Adds two features for better ticket organization:

  • --id flag for custom ticket IDs
  • --dir flag for organizing tickets into subdirectories
  • --summary flag to show directory progress

Features

Custom IDs (--id)

tk create "My feature" --id my-new-feature
# Creates my-new-feature.md instead of auto-generated m-5c4a.md

Directory Organization (--dir)

# Create ticket in a directory (auto-creates if needed)
tk create "Pipeline v2" --dir pipeline-v2

# Filter commands by directory
tk ls --dir pipeline-v2
tk ready --dir pipeline-v2

# Show all directories with progress (sorted by most recent activity)
tk ls --summary

Example tk ls --summary output:
pipeline-v2          1/3 (33%)  [2 open, 0 in progress]
alpha-release        5/8 (62%)  [2 open, 1 in progress]
(root)               2/10 (20%) [7 open, 1 in progress]

Other Improvements

- ticket_path() now searches subdirectories for partial ID matching
- Ambiguous ID errors now show matching files for easier debugging

Use Case

These features enable organizing tickets by project/feature/release without requiring a separate "epic" abstraction - directories are just directories, and tickets can optionally live in them.

Adds two new features for better ticket organization:

Custom IDs (--id):
- `tk create "Title" --id my-custom-id` uses specified ID instead of auto-generated
- Useful for semantic IDs like `offline-maps` instead of `m-5c4a`

Directory Organization (--dir):
- `tk create "Title" --dir pipeline-v2` puts ticket in `.tickets/pipeline-v2/`
- Directories are auto-created on first use
- `tk ls --dir pipeline-v2` filters to that directory
- `tk ready --dir pipeline-v2` shows ready tickets in directory
- `tk ls --summary` shows all directories with progress stats
  (sorted by most recent activity)

Other improvements:
- `ticket_path()` now searches subdirectories for partial ID matching
- Ambiguous ID errors now show matching files for easier debugging
Nathan-Schwartz added a commit to Nathan-Schwartz/ticket that referenced this pull request Mar 26, 2026
Port upstream PR wedow#12: --id flag for custom ticket IDs, --dir flag for
organizing tickets into subdirectories, and --summary flag for directory
progress stats. Partial ID resolution now searches subdirectories and
ambiguous ID errors show matching files.

Core changes:
- cmd_create: --id and --dir flags
- ticket_path: search subdirs, show matches on ambiguous error
- cmd_ready/cmd_blocked: --dir filter
- cmd_show/cmd_dep_tree/cmd_dep_cycle/cmd_closed: use find for subdir support
- All find calls use -L for symlink compatibility

Plugin changes:
- ticket-ls 1.1.0: --dir filter, --summary mode
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant