← back to Cli Printing Press
docs(cli): add local build and plugin dev instructions to README (#77)
bd8444144f27b922ca4282e45a873c7baeea98a4 · 2026-03-30 16:00:35 -0700 · Trevin Chow
The Development section only covered lint setup. Contributors working on
the repo had no guidance on rebuilding the binary or testing local skill
changes. Adds "Build locally" and "Use local skills" subsections, and
fixes the golangci-lint install instructions for v2.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Files touched
Diff
commit bd8444144f27b922ca4282e45a873c7baeea98a4
Author: Trevin Chow <trevin@trevinchow.com>
Date: Mon Mar 30 16:00:35 2026 -0700
docs(cli): add local build and plugin dev instructions to README (#77)
The Development section only covered lint setup. Contributors working on
the repo had no guidance on rebuilding the binary or testing local skill
changes. Adds "Build locally" and "Use local skills" subsections, and
fixes the golangci-lint install instructions for v2.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---
README.md | 28 ++++++++++++++++++++++++----
1 file changed, 24 insertions(+), 4 deletions(-)
diff --git a/README.md b/README.md
index 1e3d2589..4dffcc7d 100644
--- a/README.md
+++ b/README.md
@@ -387,7 +387,27 @@ Safety: GET only, --limit 1, 10s timeout, stops on 401. Never creates, posts, or
## Development
-After cloning, install git hooks so lint errors are caught before they reach CI:
+### Build locally
+
+```bash
+go build -o ./printing-press ./cmd/printing-press
+```
+
+Always use `./printing-press` (relative path). Multiple worktrees may run concurrently - absolute paths like `/tmp/printing-press` will collide.
+
+### Use local skills
+
+The repo is a Claude Code plugin. To test your local skill changes instead of the marketplace version:
+
+```bash
+claude --plugin-dir .
+```
+
+This loads skills, agents, and hooks from your working copy. Inside the session, `/printing-press` runs your local `SKILL.md`, not the installed marketplace version. After editing a skill, run `/reload-plugins` to pick up changes without restarting.
+
+### Lint setup
+
+Install git hooks so lint errors are caught before they reach CI:
```bash
brew install lefthook
@@ -396,14 +416,14 @@ lefthook install
This adds a pre-push hook that runs `golangci-lint` on changed files. The same linter config (`.golangci.yml`) runs in CI - lefthook just catches failures locally first.
-If you also want `golangci-lint` locally:
+If you also want `golangci-lint` locally (v2 required — the config uses `version: "2"`):
```bash
# macOS
brew install golangci-lint
-# or via go
-go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
+# or via the official install script
+curl -sSfL https://golangci-lint.run/install.sh | sh -s -- -b $(go env GOPATH)/bin
```
## Credits
← df6f86c0 docs(cli): replace Discord with HubSpot as hero example
·
back to Cli Printing Press
·
feat(cli): auth onboarding UX for generated CLIs (#78) e1135992 →