Files
ctask/CLAUDE.md
T
typebasedio 2a606053dd docs: anti-guessing guardrails in project CLAUDE.md and seeded workspace template
Add "Repository and Package Identity" rule to both the project-level CLAUDE.md
and the seeded CLAUDE.md template (internal/seed/templates.go). Every new ctask
workspace now inherits guidance against fabricating repo URLs, module paths,
GitHub identities, or remote install commands.

Also adds local-only build/install instructions and data safety invariant
documentation to the project-level CLAUDE.md.

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

1.8 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.

Local build

cd C:\Users\Warren\claude_tasks\ctask_v0.1
go build -o ctask.exe .

Local install (copies to GOPATH/bin)

cd C:\Users\Warren\claude_tasks\ctask_v0.1
go install .

Binary output: C:\Users\Warren\go\bin\ctask.exe

Remote install

Not available. There is no git remote configured and the module path in go.mod is a local placeholder. Do not provide go install <module>@latest commands or any remote install instructions.

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: cd C:\Users\Warren\claude_tasks\ctask_v0.1 && go install . Good: "This project is not published remotely. Build locally with go install ."

Testing

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.