mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-13 02:41:50 +08:00
Fix session management location inference and ccw command usage
This commit addresses multiple issues in session management and command documentation: Session Management Fixes: - Add auto-inference of location from type parameter in session.ts - When --type lite-plan/lite-fix is specified, automatically set location accordingly - Preserve explicit --location parameter when provided - Update session-manager.ts to support type-based location inference - Fix metadata filename selection (session-metadata.json vs workflow-session.json) Command Documentation Fixes: - Add missing --mode analysis parameter (3 locations): * commands/memory/docs.md * commands/workflow/lite-execute.md (2 instances) - Add missing --mode write parameter (4 locations): * commands/workflow/tools/task-generate-agent.md - Remove non-existent subcommands (3 locations): * commands/workflow/session/complete.md (manifest, project) - Update session command syntax to use simplified format: * Changed from 'ccw session manifest read' to 'test -f' checks * Changed from 'ccw session project read' to 'test -f' checks Documentation Updates: - Update lite-plan.md and lite-fix.md to use --type parameter - Update session/start.md to document lite-plan and lite-fix types - Sync all fixes to skills/command-guide/reference directory (84 files) All ccw command usage across the codebase is now consistent and correct. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -34,7 +34,7 @@ ccw session list --location active
|
||||
#### Step 1.2: Check for Existing Archiving Marker (Resume Detection)
|
||||
```bash
|
||||
# Check if session is already being archived (marker file exists)
|
||||
ccw session read WFS-session-name --type process --filename .archiving 2>/dev/null && echo "RESUMING" || echo "NEW"
|
||||
ccw session WFS-session-name read .process/.archiving 2>/dev/null && echo "RESUMING" || echo "NEW"
|
||||
```
|
||||
|
||||
**If RESUMING**:
|
||||
@@ -47,7 +47,7 @@ ccw session read WFS-session-name --type process --filename .archiving 2>/dev/nu
|
||||
#### Step 1.3: Create Archiving Marker
|
||||
```bash
|
||||
# Mark session as "archiving in progress"
|
||||
ccw session write WFS-session-name --type process --filename .archiving --content ''
|
||||
ccw session WFS-session-name write .process/.archiving ''
|
||||
```
|
||||
**Purpose**:
|
||||
- Prevents concurrent operations on this session
|
||||
@@ -171,8 +171,8 @@ ccw session archive WFS-session-name
|
||||
|
||||
#### Step 3.2: Update Manifest
|
||||
```bash
|
||||
# Read current manifest using ccw (or create empty array if not exists)
|
||||
ccw session read manifest --type manifest --raw 2>/dev/null || echo "[]"
|
||||
# Check if manifest exists
|
||||
test -f .workflow/archives/manifest.json && echo "EXISTS" || echo "NOT_FOUND"
|
||||
```
|
||||
|
||||
**JSON Update Logic**:
|
||||
@@ -221,8 +221,8 @@ rm .workflow/archives/WFS-session-name/.process/.archiving 2>/dev/null || true
|
||||
|
||||
#### Step 4.1: Check Project State Exists
|
||||
```bash
|
||||
# Check project state using ccw
|
||||
ccw session read project --type project 2>/dev/null && echo "EXISTS" || echo "SKIP"
|
||||
# Check if project.json exists
|
||||
test -f .workflow/project.json && echo "EXISTS" || echo "SKIP"
|
||||
```
|
||||
|
||||
**If SKIP**: Output warning and skip Phase 4
|
||||
@@ -249,11 +249,6 @@ const featureId = title.toLowerCase().replace(/[^a-z0-9]+/g, '-').substring(0, 5
|
||||
|
||||
#### Step 4.3: Update project.json
|
||||
|
||||
```bash
|
||||
# Read current project state using ccw
|
||||
ccw session read project --type project --raw
|
||||
```
|
||||
|
||||
**JSON Update Logic**:
|
||||
```javascript
|
||||
// Read existing project.json (created by /workflow:init)
|
||||
|
||||
@@ -30,7 +30,7 @@ ccw session stats WFS-session
|
||||
|
||||
### Step 3: Read Session Metadata
|
||||
```bash
|
||||
ccw session read WFS-session --type session
|
||||
ccw session WFS-session read workflow-session.json
|
||||
# Returns: session_id, status, project, created_at, etc.
|
||||
```
|
||||
|
||||
@@ -39,8 +39,8 @@ ccw session read WFS-session --type session
|
||||
### Basic Operations
|
||||
- **List all sessions**: `ccw session list`
|
||||
- **List active only**: `ccw session list --location active`
|
||||
- **Read session data**: `ccw session read WFS-xxx --type session`
|
||||
- **Get task stats**: `ccw session stats WFS-xxx`
|
||||
- **Read session data**: `ccw session WFS-xxx read workflow-session.json`
|
||||
- **Get task stats**: `ccw session WFS-xxx stats`
|
||||
|
||||
## Simple Output Format
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ ccw session list --location active
|
||||
|
||||
### Step 2: Check Session Status
|
||||
```bash
|
||||
ccw session read WFS-session --type session
|
||||
ccw session WFS-session read workflow-session.json
|
||||
# Check .status field in response
|
||||
```
|
||||
|
||||
@@ -35,17 +35,15 @@ ccw session list --location active
|
||||
|
||||
### Step 4: Update Session Status to Active
|
||||
```bash
|
||||
ccw session status WFS-session active
|
||||
# Or with full update:
|
||||
ccw session update WFS-session --type session --content '{"status":"active","resumed_at":"2025-12-10T08:00:00Z"}'
|
||||
ccw session WFS-session status active
|
||||
```
|
||||
|
||||
## Simple Commands
|
||||
|
||||
### Basic Operations
|
||||
- **List sessions**: `ccw session list --location active`
|
||||
- **Check status**: `ccw session read WFS-xxx --type session`
|
||||
- **Update status**: `ccw session status WFS-xxx active`
|
||||
- **Check status**: `ccw session WFS-xxx read workflow-session.json`
|
||||
- **Update status**: `ccw session WFS-xxx status active`
|
||||
|
||||
### Resume Result
|
||||
```
|
||||
|
||||
@@ -30,10 +30,17 @@ The `--type` parameter classifies sessions for CCW dashboard organization:
|
||||
| `tdd` | TDD-based development | `/workflow:tdd-plan` |
|
||||
| `test` | Test generation/fix sessions | `/workflow:test-fix-gen` |
|
||||
| `docs` | Documentation sessions | `/memory:docs` |
|
||||
| `lite-plan` | Lightweight planning workflow | `/workflow:lite-plan` |
|
||||
| `lite-fix` | Lightweight bug fix workflow | `/workflow:lite-fix` |
|
||||
|
||||
**Special Behavior for `lite-plan` and `lite-fix`**:
|
||||
- These types automatically infer the storage location (`.workflow/.lite-plan/` or `.workflow/.lite-fix/`)
|
||||
- No need to specify `--location` parameter when using these types
|
||||
- Alternative: Use `--location lite-plan` or `--location lite-fix` directly
|
||||
|
||||
**Validation**: If `--type` is provided with invalid value, return error:
|
||||
```
|
||||
ERROR: Invalid session type. Valid types: workflow, review, tdd, test, docs
|
||||
ERROR: Invalid session type. Valid types: workflow, review, tdd, test, docs, lite-plan, lite-fix
|
||||
```
|
||||
|
||||
## Step 0: Initialize Project State (First-time Only)
|
||||
@@ -75,7 +82,7 @@ ccw session list --location active
|
||||
|
||||
### Step 2: Display Session Metadata
|
||||
```bash
|
||||
ccw session read WFS-promptmaster-platform --type session
|
||||
ccw session WFS-promptmaster-platform read workflow-session.json
|
||||
```
|
||||
|
||||
### Step 4: User Decision
|
||||
@@ -102,7 +109,7 @@ ccw session list --location active
|
||||
# Pattern: WFS-{lowercase-slug-from-description}
|
||||
|
||||
# Create session with ccw (creates directories + metadata atomically)
|
||||
ccw session init WFS-implement-oauth2-auth --type workflow --content '{"project":"implement OAuth2 auth","status":"planning"}'
|
||||
ccw session init WFS-implement-oauth2-auth --type workflow
|
||||
```
|
||||
|
||||
**Output**: `SESSION_ID: WFS-implement-oauth2-auth`
|
||||
@@ -113,7 +120,7 @@ ccw session init WFS-implement-oauth2-auth --type workflow --content '{"project"
|
||||
ccw session list --location active
|
||||
|
||||
# Read session metadata for relevance check
|
||||
ccw session read WFS-promptmaster-platform --type session
|
||||
ccw session WFS-promptmaster-platform read workflow-session.json
|
||||
|
||||
# If task contains project keywords → Reuse session
|
||||
# If task unrelated → Create new session (use Step 2a)
|
||||
@@ -149,10 +156,41 @@ ccw session list --location active
|
||||
|
||||
### Step 2: Create Session Structure
|
||||
```bash
|
||||
# Single command creates directories (.process, .task, .summaries) + metadata
|
||||
ccw session init WFS-fix-login-bug --type workflow --content '{"project":"fix login bug","status":"planning"}'
|
||||
# Basic init - creates directories + default metadata
|
||||
ccw session init WFS-fix-login-bug --type workflow
|
||||
|
||||
# Advanced init - with custom metadata
|
||||
ccw session init WFS-oauth-implementation --type workflow --content '{"description":"OAuth2 authentication system","priority":"high","complexity":"medium"}'
|
||||
```
|
||||
|
||||
**Default Metadata** (auto-generated):
|
||||
```json
|
||||
{
|
||||
"session_id": "WFS-fix-login-bug",
|
||||
"type": "workflow",
|
||||
"status": "planning",
|
||||
"created_at": "2025-12-17T..."
|
||||
}
|
||||
```
|
||||
|
||||
**Custom Metadata** (merged with defaults):
|
||||
```json
|
||||
{
|
||||
"session_id": "WFS-oauth-implementation",
|
||||
"type": "workflow",
|
||||
"status": "planning",
|
||||
"created_at": "2025-12-17T...",
|
||||
"description": "OAuth2 authentication system",
|
||||
"priority": "high",
|
||||
"complexity": "medium"
|
||||
}
|
||||
```
|
||||
|
||||
**Field Usage**:
|
||||
- `description`: Displayed in dashboard (replaces session_id as title)
|
||||
- `status`: Can override default "planning" (e.g., "active", "implementing")
|
||||
- Custom fields: Any additional fields are saved and accessible programmatically
|
||||
|
||||
**Output**: `SESSION_ID: WFS-fix-login-bug`
|
||||
|
||||
## Execution Guideline
|
||||
|
||||
Reference in New Issue
Block a user