Skip to content

feat: testable local-only install, real CI, Dependabot, docs refresh (v1.6.0) - #1

Merged
bluzername merged 3 commits into
mainfrom
modernize
Sep 17, 2026
Merged

bluzername merged 3 commits into
mainfrom
modernize

Conversation

@bluzername

Copy link
Copy Markdown
Owner

What changed

  • install.sh --local-only (or POWER_STACK_LOCAL_ONLY=1) installs only commands, skills, rules and the CLAUDE.md snippet into $CLAUDE_DIR (default ~/.claude, created if missing) and skips Ghost, Ollama, cc-conversation-search, the ccs binary and completions. Default behaviour is unchanged.
  • verify.sh --local-only checks only the Claude config layout and now verifies all five shipped commands, not just /rename-session. uninstall.sh --yes --local-only skips the prompt and the MCP/ccs/completion removals, and removes every command in commands/ (previously only /rename-session was removed). update.sh honours CLAUDE_DIR.
  • bin/ccs reports 1.6.0. Claude Code docs links follow the redirect chain to https://code.claude.com/docs.
  • CI (.github/workflows/ci.yml): shellcheck at -S style plus bash -n on every script including bin/ccs and the skill scripts, executable bits, py_compile, a real README anchor check (scripts/check_readme_anchors.py, GitHub slug rules), command and skill header checks, required files, an end-to-end install --local-only (twice, snippet appended once) then verify --local-only then uninstall --yes --local-only against $RUNNER_TEMP, ccs --version and ccs help without the optional dependencies, and a dash check. A separate docs job builds docs/cheatsheet.pdf with WeasyPrint on Ubuntu and uploads it as an artifact.
  • .github/dependabot.yml: weekly for GitHub Actions and for docs/requirements.txt (markdown 3.10.3, weasyprint 70.0).
  • README: install flags documented, install step list matches the script, project structure lists the new files, dependency status note added. CONTRIBUTING lists the CI checks. Em and en dashes in the planning skill replaced with hyphens.

Verified locally (macOS, shellcheck 0.11.0, Python 3.13)

  • shellcheck -S style on setup.sh install.sh verify.sh uninstall.sh update.sh bin/ccs and the two skill scripts: clean
  • python3 scripts/check_readme_anchors.py: OK, all 7 README anchors resolve
  • python3 -m py_compile on the four Python files: ok
  • CLAUDE_DIR=$(mktemp -d)/claude bash install.sh --local-only twice: all five commands, the skill and the rule installed; Memory & Context System appears exactly once in the generated CLAUDE.md
  • bash verify.sh --local-only: 8 passed, 0 failed, 0 warnings
  • bash uninstall.sh --yes --local-only: all five commands and the rule removed; asserted absent afterwards
  • bash bin/ccs --version prints ccs 1.6.0; bash bin/ccs help exits 0
  • Upstream check: local cc-conversation-search 0.5.3 still exposes init, index --all, search --json --limit --days --project, which is everything ccs calls
  • ruby -ryaml parse of both YAML files: ok; dash grep over md/sh/py/yml/ccs: none

Skipped

  • docs/cheatsheet.pdf was not regenerated locally: WeasyPrint cannot load libgobject on this machine. The committed PDF is unchanged and the new docs CI job builds it on Ubuntu (untested until the workflow runs; the apt package names follow the WeasyPrint install docs).
  • Full README rewrite: the 578-line README was corrected section by section (install, structure, links, credits) rather than rewritten, since its content already matches the code.
  • No hardcoded model ids or secrets exist in this repo.

install.sh --local-only installs only commands, skills, rules and the
CLAUDE.md snippet (no Ghost, Ollama, cc-conversation-search, ccs binary
or completions) and creates CLAUDE_DIR if needed, so the file layout can
be tested in CI. verify.sh gains the same flag and now checks every
shipped command; uninstall.sh gains --yes and --local-only and removes
every command the repo ships instead of only /rename-session. update.sh
honours CLAUDE_DIR. ccs reports 1.6.0 and the Claude Code docs link
follows its redirect to code.claude.com/docs.
…ncy status

README install section matches what install.sh does (all five commands,
ccs shortcut, completions, CLAUDE.md snippet), the project structure
lists the CI workflow, scripts/ and docs helpers, the docs links follow
the redirect to code.claude.com/docs, and a dependency status note
records that cc-conversation-search upstream has been idle since
December 2025. CONTRIBUTING lists the CI checks. Em and en dashes in
the planning skill replaced with hyphens.
…eekly Dependabot

Replaces the syntax-only workflow with shellcheck on every script,
py_compile, a real README anchor check (scripts/check_readme_anchors.py),
command and skill header checks, an end-to-end install/verify/uninstall
in --local-only mode against a temp CLAUDE_DIR, ccs --version and help
without optional dependencies, and a dash check. A docs job builds the
cheatsheet PDF with WeasyPrint and uploads it as an artifact. Dependabot
covers GitHub Actions and docs/requirements.txt weekly.
@bluzername
bluzername merged commit 89586ba into main Sep 17, 2026
1 of 2 checks passed
@bluzername
bluzername deleted the modernize branch September 17, 2026 10:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant