Add help
This commit is contained in:
@@ -73,51 +73,51 @@ class Command::Ai::Translator
|
||||
Commands (/assign, /tag, /close, /search, /clear, /do, /reconsider, /consider) apply new actions.
|
||||
|
||||
Context properties you may use
|
||||
• terms — array of keywords#{' '}
|
||||
• indexed_by — "newest", "oldest", "latest", "stalled", "closed"#{' '}
|
||||
• assignee_ids — array of assignee names#{' '}
|
||||
• assignment_status — "unassigned"#{' '}
|
||||
• card_ids — array of card IDs#{' '}
|
||||
• creator_id — creator’s name#{' '}
|
||||
• collection_ids — array of collections#{' '}
|
||||
• tag_ids — array of tag names#{' '}
|
||||
* terms — array of keywords#{' '}
|
||||
* indexed_by — "newest", "oldest", "latest", "stalled", "closed"#{' '}
|
||||
* assignee_ids — array of assignee names#{' '}
|
||||
* assignment_status — "unassigned"#{' '}
|
||||
* card_ids — array of card IDs#{' '}
|
||||
* creator_id — creator’s name#{' '}
|
||||
* collection_ids — array of collections#{' '}
|
||||
* tag_ids — array of tag names#{' '}
|
||||
|
||||
Explicit filtering rules
|
||||
• Use terms only if the query explicitly refers to cards; plain-text searches go to /search.#{' '}
|
||||
• Numbers without the word "card(s)" default to terms.#{' '}
|
||||
* Use terms only if the query explicitly refers to cards; plain-text searches go to /search.#{' '}
|
||||
* Numbers without the word "card(s)" default to terms.#{' '}
|
||||
– "123" → terms: ["123"]#{' '}
|
||||
– "card 1,2" → card_ids: [1, 2]#{' '}
|
||||
• "X collection" → collection_ids: ["X"]#{' '}
|
||||
• "Assigned to X" → assignee_ids: ["X"]#{' '}
|
||||
• "Created by X" → creator_id: "X"#{' '}
|
||||
• "Stagnated or stalled cards" → indexed_by: "stalled"#{' '}
|
||||
• "Tagged with X", "#X cards" → tag_ids: ["X"]#{' '}
|
||||
• "Unassigned cards" → assignment_status: "unassigned"#{' '}
|
||||
• "My cards" → assignee_ids of requester (if identifiable)#{' '}
|
||||
• "Recent cards" → indexed_by: "newest"#{' '}
|
||||
• "Cards with recent activity" → indexed_by: "latest"#{' '}
|
||||
• "Completed/closed cards" → indexed_by: "closed"#{' '}
|
||||
• If cards are described as state ("assigned to X") and later an action ("assign X"), only the first is a filter.
|
||||
* "X collection" → collection_ids: ["X"]#{' '}
|
||||
* "Assigned to X" → assignee_ids: ["X"]#{' '}
|
||||
* "Created by X" → creator_id: "X"#{' '}
|
||||
* "Stagnated or stalled cards" → indexed_by: "stalled"#{' '}
|
||||
* "Tagged with X", "#X cards" → tag_ids: ["X"]#{' '}
|
||||
* "Unassigned cards" → assignment_status: "unassigned"#{' '}
|
||||
* "My cards" → assignee_ids of requester (if identifiable)#{' '}
|
||||
* "Recent cards" → indexed_by: "newest"#{' '}
|
||||
* "Cards with recent activity" → indexed_by: "latest"#{' '}
|
||||
* "Completed/closed cards" → indexed_by: "closed"#{' '}
|
||||
* If cards are described as state ("assigned to X") and later an action ("assign X"), only the first is a filter.
|
||||
|
||||
Command interpretation rules
|
||||
• /do → engage with card and move it to "doing"#{' '}
|
||||
• /reconsider or /consider → move card back to "considering"#{' '}
|
||||
• Unless a clear command applies, fallback to /search with the verbatim text.#{' '}
|
||||
• When searching for nouns (non-person), prefer /search over terms.#{' '}
|
||||
• Respect the spoken order of commands.#{' '}
|
||||
• "tag with #design" → /tag #design (not a filter)#{' '}
|
||||
• "#design cards" → context.tag_ids = ["design"] (no /tag)#{' '}
|
||||
• "Assign cards tagged with #design to jz"#{' '}
|
||||
* /do → engage with card and move it to "doing"#{' '}
|
||||
* /reconsider or /consider → move card back to "considering"#{' '}
|
||||
* Unless a clear command applies, fallback to /search with the verbatim text.#{' '}
|
||||
* When searching for nouns (non-person), prefer /search over terms.#{' '}
|
||||
* Respect the spoken order of commands.#{' '}
|
||||
* "tag with #design" → /tag #design (not a filter)#{' '}
|
||||
* "#design cards" → context.tag_ids = ["design"] (no /tag)#{' '}
|
||||
* "Assign cards tagged with #design to jz"#{' '}
|
||||
→ context.tag_ids = ["design"]; command /assign jz#{' '}
|
||||
• "close as [reason]" or "close because [reason]" → /close [reason]#{' '}
|
||||
• Lone "close" → /close (acts on current context)
|
||||
* "close as [reason]" or "close because [reason]" → /close [reason]#{' '}
|
||||
* Lone "close" → /close (acts on current context)
|
||||
|
||||
Crucial don’ts
|
||||
• Never use names or tags mentioned inside commands as filters.#{' '}
|
||||
• Never add properties tied to UI view ("card", "list", etc.).#{' '}
|
||||
• All filters, including terms, must live inside context.#{' '}
|
||||
• Do not duplicate terms across properties.#{' '}
|
||||
• Avoid redundant terms.
|
||||
* Never use names or tags mentioned inside commands as filters.#{' '}
|
||||
* Never add properties tied to UI view ("card", "list", etc.).#{' '}
|
||||
* All filters, including terms, must live inside context.#{' '}
|
||||
* Do not duplicate terms across properties.#{' '}
|
||||
* Avoid redundant terms.
|
||||
|
||||
Positive & negative examples
|
||||
|
||||
|
||||
Reference in New Issue
Block a user