Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.
日本語の概要は準備中です。原文の説明を表示しています。
Use when a cross-workspace import will not resolve — cannot find module @org/*, TS2307 — to link the packages properly with the workspace: protocol instead of patching tsconfig paths.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
One workspace imports another and the import does not resolve. The fix is a dependency declaration, not a resolver override.
Own analysis. The forms and failure modes below are derived from the public behaviour of the package managers named, not adopted from a third-party artefact, so no provenance ledger entry backs them. Verify the protocol support against the manager version the repository actually pins — see § Check the manager, not the table.
Cannot find module '@org/ui' or Cannot find module '@org/ui' or its corresponding type declarations.TS2307, or a bundler resolving a workspace import to undefined.paths patch standing in for a
dependency.The importing workspace's package.json must name the imported workspace in
dependencies (or devDependencies when the import is test-only):
{
"name": "@org/web",
"dependencies": { "@org/ui": "workspace:*" }
}
The name on the left is the imported package's own name field — not its
directory. Then re-run the install so the manager creates the link.
Four forms, and the difference only shows up at publish time:
| Form | Resolves locally to | On publish, rewritten to |
|---|---|---|
workspace:* | the local workspace, any version | the exact version at publish |
workspace:^ | the local workspace | ^<version> |
workspace:~ | the local workspace | ~<version> |
workspace:<range> | the local workspace if its version satisfies <range>, else fails the install | <range> |
For a private monorepo that never publishes, workspace:* is the right default
— it cannot drift out of sync with the local version. For packages that are
published, workspace:^ is what keeps the released range honest.
The explicit-range form is the only one that can fail the install, and that is a feature: it is how a workspace states which version of a sibling it needs.
Protocol support is not uniform. pnpm and Yarn (berry) implement all four forms;
Bun implements the protocol; npm's support arrived later than the others.
Confirm against the version in packageManager / the lockfile rather than
assuming — monorepo-workspace step 1 reports
which manager this repository actually uses.
Where the protocol is unsupported, the correct fallback is still a dependency declaration — the sibling's version range — never a resolver override.
Re-run the failing command, not the editor. A resolved editor and a failing
build is the exact state a paths patch produces, so the build is the probe.
A workspace-link answer MUST contain, in order:
name (not its directory), and the exact error text.package.json path, the section
(dependencies or devDependencies), and the workspace: form chosen, with
one sentence on why that form (private-and-unpublished → workspace:*;
published → workspace:^).packageManager / the lockfile rather than assumed.paths patch produces, so the build is the probe.workspace: dependency on a package that is not actually in the workspace
globs fails with a confusing "not found" — check the globs
(monorepo-workspace step 2) before the
spelling of the name.main / exports /
types). A correct link into a package that exports nothing reads as the same
TS2307.tsconfig.json paths to point at the sibling's source. It
silences the type error in the editor while the runtime and the bundler still
have no dependency to resolve, and it hides the edge from the task runner, so
the affected-set calculation and build ordering both go wrong. A paths entry
is a compiler hint, not a dependency.package.json link fields or the lockfile to point at a
relative path (file:../ui, a hand-written entry under node_modules). It
works once, on one machine, and is undone by the next install.package.json to make the error go
away — the importing workspace is what must declare it.monorepo-workspace — which manager, which workspaces, which graph.monorepo-antipatterns — the task-graph mistakes a paths patch hides.blast-radius-analyzer — § Monorepo, once the edge exists.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.
日本語の概要は準備中です。原文の説明を表示しています。
Use when defining or auditing the activation event — aha-moment selection, retention correlation, falsifiable definition. Triggers on 'what is our aha moment', 'redefine activation'.
日本語の概要は準備中です。原文の説明を表示しています。
Use when capturing an architectural decision — file naming, next ADR number, Status / Context / Decision / Consequences, index regen; fires even without saying 'ADR'.
日本語の概要は準備中です。原文の説明を表示しています。
Adversarial critique — devil's advocate, stress-test, honest teardown ('poke holes', 'be brutal', 'was hältst du davon'); explicit request only. Routine code or design review → code-review.
日本語の概要は準備中です。原文の説明を表示しています。
Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure.
日本語の概要は準備中です。原文の説明を表示しています。
Use for an adversarial red-team / blue-team / auditor review of an AI agent's CONFIG + behaviour (rules, skills, MCP, hooks, permissions) — attack-chain → defensive-gap list, not a code audit.
日本語の概要は準備中です。原文の説明を表示しています。