7 Commits

Author SHA1 Message Date
typebasedio bbc41646ee feat(release): add Gitea release-publishing pipeline
Release / release (push) Successful in 27s
- Add scripts/build-release.sh: cross-compile linux+windows amd64 with
  ldflags injecting main.version and main.commit, write
  checksums-sha256.txt and release-manifest.json (full commit SHA).
- Add scripts/release-check.sh: local mirror of CI (test, vet, build,
  --version substring check); falls back to Windows artifact when run
  on a Windows host where the Linux binary can't exec.
- Wire main.version / main.commit -> cmd.SetVersionInfo. Default to
  "dev" / "" so local builds without ldflags still produce a
  sensible string. Output format: single line
  'ctask <version> (<short-sha>)' or 'ctask <version>' / 'ctask dev'.
- Add .gitea/workflows/release.yml: triggered on v* tags, runs-on
  ctask-release (golang:1.26-bookworm). Tag parsed from gitea.ref
  (not gitea.ref_name). Pure shell + Gitea API; no actions/checkout,
  no setup-go, no third-party release action. Installs jq at job
  start. RC tags are deletable+recreatable; final tags are immutable.
  Verify step downloads published assets, sha256sum -c's, and runs
  --version.
- notes.md: log Phase 0/2/3 + version-injection completion.
2026-05-20 15:19:59 -04:00
typebasedio 7a7b2490c2 feat(v0.5.1): Linux portability baseline
- justfile: add build-linux, build-windows, build-all (output to dist/)
- .gitignore: cover ctask, ctask-*, dist/
- scripts/install.sh + scripts/uninstall.sh: POSIX equivalents of .ps1
- remove WorkspacePath metadata field (no production readers; legacy
  task.yaml files continue to parse silently)

Linux smoke-test on WSL/container pending.
See audit-report.md and v0.5.1-spec.md.
2026-05-07 18:22:41 -04:00
typebasedio 0976dce8de feat(v0.5): status line helpers show effective launch path
Both .sh and .ps1 now build an effective display path by joining
CTASK_WORKSPACE with CTASK_LAUNCH_DIR when that variable is set. When
launch_dir is present and differs from the slug, the project tag also
carries ':<launch_dir>' so the display reflects user-overridden
launches. Tasks and pre-v0.5 projects are unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 19:52:43 -04:00
typebasedio 2d1d779f4b 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)
2026-04-10 14:54:06 -04:00
typebasedio 2bdeffc8ae feat: PowerShell uninstall script for Windows
Removes only ctask-owned files from %LOCALAPPDATA%\ctask\bin. Removes PATH
entry only if .ctask-path-added marker exists (ownership tracking). Cleans
empty install directory. Never touches workspace data.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 17:16:47 -04:00
typebasedio dce3317eec feat: PowerShell install script for Windows
Builds from local repo, installs to %LOCALAPPDATA%\ctask\bin, adds to user
PATH with ownership marker (.ctask-path-added) for safe uninstall. Finds Go
in standard install location if not on PowerShell PATH.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 17:15:47 -04:00
typebasedio 8e930c6b7a feat: status line helper scripts and setup documentation
Bash and PowerShell helpers for Claude Code statusLine. Setup docs with fallback note for non-Claude agents.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 18:35:42 -04:00