Archetype-driven pharn init — detect ssr/backend/spa/lib from package.json names + a bounded, symlink-safe file-tree scan |
Shipped |
Resolve applicable capabilities (grillers + lenses) by applies (universal or an intersecting archetype), skipping the rest with a reason |
Shipped |
Fetch pharn-dev/pharn-oss as a SHA-pinned codeload tarball and copy capabilities + fixed product surfaces into the mirrored layout (flat or pharn/) |
Shipped |
Copy the canonical CONSTITUTION.md verbatim + the other trusted docs, upstream's LICENSE and pharn/features/README.md; write pharn.config.json (pharnVersion, skillsVersion, repo, commit, installedAt, archetypes, capabilities, layout, models, seam) and pharn.records.json |
Shipped |
pharn add <name | role:name> — add one capability to an existing project |
Shipped |
pharn remove <name | role:name> — remove an installed capability (no clone, no network) |
Shipped |
pharn update — re-resolve recorded archetypes and re-fetch capabilities at the latest version |
Shipped |
pharn list — read-only inventory of installed archetypes + capabilities (--json) |
Shipped |
pharn status — read-only version + capability-drift report (modified/missing/unreadable PHARN-owned files; --strict, --no-drift) |
Shipped |
pharn.records.json — a sha256 of every installed file, so update can tell pharn's bytes from your edits |
Shipped |
Drift-safe update — per-file decisions, --force with .pharn-backup/<timestamp>/ (also written by add) |
Shipped |
Single-writer lock (.pharn.lock) for init/add/remove/update; list/status never take it |
Shipped |
MIN_CLI forward-compatibility gate — refuses cleanly when upstream needs a newer CLI |
Shipped |
Proxy-environment warning — Node's fetch reads no proxy variable, so a configured one is reported as unused |
Shipped |
| Per-command option allowlist — an option a command does not take exits 1 instead of being ignored |
Shipped |
Interactive-only init/update (exit 1 off a TTY; update --yes for CI) + the capability picker for bare add/remove |
Shipped |
seam block written and validated on every fresh install |
Shipped |
pharn-oss's models block — copied by init, kept or upgraded by update (which converts the format pharn wrote before 0.7.0), shown resolved per stage by status |
Shipped |