diff --git a/CHANGELOG.md b/CHANGELOG.md index 287b096..46e65f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -61,8 +61,9 @@ Format follows [Keep a Changelog](https://keepachangelog.com/). - **21st.dev moved from an MCP server to a CLI.** `install-plugins.sh` Step 8.7 installs `@21st-dev/cli` globally (pinned in `plugins.lock.json`), offers `21st login` in an interactive terminal only, and stages the 7-skill pack - into `skills-external/21st-*`. `update-all.sh` refreshes both. The pack - ships disabled, same policy the MCP had. + into `skills-external/21st-*`. `update-all.sh` refreshes both. The design + skills follow the profile (on under the default `full`); the two publishing + skills stay parked. - `lib/toggle-external.sh` manages `21st` as a skill pack (glob-derived from `skills-external/21st-*`, parked under plain names so `profile.sh`'s external park/restore stays interoperable). `magic` is gone from the @@ -119,8 +120,28 @@ Format follows [Keep a Changelog](https://keepachangelog.com/). guardrail tampering, pipe-to-shell, nested forms, scripts the command runs). The hook itself is not shipped (BLK-022); the spec skips cleanly until it lands. +- **`lib/tests/profile-default.test.sh`** covers the default-profile + resolution (absent / empty / `none` cache), `reset` = `set full`, the + label-driven `current` lines and the statusline fallback, on a fixture + seeded like a real tree (gstack off, nothing linked). ### Changed +- **Default profile = `full`.** With no selection (`.active-profile` + absent, empty, or the legacy `none`), `full` is in force: statusline, + `profile.sh current`, `gstack off` and `reset` all resolve it the same + way. `profile.sh reset` (and `make profile-reset`) now applies the + default profile, exclusively (= `set full`: enables full's list, parks + non-listed gstack and managed externals). It no longer means "re-enable + all gstack, plugins untouched". `profile.sh current` is label-driven: it + names the cached profile, or the default with "default, not applied yet" + until a `set`/`apply`/`reset` writes the cache, and scores that profile + only. The `none`/`custom` best guess is gone. The statusline shows `full` + instead of `?` when no profile is selected. +- **`make plugin` Step 11 applies the default profile** when none is + selected (`profile.sh reset`) and re-applies an existing selection + (`profile.sh set `), since Steps 2 and 10 rewrite skill state on + every run. Step 8.7 no longer parks the 21st pack unconditionally; the + pack's state follows the profile. - **Routing around a guardrail is the same action** — new `hard_deny` entry: a refused command is never rerun through a wrapper script, alias, heredoc, Makefile target, env file, other shell or other agent; a refusal ends the diff --git a/README.md b/README.md index 2ee2cd5..a6c0545 100644 --- a/README.md +++ b/README.md @@ -172,7 +172,7 @@ a different package, ships its own conflicting `graphify` bin) — see | `/web-validate` | W3C HTML/CSS validity + WCAG 2.1 accessibility audit | | `/geo` | GEO-only audit — AI-search visibility (ChatGPT, Perplexity, Claude, Gemini…) | | `/client-handover` | Final project delivery — audits + branded deliverable (Markdown / HTML / PDF) | -| `/profile` | Activate a skill profile (web / seo / web-full / full / backend / design / dev / qa / audit / minimal) | +| `/profile` | Activate a skill profile (web / seo / web-full / full / backend / design / dev / qa / audit / minimal) (default: full) | | `/tour` | Grouped all-axes sweep — cleanup + security + reconcile + doc, fix and loop until clean | > This table lists personal skills. Gstack skills (investigate, review, retro, @@ -309,8 +309,10 @@ npm i -g @21st-dev/cli `make plugin` does both (Step 8.7 installs the CLI, then offers the login in an interactive terminal) and installs the skill pack that drives it: `21st-ui-build`, `-ui-explore`, `-ui-review`, `-cli-use`, `-ai`, plus the two -publishing skills `-registry` and `-design-sync`. The pack is disabled by -default. `/profile design` turns on the five design skills; +publishing skills `-registry` and `-design-sync`. The five design skills +follow the active profile: they are on under `full`, the default profile, +and under `design`, `web` and `web-full`. The two publishing skills, +`-registry` and `-design-sync`, are in no profile and stay parked until `bash lib/toggle-external.sh enable 21st` turns on all seven. The pack is machine-owned and gitignored. It cannot be installed the way @@ -354,8 +356,8 @@ make onboard # onboard an existing project (run from its dir) make seo-connect # connect a Google account for /seo FULL (OAuth consent) make profile cmd="set X" # activate a skill profile (web/seo/web-full/full/backend/design/dev/qa/audit/minimal) make profile-list # list skill profiles -make profile-current # show the active profile -make profile-reset # re-enable all gstack skills +make profile-current # show the active profile (full when none selected) +make profile-reset # go to the default profile (full) make new-skill name=myskill # scaffold agent + skill files ```