@markjaquith/agency 3.6.2 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -564,7 +564,11 @@ agency validate
564
564
  ### Interactive Actions
565
565
 
566
566
  `agency` with no subcommand (or `agency act`) opens on **Workstream**, a flat list
567
- of non-archived tasks and phases; select an item to see its available actions.
567
+ of non-archived tasks and phases. When run inside an epic, task, phase, or one of
568
+ its checkout descendants, it opens that item's actions first; Escape returns to
569
+ Workstream, where **Tab** reaches global Workbase actions. `agency .` is shorthand
570
+ for `agency act .` and explicitly focuses the item containing the current path.
571
+ Otherwise, select an item to see its available actions.
568
572
  Press **Tab** to cycle to **Workbase** for workbase actions. Both tabs have a blank
569
573
  row above a chevron-prefixed filter with the placeholder “type to filter”.
570
574
  Each tab remembers its filter and selection. The active
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@markjaquith/agency",
3
- "version": "3.6.2",
3
+ "version": "3.7.0",
4
4
  "description": "Manage agentic work across repositories with durable workbases",
5
5
  "keywords": [
6
6
  "agents",
package/src/cli-parser.ts CHANGED
@@ -1355,12 +1355,13 @@ export function parseCli(args: readonly string[]): ParsedCli {
1355
1355
  return { commandPath: "root", args: [], values: parsed.values }
1356
1356
  }
1357
1357
 
1358
- const commandName = args[commandIndex]!
1358
+ const suppliedCommandName = args[commandIndex]!
1359
+ const commandName = suppliedCommandName === "." ? "act" : suppliedCommandName
1359
1360
  const definition: CommandDefinition | undefined =
1360
1361
  commands[commandName as keyof typeof commands]
1361
1362
  if (!definition) {
1362
1363
  throw usageError(
1363
- `Unknown command '${commandName}'.`,
1364
+ `Unknown command '${suppliedCommandName}'.`,
1364
1365
  "agency <command> [options]",
1365
1366
  )
1366
1367
  }
@@ -1405,6 +1406,7 @@ export function parseCli(args: readonly string[]): ParsedCli {
1405
1406
  }
1406
1407
  const commandArgs = [
1407
1408
  ...args.slice(0, commandIndex),
1409
+ ...(suppliedCommandName === "." ? ["."] : []),
1408
1410
  ...args.slice(commandIndex + 1),
1409
1411
  ]
1410
1412
  const parsed = parse(commandArgs, definition.options, definition.usage)
@@ -366,7 +366,7 @@ const actStep = (
366
366
  ? isPath
367
367
  ? pathEntityKey(root, path)
368
368
  : `task:${options.directory}`
369
- : undefined
369
+ : pathEntityKey(root, path)
370
370
  let actionId = options.action
371
371
  if (session && options.directory && isPath && !selectedKey && !actionId)
372
372
  session.activateTab("workbase")