Files

2.5 KiB

ctask Project Guidelines

Build and Install

This project is a local-only Go CLI. It is not published to any package registry or remote repository.

Prerequisites

  • Go 1.26+ (winget install GoLang.Go)
  • just (optional task runner: winget install Casey.Just)

Install on Windows

cd C:\Users\Warren\claude_tasks\ctask
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/install.ps1

Or with just: just install

This builds from the local repo, copies files to %LOCALAPPDATA%\ctask\bin, and adds the directory to user PATH.

Installed file Location
ctask.exe %LOCALAPPDATA%\ctask\bin\ctask.exe
ctask-statusline.sh %LOCALAPPDATA%\ctask\bin\ctask-statusline.sh
ctask-statusline.ps1 %LOCALAPPDATA%\ctask\bin\ctask-statusline.ps1

Uninstall

cd C:\Users\Warren\claude_tasks\ctask
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/uninstall.ps1

Or with just: just uninstall

Removes only ctask files and the PATH entry (if ctask install added it). Does NOT remove workspaces or task data.

Dev build (no install)

just build    # or: go build -o ctask.exe .
just test     # or: go test ./... -v -count=1

Remote install

Not available. There is no git remote configured. Do not provide go install <module>@latest commands.

Repository and Package Identity

Never invent remote repository, package, or module identities. Do not guess GitHub usernames/orgs, repo URLs, Go module paths, release install commands, or package manager coordinates. Only provide remote clone/install/publish commands if they are verified from the actual repo config (e.g. go.mod, git remote -v) or explicitly provided by the user. If publishing/release details are not configured, say so plainly and provide local-only build/install commands instead.

Bad vs Good

Bad: go install github.com/someone/ctask@latest Bad: git clone https://github.com/someone/ctask.git

Good: just install or powershell -File scripts/install.ps1 Good: "This project is not published remotely. Build and install locally."

Testing

just test
# or: go test ./... -v -count=1

Data Safety

The ctask delete command has active-workspace protection:

  1. Checks CTASK_WORKSPACE env var (catches same-session attempts)
  2. Checks for .ctask/manifest-start.json (catches cross-terminal attempts)

Both checks run before any mutation. Any changes to the delete path must preserve this "refuse before mutate" invariant.