| name | configure |
| description | Use when asked to configure little-loops, change settings, or update ll-config.json. |
| argument-hint | [area] |
| allowed-tools | ["Read","Edit","AskUserQuestion","Bash(mkdir:*)","Bash(python3:*)","Bash(pip:*)"] |
| arguments | [{"name":"area","description":"project|issues|commands|parallel|automation|documents|continuation|context|prompt|scan|sync|allowed-tools|hooks|design-tokens|analytics|learning-tests|decisions|history|loops.run_defaults (optional - prompts if omitted)","required":false},{"name":"flags","description":"Optional flags (--list, --show, --reset)","required":false}] |
| metadata | {"short-description":"Use when asked to configure little-loops, change settings, or update ll-config.j"} |
Configure
Interactively configure specific areas of .ll/ll-config.json without re-running ll-init.
Configuration
Settings are stored in .ll/ll-config.json. See config-schema.json for default values and validation rules.
Process
1. Parse Arguments
AREA="${area:-}"
FLAGS="${flags:-}"
LIST_MODE=false
SHOW_MODE=false
RESET_MODE=false
if [[ "$FLAGS" == *"--list"* ]]; then LIST_MODE=true; fi
if [[ "$FLAGS" == *"--show"* ]]; then SHOW_MODE=true; fi
if [[ "$FLAGS" == *"--reset"* ]]; then RESET_MODE=true; fi
1.5. Pip Package Check
Skip this step if LIST_MODE, SHOW_MODE, or RESET_MODE is true (these modes are informational or destructive, not configuration sessions where a version mismatch matters).
Check whether the installed little-loops pip package is aligned with this plugin version. This is a non-blocking check — display warnings but always proceed. Since configure has no --yes flag, this check is always interactive.
-
Read the PLUGIN_VERSION from the <!-- PLUGIN_VERSION: X.Y.Z --> comment near the top of this file.
-
Detect the installed package version:
python3 -c "import importlib.metadata; print(importlib.metadata.version('little-loops'))" 2>/dev/null
-
Evaluate the result:
Always proceed to Step 2 regardless of results.
2. Area Mapping
Map argument names to config sections:
| Argument | Config Section | Description |
|---|
project | project | Test, lint, format, type-check, build, run commands |
issues | issues | Base dir, categories, templates, capture style |
parallel | parallel | ll-parallel: workers, timeouts, worktree files, feature branches, epic branches |
automation | automation | ll-auto: workers, timeouts, streaming |
documents | documents | Key document categories for issue alignment |
continuation | continuation | Session handoff: auto-detect, includes, expiry |
context | context_monitor | Context monitoring: threshold, limits |
prompt | prompt_optimization | Prompt optimization: mode, confirm, bypass |
commands | commands | Command hooks, confidence gate |
scan | scan | Focus dirs, exclude patterns |
sync | sync | GitHub Issues sync: enabled, label mapping, priorities |
allowed-tools | permissions.allow in .claude/settings.json or .claude/settings.local.json | ll- CLI tool allow entries (Note: writes to Claude Code settings files, not ll-config.json) |
hooks | hooks in .claude/settings.json or .claude/settings.local.json | ll- lifecycle hook configuration (Note: writes to Claude Code settings files, not ll-config.json) |
design-tokens | design_tokens | Design system token settings |
learning-tests | learning_tests | Learning test registry: enabled, stale_after_days, discoverability mode |
decisions | decisions | Decisions log: enabled, log_path, auto_generate |
analytics | analytics | Analytics capture: enabled, skills, corrections, file_events |
history | history | History.db consumer tuning |
loops.run_defaults | loops.run_defaults | Persistent defaults for ll-loop run (clear, show_diagrams, mode, delay) |
Mode: --list
If --list flag is set, display all configuration areas with their status.
Read .ll/ll-config.json and check which sections are configured (vs using defaults).
Output format:
Configuration Areas
-------------------
project [CONFIGURED] Test, lint, format, type-check, build commands
issues [CONFIGURED] Base dir, categories, templates, capture style
parallel [DEFAULT] ll-parallel: workers, timeouts, worktree files, feature branches, epic branches
automation [DEFAULT] ll-auto: workers, timeouts, streaming
commands [DEFAULT] Command hooks, confidence gate
documents [CONFIGURED] Key document categories for issue alignment
continuation [DEFAULT] Session handoff: auto-detect, includes, expiry
context [CONFIGURED] Context monitoring: threshold, limits
prompt [DEFAULT] Prompt optimization: mode, confirm, bypass
scan [CONFIGURED] Focus dirs, exclude patterns
sync [DEFAULT] GitHub Issues sync: enabled, label mapping, priorities
allowed-tools [DEFAULT] ll- CLI tool allow entries in settings.json/settings.local.json
hooks [DEFAULT] ll- hook configuration in settings.json/settings.local.json
design-tokens [DEFAULT] Design system token settings
learning-tests [DEFAULT] Learning test registry: enabled, stale_after_days, discoverability
decisions [DEFAULT] Decisions log: enabled, log_path, auto_generate
analytics [DEFAULT] Analytics capture: enabled, skills, corrections, file_events
history [DEFAULT] History.db consumer tuning
loops.run_defaults [DEFAULT] Persistent defaults for ll-loop run: clear, show_diagrams, mode, delay
Configure: /ll:configure <area>
Show: /ll:configure <area> --show
Reset: /ll:configure <area> --reset
Mark as [CONFIGURED] if the section exists in the config file with any keys.
Mark as [DEFAULT] if the section is absent (using schema defaults).
Stop here if --list mode.
Mode: --show
If --show flag is set with an area, display current values for that area.
Validate area argument - if invalid, show error and list valid areas.
For detailed output formats for each area, see show-output.md.
Stop here if --show mode.
Mode: --reset
If --reset flag is set with an area, remove the section from config.
- Read
.ll/ll-config.json
- Delete the mapped config section (e.g.,
context → delete context_monitor)
- Write updated config back (preserving
$schema and other sections)
- Display confirmation
Output:
Reset: [area] section removed from configuration
Now using schema defaults
View defaults: /ll:configure [area] --show
Stop here if --reset mode.
Mode: Interactive (No Flags)
Step 1: Area Selection
If no area argument provided, use AskUserQuestion to let user select.
IMPORTANT: Group areas logically. Show 4 at a time with "More..." option.
questions:
- question: "Which configuration area do you want to modify?"
header: "Area"
multiSelect: false
options:
- label: "project"
description: "Test, lint, format, type-check, build commands"
- label: "issues"
description: "Base dir, categories, templates, capture style"
- label: "scan"
description: "Focus dirs, exclude patterns"
- label: "More areas..."
description: "Show commands, parallel, automation, documents, continuation, context, prompt"
If "More areas..." selected:
questions:
- question: "Which additional area do you want to configure?"
header: "Area"
multiSelect: false
options:
- label: "commands"
description: "Command hooks, confidence gate"
- label: "parallel"
description: "ll-parallel: workers, timeouts, worktree files, feature branches, epic branches"
- label: "automation"
description: "ll-auto: workers, timeouts, streaming"
- label: "More areas..."
description: "Show documents, sync, continuation, context, prompt, design-tokens"
If "More areas..." selected again:
questions:
- question: "Which area do you want to configure?"
header: "Area"
multiSelect: false
options:
- label: "documents"
description: "Key document categories for issue alignment"
- label: "sync"
description: "GitHub Issues sync: enabled, label mapping, priorities"
- label: "continuation"
description: "Session handoff: auto-detect, includes, expiry"
- label: "More areas..."
description: "Show context, prompt, design-tokens, learning-tests, allowed-tools, hooks"
If "More areas..." selected again:
questions:
- question: "Which area do you want to configure?"
header: "Area"
multiSelect: false
options:
- label: "context"
description: "Context monitoring: threshold, limits"
- label: "prompt"
description: "Prompt optimization: mode, confirm, bypass"
- label: "design-tokens"
description: "Design system token settings"
- label: "More areas..."
description: "Show analytics, history, learning-tests, decisions, allowed-tools, hooks"
If "More areas..." selected again:
questions:
- question: "Which area do you want to configure?"
header: "Area"
multiSelect: false
options:
- label: "analytics"
description: "Analytics capture: enabled, skills, corrections, file_events"
- label: "history"
description: "History.db consumer tuning"
- label: "More areas..."
description: "Show learning-tests, decisions, allowed-tools, hooks"
If "More areas..." selected again:
questions:
- question: "Which area do you want to configure?"
header: "Area"
multiSelect: false
options:
- label: "learning-tests"
description: "Learning test registry: enabled, stale_after_days, discoverability"
- label: "decisions"
description: "Decisions log: enabled, log_path, auto_generate"
- label: "More areas..."
description: "Show allowed-tools, hooks"
If "More areas..." selected again:
questions:
- question: "Which area do you want to configure?"
header: "Area"
multiSelect: false
options:
- label: "allowed-tools"
description: "ll- CLI tool allow entries in settings.json/settings.local.json"
- label: "hooks"
description: "ll- lifecycle hook configuration in settings.json/settings.local.json"
Step 2: Interactive Configuration
Based on selected area, run the appropriate interactive flow.
For detailed area-specific configuration flows, see areas.md.
Step 3: Show Changes
After collecting responses, display what will change:
Changes to apply:
-----------------
[section].[key]: "[old_value]" -> "[new_value]"
[section].[key]: "[old_value]" -> "[new_value]"
...
Apply changes? [Y/n]
If no changes selected (all "keep" options), display:
No changes selected. Configuration unchanged.
Step 4: Update Config
- Read existing
.ll/ll-config.json
- Merge changes into the appropriate section
- Minimal write rule: If a value matches the schema default, remove it from config
- If a section becomes empty after removing defaults, remove the section
- Preserve
$schema reference
- Write updated config
Output on success:
Configuration updated: .ll/ll-config.json
Changes applied:
[section].[key]: [new_value]
View: /ll:configure [area] --show
Arguments
$ARGUMENTS
Examples
/ll:configure --list
/ll:configure project --show
/ll:configure project
/ll:configure context --reset
/ll:configure
Integration
Changes take effect immediately. Commands that read from .ll/ll-config.json will use the updated values.
Related commands:
ll-init - Bootstrap a new project config from the CLI
/ll:toggle-autoprompt - Quick toggle for prompt optimization settings