---
phase: 06-developer-experience
plan: 06-02
type: execute
---

<objective>
Standardize progressive verbosity across all CLI commands for consistent user experience.

Purpose: Provide a unified verbosity system where -v increases detail level progressively across all commands, replacing the current inconsistent mix of boolean and count-based verbosity.
Output: All commands use count=True for verbosity with consistent behavior and documentation.
</objective>

<execution_context>
~/.claude/get-shit-done/workflows/execute-phase.md
./summary.md
</execution_context>

<context>
@.planning/PROJECT.md
@.planning/ROADMAP.md
@.planning/STATE.md
@.planning/phases/06-developer-experience/06-01-SUMMARY.md
@REQUIREMENTS.md (lines 297-307: Progressive Verbosity specification)
@src/n8n_cli/commands/workflow.py (workflow diff already uses count=True as reference)
@src/n8n_cli/commands/execution.py (execution commands use count=True)
@src/n8n_cli/commands/project.py (uses bool, needs update)
@src/n8n_cli/commands/user.py (uses bool, needs update)
@src/n8n_cli/commands/member.py (uses bool, needs update)
</context>

<tasks>

<task type="auto">
  <name>Task 1: Update project, user, and member commands to use progressive verbosity</name>
  <files>src/n8n_cli/commands/project.py, src/n8n_cli/commands/user.py, src/n8n_cli/commands/member.py, tests/commands/test_project.py, tests/commands/test_user.py, tests/commands/test_member.py</files>
  <action>
    Convert all verbose: bool parameters to verbose: int with count=True in three command files:

    **Pattern to follow (from workflow.py line 543 and execution.py):**
    ```python
    verbose: int = typer.Option(0, "-v", count=True, help="Verbosity level (-v, -vv, -vvv, -vvvv)")
    ```

    **Commands to update:**

    project.py:
    - project list: Change `verbose: bool` to `verbose: int` with count=True
    - project view: Change `verbose: bool` to `verbose: int` with count=True
    - Update logic: `if verbose:` → `if verbose >= 1:` for showing IDs
    - Keep existing behavior: -v shows IDs (level 1)

    user.py:
    - user list: Change `verbose: bool` to `verbose: int` with count=True
    - user invite: Change `verbose: bool` to `verbose: int` with count=True
    - user remove: Change `verbose: bool` to `verbose: int` with count=True
    - Update logic: `if verbose:` → `if verbose >= 1:` for showing IDs/details

    member.py:
    - member list: Change `verbose: bool` to `verbose: int` with count=True
    - member add: Change `verbose: bool` to `verbose: int` with count=True
    - member remove: Change `verbose: bool` to `verbose: int` with count=True
    - Update logic: `if verbose:` → `if verbose >= 1:`

    **Test updates:**
    Update test assertions to use `["-v"]` for level 1 verbosity (tests currently check bool=True, should still work).
    Verify tests still pass without changes first, then add tests for multiple verbosity levels if desired.

    Do NOT change workflow.py or execution.py - they already use count=True correctly.
  </action>
  <verify>
    pytest tests/commands/test_project.py tests/commands/test_user.py tests/commands/test_member.py -v passes
    ruff check src/n8n_cli/commands/ passes
  </verify>
  <done>All project, user, and member commands use count=True verbosity with consistent -v flag behavior</done>
</task>

<task type="auto">
  <name>Task 2: Standardize remaining workflow command verbosity</name>
  <files>src/n8n_cli/commands/workflow.py, tests/commands/test_workflow.py</files>
  <action>
    Convert remaining bool verbosity parameters in workflow.py to int with count=True:

    **Commands to update (workflow.py has mix of bool and count):**
    - workflow list (line 21): bool → int count=True
    - workflow view (line 83): bool → int count=True
    - workflow activate (line 140): bool → int count=True
    - workflow deactivate (line 186): bool → int count=True
    - workflow pull (line 234): bool → int count=True
    - workflow push (line 321): bool → int count=True
    - workflow create (line 381): bool → int count=True
    - workflow open (line 622): bool → int count=True
    - workflow delete (line 683): bool → int count=True
    - workflow move (line 741): bool → int count=True

    Keep workflow diff (line 543) - already uses count=True correctly.

    **Update logic:**
    - Change `if verbose:` to `if verbose >= 1:`
    - Keep existing behavior: level 1 shows basic verbose output (IDs, progress)
    - Don't add new verbose levels yet - just standardize the parameter type

    **Test updates:**
    Review tests/commands/test_workflow.py - verify tests still pass (most tests don't check verbose output, should be fine).
  </action>
  <verify>
    pytest tests/commands/test_workflow.py -v passes
    ruff check src/n8n_cli/commands/workflow.py passes
    mypy src/n8n_cli/commands/workflow.py passes
  </verify>
  <done>All workflow commands consistently use int count=True for verbosity parameter</done>
</task>

</tasks>

<verification>
Before declaring plan complete:
- [ ] All commands across all command files use `verbose: int` with `count=True`
- [ ] All test suites pass (project, user, member, workflow)
- [ ] No ruff or mypy errors
- [ ] Manual test: `n8n workflow list -v`, `n8n user list -v`, `n8n project list -v` all show verbose output
- [ ] Help text updated to mention progressive verbosity where appropriate
</verification>

<success_criteria>

- All CLI commands use consistent progressive verbosity pattern
- verbose: int with count=True replaces all bool verbosity parameters
- All tests passing with updated verbosity checks
- No breaking changes to existing command behavior
- Foundation ready for future verbosity level enhancements
  </success_criteria>

<output>
After completion, create `.planning/phases/06-developer-experience/06-02-SUMMARY.md`:

# Phase 6 Plan 2: Progressive Verbosity Standardization Summary

**[Substantive one-liner - what shipped, not "phase complete"]**

## Accomplishments

- Standardized all commands to use int count=True verbosity
- Updated project, user, member commands from bool to progressive verbosity
- Updated remaining workflow commands to consistent pattern
- All tests updated and passing with new verbosity system

## Files Created/Modified

- `src/n8n_cli/commands/project.py` - Progressive verbosity
- `src/n8n_cli/commands/user.py` - Progressive verbosity
- `src/n8n_cli/commands/member.py` - Progressive verbosity
- `src/n8n_cli/commands/workflow.py` - Standardized remaining commands
- `tests/commands/*.py` - Updated test assertions if needed

## Decisions Made

[Document any choices made during implementation]

## Issues Encountered

[Problems and resolutions, or "None"]

## Next Step

Ready for **06-03-PLAN.md (Shell Completion)**.
</output>
