smithery/creatifcoding

ctl-release

Update and rebuild spikectl or ctl packages in the monorepo

Installation

$ npx skills add smithery/creatifcoding --skill ctl-release

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/creatifcoding · top by installs.

npx skills add smithery/creatifcoding

Browse all from smithery/creatifcoding

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Version5.1-hybrid

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,651 B
  • docs SUMMARY.md 78 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

Option: CTL Release

Initiation (I)

Invoke when:

  • Source code changed in packages/spikectl/ or packages/ctl/
  • Need to rebuild CLI binaries for Nix distribution
  • Updating CLI tools after refactoring

Observation Space (Y)

Observable How to Check
Source modified git status packages/{spikectl,ctl}/src/
Binary stale Compare bin/ mtime vs src/ mtime
TypeScript valid bunx tsc --noEmit

Action Space (U)

Action Command From Directory
compile bun build --compile --minify src/index.ts --outfile bin/<name> packages/<pkg>/
build-nix nix build '.?dir=packages/tmnl#<pkg>' repo root
test-binary ./result/bin/<pkg> --version repo root
update-lock nix flake update <pkg> packages/tmnl/

Policy (π)

STATE: source_changed ∧ ¬binary_updated
  → ACTION: compile

STATE: binary_updated ∧ need_nix_build
  → ACTION: build-nix

STATE: flake_deps_changed
  → ACTION: update-lock → build-nix

STATE: build_complete
  → ACTION: test-binary → TERMINATE

Termination (β)

Condition Exit
./result/bin/<pkg> --version succeeds SUCCESS
TypeScript errors FAIL: fix errors
Nix build fails FAIL: check flake.nix

Q-Heuristics

Situation Guidance
Source-only changes Skip nix flake update - path: inputs evaluate live
New dependencies in flake.nix Must run nix flake update <pkg>
Binary size changed significantly Verify correct bundling

Constraints

  • □(compilebeforenix_build) — Always compile before Nix build
  • □(testafterbuild) — Always verify binary works after build
  • ◇(version_incremented) — Eventually bump version for releases

Commands

Quick Rebuild

cd packages/spikectl
bun build --compile --minify src/index.ts --outfile bin/spikectl

Full Release

cd packages/spikectl
bun build --compile --minify src/index.ts --outfile bin/spikectl
git add bin/spikectl
git commit -m "build(spikectl): v0.x.x"

cd ../..
nix build '.?dir=packages/tmnl#spikectl'
./result/bin/spikectl --version

DevShell Access

nix develop '.?dir=packages/tmnl#tmnl-ctl'
# Now spikectl and ctl are in PATH

Why No Flake Update for Source Changes?

The tmnl flake uses path: inputs:

spikectl = { url = "path:../spikectl"; }

No hash lock → changes picked up on rebuild.