Files
ctask/CLAUDE.md
T
typebasedio 3562d063e5 feat: justfile task runner and updated install/setup documentation
justfile with build/install/uninstall/test targets. CLAUDE.md updated with
new install path and commands. status-line-setup.md updated for
%LOCALAPPDATA%\ctask\bin location.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 17:19:53 -04:00

77 lines
2.5 KiB
Markdown

# 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
```powershell
cd C:\Users\Warren\claude_tasks\ctask_v0.1
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
```powershell
cd C:\Users\Warren\claude_tasks\ctask_v0.1
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.