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>
This commit is contained in:
@@ -4,25 +4,49 @@
|
||||
|
||||
This project is a local-only Go CLI. It is not published to any package registry or remote repository.
|
||||
|
||||
### Local build
|
||||
### 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
|
||||
go build -o ctask.exe .
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/install.ps1
|
||||
```
|
||||
|
||||
### Local install (copies to GOPATH/bin)
|
||||
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
|
||||
go install .
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/uninstall.ps1
|
||||
```
|
||||
|
||||
Binary output: `C:\Users\Warren\go\bin\ctask.exe`
|
||||
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 and the module path in `go.mod` is a local placeholder. Do not provide `go install <module>@latest` commands or any remote install instructions.
|
||||
Not available. There is no git remote configured. Do not provide `go install <module>@latest` commands.
|
||||
|
||||
## Repository and Package Identity
|
||||
|
||||
@@ -33,13 +57,14 @@ Never invent remote repository, package, or module identities. Do not guess GitH
|
||||
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 .`"
|
||||
Good: `just install` or `powershell -File scripts/install.ps1`
|
||||
Good: "This project is not published remotely. Build and install locally."
|
||||
|
||||
## Testing
|
||||
|
||||
```
|
||||
go test ./... -v -count=1
|
||||
just test
|
||||
# or: go test ./... -v -count=1
|
||||
```
|
||||
|
||||
## Data Safety
|
||||
|
||||
@@ -4,33 +4,44 @@
|
||||
|
||||
ctask includes helper scripts that display task context in Claude Code's status line.
|
||||
|
||||
### Prerequisites
|
||||
|
||||
Run `scripts/install.ps1` (or `just install`) first. This places the helper scripts at:
|
||||
|
||||
- Windows: `%LOCALAPPDATA%\ctask\bin\ctask-statusline.sh`
|
||||
- Unix: copy `scripts/ctask-statusline.sh` to `~/.local/bin/`
|
||||
|
||||
### Setup
|
||||
|
||||
Add one of the following to your `~/.claude/settings.json`:
|
||||
Add the following to your `~/.claude/settings.json`:
|
||||
|
||||
**Linux / macOS (bash):**
|
||||
**Windows (after install):**
|
||||
|
||||
```json
|
||||
{
|
||||
"statusLine": {
|
||||
"type": "command",
|
||||
"command": "bash /path/to/ctask-statusline.sh"
|
||||
"command": "bash /c/Users/<you>/AppData/Local/ctask/bin/ctask-statusline.sh"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Windows (PowerShell):**
|
||||
Replace `<you>` with your Windows username.
|
||||
|
||||
**Linux / macOS:**
|
||||
|
||||
```json
|
||||
{
|
||||
"statusLine": {
|
||||
"type": "command",
|
||||
"command": "powershell -NoProfile -File C:\\path\\to\\ctask-statusline.ps1"
|
||||
"command": "bash ~/.local/bin/ctask-statusline.sh"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Replace `/path/to/` with the actual location of the script.
|
||||
### Verify
|
||||
|
||||
Run `ctask doctor` to check that the status line is configured correctly.
|
||||
|
||||
### Output
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
# ctask developer task runner
|
||||
# Requires: Go 1.26+, PowerShell 7+ (for install/uninstall)
|
||||
# Install just: winget install Casey.Just
|
||||
|
||||
# Default: show available targets
|
||||
default:
|
||||
@just --list
|
||||
|
||||
# Compile ctask from the local repo
|
||||
build:
|
||||
go build -o ctask.exe .
|
||||
|
||||
# Run the full test suite
|
||||
test:
|
||||
go test ./... -v -count=1
|
||||
|
||||
# Install ctask to %LOCALAPPDATA%\ctask\bin (Windows, PowerShell)
|
||||
install:
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/install.ps1
|
||||
|
||||
# Uninstall ctask from %LOCALAPPDATA%\ctask\bin (Windows, PowerShell)
|
||||
uninstall:
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/uninstall.ps1
|
||||
Reference in New Issue
Block a user