fenceline

Installation
SKILL.md

Fenceline

Use @howells/boundaries for architecture boundary enforcement in JavaScript and TypeScript codebases. The executable is boundaries.

This collection copy is canonical. If @howells/boundaries ships a bundled skill, sync its guidance from this skill rather than maintaining divergent instructions.

State at the start that you are using the fenceline skill.

Workflow

  1. Confirm whether the repo is a Turborepo workspace by checking for turbo.json and workspace packages in package.json, pnpm-workspace.yaml, or equivalent package-manager config.
  2. Install or use @howells/boundaries from the repo's chosen package manager, for example pnpm add -D @howells/boundaries or a one-off npx @howells/boundaries check.
  3. For Turborepo package boundaries, run boundaries init --dry-run --json first.
  4. Review the generated root rules, package tags, and script changes. Fix incorrect tags before applying the generated config.
  5. Run boundaries init only after the dry run looks correct.
  6. Run boundaries check. --json works on every command (init, check, check --profile, and explain) and is the preferred output when an agent consumes the result programmatically. check also accepts --no-turbo to skip the Turbo boundaries backend.
  7. If a violation appears, prefer fixing the import or dependency declaration. The boundaries CLI has no exception flag of its own: an exception is a narrow allow entry added to the Turborepo boundary rules in turbo.json (Turborepo's own mechanism), not something the CLI declares. Add such exceptions only when they stay narrow, temporary, and documented.

To explain a package relationship, run:

Installs
15
Repository
howells/skills
GitHub Stars
2
First Seen
May 21, 2026
fenceline — howells/skills