From 2d1d779f4b3188aab6804bb05a2b03e0d1645a08 Mon Sep 17 00:00:00 2001 From: typebasedio Date: Fri, 10 Apr 2026 14:54:06 -0400 Subject: [PATCH] feat(v0.3): show |project marker in status line when CTASK_TYPE=project The task case is byte-for-byte identical to v0.2: (ctask:slug|mode) /workspace/path Project sessions append a single |project marker: (ctask:slug|mode|project) /workspace/path Both helpers (.sh and .ps1) are updated symmetrically. The empty case (no CTASK_TASK) still outputs nothing. Smoke verified: - task default: (ctask:demo|local) /tmp/demo - explicit CTASK_TYPE=task: (ctask:demo|local) /tmp/demo - CTASK_TYPE=project: (ctask:demo|local|project) /tmp/demo - no CTASK_TASK: (silent) --- scripts/ctask-statusline.ps1 | 9 +++++++-- scripts/ctask-statusline.sh | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/scripts/ctask-statusline.ps1 b/scripts/ctask-statusline.ps1 index 3c66c48..495b8cb 100644 --- a/scripts/ctask-statusline.ps1 +++ b/scripts/ctask-statusline.ps1 @@ -1,8 +1,13 @@ # ctask status line helper for Claude Code # Reads ctask environment variables and prints a formatted context string. -# Output: (ctask:|) +# Output (task): (ctask:|) +# Output (project): (ctask:||project) # Outputs nothing when not in a ctask session. if (-not $env:CTASK_TASK) { exit 0 } -Write-Output "(ctask:$($env:CTASK_TASK)|$($env:CTASK_MODE)) $($env:CTASK_WORKSPACE)" +if ($env:CTASK_TYPE -eq 'project') { + Write-Output "(ctask:$($env:CTASK_TASK)|$($env:CTASK_MODE)|project) $($env:CTASK_WORKSPACE)" +} else { + Write-Output "(ctask:$($env:CTASK_TASK)|$($env:CTASK_MODE)) $($env:CTASK_WORKSPACE)" +} diff --git a/scripts/ctask-statusline.sh b/scripts/ctask-statusline.sh index 2ba47f3..d0d87b8 100644 --- a/scripts/ctask-statusline.sh +++ b/scripts/ctask-statusline.sh @@ -1,9 +1,14 @@ #!/usr/bin/env bash # ctask status line helper for Claude Code # Reads ctask environment variables and prints a formatted context string. -# Output: (ctask:|) +# Output (task): (ctask:|) +# Output (project): (ctask:||project) # Outputs nothing when not in a ctask session. [ -z "$CTASK_TASK" ] && exit 0 -echo "(ctask:${CTASK_TASK}|${CTASK_MODE}) ${CTASK_WORKSPACE}" +if [ "$CTASK_TYPE" = "project" ]; then + echo "(ctask:${CTASK_TASK}|${CTASK_MODE}|project) ${CTASK_WORKSPACE}" +else + echo "(ctask:${CTASK_TASK}|${CTASK_MODE}) ${CTASK_WORKSPACE}" +fi