Issue Tracking
Could not copy markdown source body. Please use "view as markdown".
Creating Issues
Section titled “Creating Issues”Create a top-level issue:
fp issue create --title "Add user dashboard"Create a sub-issue under a parent:
fp issue create --title "Design dashboard layout" --parent FP-abcdAdd a description:
fp issue create --title "Fix login bug" --description "Users can't log in with GitHub OAuth"Set priority:
fp issue create --title "Critical fix" --priority highCustom Properties
Section titled “Custom Properties”Extensions can register custom properties on issues. Use --property to set them:
fp issue create --title "Fix auth" --property labels=frontend,backendfp issue create --title "Deploy" --property labels=infra --property env=stagingUpdate properties on existing issues (replace semantics):
fp issue update FP-abcd --property labels=frontendfp issue update FP-abcd --property labels= # clear the propertyView properties with fp issue show:
fp issue show FP-abcdIssue: FP-abcdTitle: Fix authStatus: todoParent: -Dependencies: -Created: 2026-04-30T10:00:00.000ZUpdated: 2026-04-30T10:00:00.000Z
Properties: labels: frontend, backend
Description:...Multiple --property flags can be combined in a single command. Multiselect properties (like labels) split on commas; text properties preserve commas literally.
The default labels extension is auto-seeded on fp init with options: frontend, backend, infra, design, security, perf.
Listing and Filtering
Section titled “Listing and Filtering”List all issues:
fp issue listFilter by status:
fp issue list --status todofp issue list --status in-progressfp issue list --status doneThe Issue Tree
Section titled “The Issue Tree”fp tree shows the full hierarchy with status indicators:
fp treeFP-abcd [in-progress] [high] Add user dashboard├── FP-efgh [done] Design dashboard layout├── FP-ijkl [in-progress] Implement dashboard API├── FP-mnop [todo] Add dashboard widgets└── FP-qrst [todo] Write dashboard testsComments
Section titled “Comments”Comments are timestamped and attributed to the current agent or user.
Adding a comment
Section titled “Adding a comment”The default form is fp comment add, but you can omit add and use the shorthand:
fp comment add FP-ijkl "Finished the REST endpoints, moving to GraphQL"fp comment FP-ijkl "Shorthand form, identical to 'add'"Read the body from a file instead of the command line with --file:
fp comment add FP-ijkl --file ./progress-notes.mdAttach an image (ingested into the project asset store, then referenced as markdown):
fp comment add FP-ijkl "Here's the crash screenshot" --attach ./crash.pngListing comments
Section titled “Listing comments”List all comments on an issue:
fp comment list FP-ijklFilter and paginate:
fp comment list FP-ijkl --author "alice@example.com"fp comment list FP-ijkl --limit 5fp comment list FP-ijkl --reverse # oldest firstfp comment list FP-ijkl --format json # machine-readable outputEditing a comment
Section titled “Editing a comment”Edit a comment in place. update and edit are interchangeable — both work:
fp comment update <comment-id> "Updated body text"fp comment edit <comment-id> "Same command, friendlier alias"Read the new body from a file:
fp comment update <comment-id> --file ./revised-body.mdThe <comment-id> is the UUID shown in fp comment list. Soft-deleted comments cannot be edited — the command fails with a not-found error.
Deleting a comment
Section titled “Deleting a comment”Delete a comment:
fp comment delete <comment-id>Delete is a soft-delete: the comment is marked with a deletedAt timestamp inside the issue’s Y.Doc, dropped from the full-text search index, and filtered out of fp comment list, fp context, and the desktop app timeline. It stays in the document history so sync peers converge to the same state.
The command is idempotent — calling fp comment delete again on an already-deleted comment returns Comment <id> is already deleted without re-emitting activity entries or extension hooks.
Loading Context
Section titled “Loading Context”Load the full context of an issue (useful for agents switching tasks):
fp context FP-ijklThis outputs the issue details, comments, and related context in a format optimized for AI agents.
Storage
Section titled “Storage”Issue data is stored locally at:
~/.fiberplane/projects/<storage-dir>/├── fp.db # SQLite database├── activity.jsonl # Append-only activity log├── issues/ # Legacy/materialized issue records├── comments/ # Legacy/materialized comment records└── sync-state.toml # Sync stateThe project is registered globally in ~/.fiberplane/projects.toml. Issue data is per-machine.