add-team-source
Sync interval in hours. Default 24.
Path to an IacPlan JSON from a prior /nyann:plan run, to apply the exact previewed plan.
> /plugin marketplace add thettwe/nyann > /plugin install nyann@nyann-plugins
How it fires
How this command gets triggered: by you, by Claude, or both.
/applyContext preview
What this command does when you run it.
Path to an IacPlan JSON from a prior /nyann:plan run, to apply the exact previewed plan.
name: nyann:apply
description: >
Apply an Infrastructure-as-Code change — the highest-stakes mutator in
nyann; it can change real cloud infrastructure. Re-runs the plan,
shows it, confirms, then applies. Unmistakably opt-in: apply is never
the default and destructive applies require a second explicit confirm.
For IaC apply intent only (not "apply a patch", "apply formatting", or
DB migrations).
arguments:
- name: unit
description: Repo-relative path of a single module/stack/chart/overlay/playbook to apply. Default applies the whole target root.
optional: true
- name: apply
description: Required to actually mutate. Without it the command previews and exits (preview-by-default).
optional: true
- name: confirm-destroy
description: Required (with an explicit user confirmation) to apply a destructive plan that would destroy/replace resources.
optional: true
- name: dry-run
description: Force preview only — wins over --apply. Nothing is mutated.
optional: true
- name: plan
description: Path to an IacPlan JSON from a prior /nyann:plan run, to apply the exact previewed plan.
optional: true**Plugin root:** This is a Claude Code plugin, NOT a CLI tool. Do NOT search via `which`, `npm list`, `pip list`, or `brew list`. This file is at `<plugin_root>/commands/`. All scripts: `<plugin_root>/bin/`. Read the matching `skills/*/SKILL.md` for the full flow.
Wraps `bin/iac-apply.sh`. **Highest-stakes mutator — can change real cloud infrastructure.** Apply is NEVER the default. Flow:
1. Confirm IaC apply intent + an infra signal (not "apply a patch"). 2. Preview first: `bin/iac-apply.sh --target <cwd> [--unit <path>]` (no `--apply`) → `status:"preview"`, mutates nothing. Show the add/change/destroy summary. 3. Confirm with the user. **AskUserQuestion is MANDATORY on a destructive plan** (any `destroy > 0`, or any advisory plan). 4. Apply: add `--apply` (and `--confirm-destroy --confirmed` ONLY after the user confirms a destroy).
Gate ladder (enforced in the script): plan obtained first → Gate 1 preview-by-default (no `--apply` or any `--dry-run` → preview; `--dry-run` beats `--apply`) → Gate 2 destructive confirmation (destructive plan passes only with `--confirm-destroy true` AND `--confirmed true`, else `refused`) → Gate 3 CLI presence (absent → `skipped`) → execute (tool output goes to your terminal, never captured) → write an IacApplyRecord (metadata only — no secrets/state).
| `.status` | Meaning | |---|---| | `applied` | Apply ran — read `.exit_code`; see `.record_path`. | | `preview` | No `--apply` (or `--dry-run`) — nothing applied. | | `refused` | A gate blocked it (e.g. unconfirmed destroy). Exit 1. | | `skipped` | CLI/backend/creds absent. Exit 0. Nothing applied. |
See `skills/iac-apply/SKILL.md` for the full gate ladder and the DISAMBIGUATION that keeps `/nyann:apply` off the generic word "apply". To only preview → `/nyann:plan`.
ငြမ်း is Burmese for scaffolding. Nyann is the Claude Code plugin that picks expert git defaults for your stack — branching, working hooks (Husky / pre-commit.com / lefthook), commits, releases, CI, docs — then keeps the repo on those rails through every PR
Repo: thettwe/nyann
Sync interval in hours. Default 24.
Optional profile name to apply. If provided, skip stack detection's recommendation step and load this profile via bin/load-profile.sh. Fall back to the skill's…
The branch slug (feature/bugfix/hotfix) or version string (release).
If passed, emit the probe results as JSON instead of the human table.
Branch to use as the merge target. Defaults to the profile's primary base branch (auto-resolved through `origin/HEAD`, `main`, or `master`).
Generate a Conventional Commits message from the staged diff and commit after confirmation. Same flow as the natural-language `commit` skill — dispatches here…