Commit Graph
7 Commits
Author SHA1 Message Date
dev be2d445a09 fix(install): require git alongside Node (pi install git: needs it)
Found in a clean cps sandbox run: a machine without git passes the Node check
but fails later inside 'pi install git:...' with an unclear error. Now checked
up front with an actionable message. CHANGELOG updated.

Decision on optionalDependencies (@modelcontextprotocol/sdk): KEEP. The heavy
install observed in the sandbox (~317 packages) is dominated by npm>=7
auto-installing the Pi peerDependencies stack, not the MCP SDK; removing the
SDK saves little and would make MCP enablement fragile across pi updates.
2026-07-16 15:12:12 +03:00
dev 3f987cecc5 feat(release): install channels (stable/beta) + RELEASING/CHANGELOG
- install.sh installs a moving channel ref: git:...@stable by default, PI_KIT_CHANNEL=beta|vX.Y.Z to override; pi update follows the channel
- cheat sheet shows channel + new commands (/kit-doctor, /kit-help)
- RELEASING.md: channel/tag release + rollback process; CHANGELOG.md (Keep a Changelog)
- supersedes earlier 'no ref = latest' for controlled rollout

Verified: install.sh syntax + channel resolution (stable default, beta/tag override).
2026-07-16 13:50:27 +03:00
dev a6a4d4fee3 feat(install): interactive environment setup (URLs + secrets)
- prompt TRACKER_URL (visible, current value as default) and JIRA_TOKEN/GITLAB_TOKEN/provider key (hidden read -rs, never echoed) via /dev/tty (works under curl|bash)
- persist to ~/.config/pi-kit/env.sh (umask 077 => chmod 600), sourced from shell rc via idempotent managed block
- ask provider key only if none already set; empty input keeps existing value; re-runs load stored values as defaults
- non-interactive / PI_KIT_SETUP_ENV=0 falls back to printed guidance
- README documents the flow, env.sh, and the skip switch

Unit-tested: single-quote escaping round-trip, 600 perms, empty-value omission, rc-block idempotency.
2026-07-16 12:56:35 +03:00
dev e98e4ca9ae feat(skills): add kotlin-standards + swift-standards for mobile profile
- kotlin-standards: gradle build/test, ktlint/detekt, Android lint; company specifics TODO
- swift-standards: SwiftPM/xcodebuild, swiftformat/swiftlint, XCTest; company specifics TODO
- wire mobile profile -> kotlin+swift; 'all' now includes both; README matrix updated
- verified all six *-standards skills load via pi RPC
2026-07-16 12:31:12 +03:00
dev fbf10b0521 feat(install): profile-based skill gating + public skills
- prompt for profile (frontend/backend/qa/mobile) via /dev/tty (works under curl|bash); PI_KIT_PROFILE env fallback
- gate bundled skills per profile by rewriting the pi-kit entry in settings.json to object-form {source, skills:[...]}; prompts/extensions stay ungated
- install common public skills for everyone (grill-me, grill-with-docs, code-review, diagnosing-bugs from mattpocock/skills) and profile-specific (frontend-design from anthropics/skills) via npx skills add --global
- README: profiles table + gating mechanism for maintainers

Verified: gating logic (string->object, idempotent, other packages preserved), live backend-profile load via RPC (ts excluded, prompts intact), npx skills add --global lands in ~/.agents/skills without cwd pollution, all 4 common skills exist in mattpocock/skills (diagnose is 'diagnosing-bugs').
2026-07-16 12:15:07 +03:00
dev bc4ceb100d fix(install): make provider check provider-agnostic
Engineers use different LLM providers (Anthropic/OpenAI/OpenRouter/...); the
package does not pin a provider or model. install.sh now accepts any known
provider key and README states provider-agnosticism explicitly.
2026-07-16 11:28:12 +03:00
dev 927010e4bf feat: add idempotent install.sh bootstrap script
- checks Node >= 20, installs Pi if missing, runs pi install with PI_KIT_REPO (single source of the repo address, no version ref)
- verifies API key env var (Anthropic/proxy TODO), prints where to get it
- prints cheat sheet: run, update, commands, internal course link (TODO)
2026-07-16 11:00:47 +03:00