A personal developer toolboxCLI + conventions / v0.2.0
Built for Claude Code

My personal Claude Code kit.
Fork it, make it yours.

Conventions plus a scaffolding CLI. One repo, many stacks, the same setup across my machines.

Vibe-coded personal toolbox, not a product. Copy the pattern. Own your kit.

One command, after setupbash
pk new my-app --stack astro --pm pnpm
01   Fork the kit02   Pick your stack03   Make it yoursmacOS · Linux · Windows

01 / Why this exists

Less setting up.
More getting into it.

I kept rebuilding the same agent setup for every project. This is the reusable part: opinionated conventions, a familiar feature layout, and a small CLI to put them in place.

01

Different stacks. Same workflow.

Skills, commands, hooks, and rules with a shared structure. Keep your bearings when the framework changes.

02

Start fresh. Or start here.

Scaffold a runnable project with pk new, or apply the same conventions to an existing codebase with pk init.

03

Your edits stay yours.

A manifest tracks the kit’s files. Updates preserve local edits and report conflicts so you can review what changes.

02 / The approach

Three layers.
One familiar starting point.

A shared core, a framework layer, and your own decisions on top. The same structure as the mark, carried into every project.

  1. 03

    Project

    Your additions and local edits. Preserved when conventions change.

    .claude/
  2. 02

    Stack

    Framework-specific skills, commands, and a refreshable stack guide.

    conventions/stacks/<id>/
  3. 01

    Core

    The shared baseline: agent workflows, rules, and a common vocabulary.

    conventions/core/
PROJECT / STACK / CORE

Feature structure inspired by Adam Bien’s Boundary–Control–Entity and AIRails. Adapted to each framework’s own folders.

03 / Supported stacks

Pick your stack.
Keep your conventions.

09 STACK DEFINITIONS

Each stack carries its own toolchain, framework guidance, and feature layout. These are the definitions shipped in this kit.

Expo (React Native)

Expo SDK, Expo Router, React Native

pk new my-app --stack expo

Astro

Astro, content collections, view transitions

pk new my-app --stack astro

Next.js

Next.js App Router, React, Tailwind, typical full-stack TS

pk new my-app --stack nextjs

SvelteKit

SvelteKit, runes, Svelte 5

pk new my-app --stack svelte

Python

Python with uv / pytest / ruff / FastAPI

pk new my-app --stack python

Quarkus (MicroProfile)

Quarkus + MicroProfile (JAX-RS, CDI, SmallRye Health) with BCE

pk new my-app --stack quarkus-microprofile

Go

Go 1.26+ with chi router, stdlib, cmd/ + internal/ layout

pk new my-app --stack go

Quarkus (Native CLI)

Quarkus + picocli for GraalVM native-image CLI binaries (fast startup, low memory) with BCE

pk new my-app --stack quarkus-native

Elixir

Elixir 1.19+ with Phoenix 1.8, Mix, ExUnit (BCE under lib/<app>/<feature>/)

pk new my-app --stack elixir

04 / Quickstart

Start with the kit.
Then make it your own.

Node 18+ or Bun 1.1+. Distributed through this repository, with no published npm package. Fork and rename it for your own workflow; replace the clone URL below with your fork.

Clone & installbash
git clone https://github.com/pclshm/pclshm-kit.git
cd pclshm-kit
./bootstrap.sh
pk --help

01 / Make a new project

Choose a stack and get a runnable BCE slice, toolchain declarations, and your agent conventions.

New projectbash
pk new my-app --stack astro --pm pnpm
# Or: pk new my-api --stack python

02 / Bring an existing project

The wizard detects the stack and applies conventions, preserving your project-owned files.

Existing projectbash
cd path/to/existing-project
pk init

03 / Keep it in sync

Preview changes first. Safe updates preserve local edits; conflicts stay visible for review.

Review, then refreshbash
pk update --check
pk update

Machine defaults are separate: pk bootstrap previews existing global conventions. For the full project walkthrough, read EXAMPLE.md ↗.

05 / CLI reference

Small commands.
Useful building blocks.

The same reference you get with pk --help. Start with a project, keep conventions in sync, or inspect the kit.

15 commands
Projectspk new <name> [--stack id] [--pm pnpm|npm|bun|yarn] [--dir parent] [--bare] [--yes] [--json]

Scaffold a project with conventions and a runnable BCE slice. --yes skips every prompt; --json prints one result.

Projectspk init [--stack id] [--yes] [--json] [--no-mise] [--git]

Apply conventions to an existing project with the setup wizard, or headlessly with --yes.

Projectspk detect [--json]

Detect which stack the current directory uses and whether conventions are applied.

Projectspk update [--yes]

Refresh conventions, preserving local edits and reporting conflicts.

Projectspk update --check [--json]

Read-only convention drift report. Exit 1 means review is needed.

Projectspk sync-back

Promote local convention edits back into your kit.

Machinepk bootstrap

Set up machine defaults; preview when global conventions exist.

Machinepk link-global [--apply] [--interactive] [--mode copy|symlink]

Preview global changes. Use --apply to write, backing up conflicts.

Machinepk plan-global [--json]

Read-only global file plan (JSON by default).

Discoverpk list [--json]

List available stacks.

Discoverpk stack show <id> [--json]

Describe one stack: toolchain, scaffolder, seed and the conventions it installs.

Discoverpk stack new <id> [--label text] [--description text]

Create a stack definition to customize.

Discoverpk stack validate [id]

Validate stack definitions. Exit 1 on errors.

Discoverpk describe [--json]

Read product identity and capabilities for Hub discovery.

Discoverpk mcp

Serve the kit as an MCP server over stdio, so an agent host (Playground) drives every feature as tools.

06 / Extend it

Your next stack
is a folder away.

Stacks are data. Create a definition, declare its tools, and add the skills you actually use. The CLI discovers it automatically.

Make it yoursbash
pk stack new my-stack --label "My stack"
# Fill in stack.json: toolchain, detection, scaffolder.
# Add your skills and a seed slice, then validate:
pk stack validate my-stack
pk new my-app --stack my-stack

07 / The pclshm family

HUB INTEGRATION / IN PREPARATION

Your kit, on its own.
A place in Hub, next.

Kit works from your terminal today. The integration foundation lets pclshm-hub discover its version and capabilities when Hub is ready.

One identity, two surfaces
The website and terminal share Kit’s coral accent and straightforward voice.
Kit does the project work
Scaffolding and conventions stay in Kit. Hub is an optional entry point for managing the tools.
Discovery is ready
pk describe --json reports identity and capabilities. Hub installation and update support are still pending.
A CLI has no running state
Kit has no persistent server. The public website does not inspect your machine or report local installation state.