01_Creating_Managing_Artifacts - jezweb/roo-commander GitHub Wiki
🚧 Work in Progress: The IntelliManage features described in this section are currently under development and not yet available for general use. This documentation reflects planned functionality.
This guide explains how to use the fundamental !pm
commands within the chat interface to perform Create, Read, Update, and Delete (CRUD) operations on your IntelliManage project artifacts (Initiatives, Epics, Features, Tasks, Stories, Bugs).
Mastering these commands allows you to efficiently manage your project's work items directly from your development environment. For a complete reference of all commands and options, see the User Interaction & Command Specification (DOC-UI-CMD-SPEC-001
).
- IntelliManage has been initialized in your workspace (See
DOC-SETUP-GUIDE-001
). - You have at least one project configured (e.g., using
!pm init project ...
). - You understand the basic IntelliManage artifact types (Epic, Feature, Task, etc. - see
02_Core_Concepts/06_IntelliManage_Artifacts.md
). - You have set your active project using
!pm set-active <project_slug>
or will use the--project <project_slug>
flag.
This command creates a new artifact file with the specified details.
- Purpose: To add new Initiatives, Epics, Features, Tasks, Stories, or Bugs to your project.
-
Syntax:
!pm create <type> --title "..." [options...]
-
Key Arguments:
-
<type>
(Required):initiative
,epic
,feature
,task
,story
,bug
. -
--title "..."
(Required): The title for the new artifact. -
--project <slug>
(Required if no active project): Specifies the target project. -
--epic <EPIC-ID>
(Required forfeature
): Links the new feature to an Epic. -
--feature <FEAT-ID>
(Required fortask
,story
,bug
): Links the new item to a Feature. -
--type <value>
(Required fortask
/story
/bug
): Sets the specific type (e.g.,--type "🛠️ Task"
). -
--status <value>
(Optional): Sets initial status (defaults usually to Backlog/ToDo). -
--priority <value>
(Optional): Sets priority. -
--assignee <user/role>
(Optional): Assigns the item. -
--tags "tag1,tag2"
(Optional): Adds tags. -
--description "..."
(Optional): Adds initial Markdown description.
-
-
Examples:
!pm create epic --project backend-api --title "Refactor Authentication Module"
!pm create task --project frontend-app --feature FEAT-001 --type "🛠️ Task" --title "Implement login form UI" --priority "🔼 High" --tags "ui,auth,react"
!pm create bug --project backend-api --feature FEAT-010 --type "🐞 Bug" --title "Login fails with special characters" --reporter "User:Alice"
This command displays a list of artifacts matching specified criteria.
- Purpose: To find and view multiple artifacts based on filters like status, type, assignee, tags, or parent links.
-
Syntax:
!pm list <type> [filters...]
-
Key Arguments:
-
<type>
(Required):initiatives
,epics
,features
,tasks
(plural). -
--project <slug>
(Required if no active project). -
--status <value>
(Optional): Filter by status. -
--type <value>
(Optional): Filter by specific type (e.g.,--type "🐞 Bug"
when listing tasks). -
--priority <value>
(Optional): Filter by priority. -
--assignee <user/role>
(Optional): Filter by assignee. -
--tag <tag>
(Optional): Filter by a specific tag. -
--epic <EPIC-ID>
(Optional): List features or tasks linked to this Epic. -
--feature <FEAT-ID>
(Optional): List tasks linked to this Feature. -
--sort <field:asc|desc>
(Optional): Sort results (e.g.,--sort priority:desc
,--sort updated_date:asc
). -
--limit <number>
(Optional): Limit the number of results shown.
-
-
Examples:
!pm list tasks --project frontend-app --status "🟡 To Do"
!pm list features --project backend-api --epic EPIC-005
!pm list tasks --assignee "AI:dev-react" --sort created_date:desc --limit 10
This command displays the full details (TOML metadata and Markdown content) of a single artifact.
- Purpose: To view the complete information for a specific work item.
-
Syntax:
!pm show <type> <ID> [--project <slug>]
-
Key Arguments:
-
<type>
(Required):initiative
,epic
,feature
,task
,story
,bug
. -
<ID>
(Required): The unique ID of the artifact (e.g.,TASK-101
,EPIC-005
). -
--project <slug>
(Required if ID isn't globally unique or no active project).
-
-
Example:
!pm show task TASK-101 --project frontend-app
This command modifies the metadata or content of an existing artifact.
- Purpose: To change status, priority, assignee, title, description, tags, or manage subtasks.
-
Syntax:
!pm update <type> <ID> --field <new_value> [other_updates...]
-
Key Arguments:
-
<type>
(Required):initiative
,epic
,feature
,task
,story
,bug
. -
<ID>
(Required): The unique ID of the artifact to update. -
--project <slug>
(Required if ID isn't globally unique or no active project). -
--title "..."
(Optional): Change the title. -
--status <value>
(Optional): Change the status (validated by methodology). -
--priority <value>
(Optional): Change the priority. -
--assignee <user/role>
(Optional): Change the assignee. -
--add-tag <tag>
(Optional): Add a tag to thetags
array. -
--remove-tag <tag>
(Optional): Remove a tag from thetags
array. -
--description "..."
(Optional): Replace the entire Markdown description. -
--add-subtask "..."
(Optional): Add a new unchecked subtask (- [ ] ...
) to the Markdown body. -
--check-subtask "..."
(Optional): Find and check off (- [x]
) a subtask matching the description. -
--uncheck-subtask "..."
(Optional): Find and uncheck (- [ ]
) a subtask matching the description.
-
-
Important: The
updated_date
field in the TOML is automatically updated on every successful update. -
Examples:
!pm update task TASK-101 --project frontend-app --status "🔵 In Progress" --assignee "User:Dev1"
!pm update feature FEAT-001 --add-tag "refinement-needed"
!pm update task TASK-101 --check-subtask "Implement basic layout"
These commands remove or archive artifacts. Use with caution!
-
Purpose: To permanently remove (
delete
) or move to an archive folder (archive
) artifacts that are no longer needed or are considered fully closed. -
Syntax:
!pm delete <type> <ID> [--project <slug>]
!pm archive <type> <ID> [--project <slug>]
-
Key Arguments:
-
<type>
(Required):initiative
,epic
,feature
,task
,story
,bug
. -
<ID>
(Required): The unique ID of the artifact. -
--project <slug>
(Required if ID isn't globally unique or no active project).
-
- Confirmation: Both commands require explicit user confirmation before execution due to their destructive/permanent nature.
-
Archive Behavior: The
archive
command typically moves the file to a corresponding subdirectory within.ruru/projects/[project_slug]/archive/
and sets the status to"🧊 Archived"
. -
Examples:
-
!pm delete task TASK-099 --project backend-api
(Will ask for confirmation) -
!pm archive epic EPIC-001 --project frontend-app
(Will ask for confirmation)
-
Remember:
- If you only have one project configured, commands usually don't need
--project
. - If you have multiple projects, use
!pm set-active <slug>
to set a default for your session. - Use
--project <slug>
on any command to explicitly target a specific project, overriding the active setting.
These core CRUD and listing commands form the foundation for interacting with your IntelliManage project artifacts. By using them effectively (either directly or through natural language prompts interpreted by the AI), you can keep your project data organized, up-to-date, and readily accessible within your development environment. Always refer to !pm help
or the full command specification (DOC-UI-CMD-SPEC-001
) for more details and advanced options.