monorepo — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited monorepo (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Project-specific patterns for pnpm workspaces + Turborepo.
apps/ for deployables, packages/ for shared libraries.@org/ to avoid npm conflicts.pnpm-lock.yaml at root only. Never commit multiple lockfiles.../ to reach into other packages; import via dependencies.pnpm-workspace.yaml for large repos."dependsOn": ["^build"] for topological order."persistent": true, "cache": false.env or globalEnv.outputs in turbo.json silently disables caching for that task. The task runs every time and you won't get an error — just slow builds. Always verify outputs are configured.pnpm install does NOT respect --filter for installation — it always installs the entire workspace. Filtering only works for pnpm run and pnpm exec.workspace:* resolves to the CURRENT version of the local package, not "latest from npm". If the package has "version": "0.0.0", published packages will have "dependency": "0.0.0" — set meaningful versions before publishing.env field in turbo.json uses GLOB patterns, not exact matches. "env": ["API_*"] captures API_KEY, API_URL, etc. Forgetting this causes over-invalidation.turbo run build --filter=app-a builds app-a AND all its workspace dependencies. If a dependency fails, app-a won't build. Check transitive deps.packages/ requires running pnpm install before the workspace recognizes it. The new package also needs a valid package.json with name matching the workspace pattern.references in tsconfig.json) must match the workspace dependency graph. Mismatches cause type errors that only appear during tsc --build, not in IDE.turbo.json's globalDependencies invalidates ALL tasks when listed files change. Don't put frequently-changed files here — use task-level inputs instead.@source directives pointing to consuming packages' source directories, otherwise classes used in shared packages are purged.pnpm deploy (for production) copies a single package and its dependencies to a target directory. It does NOT run build scripts — build first, then deploy.outputs to be correct. If outputs are wrong, cached artifacts will be incomplete and downstream tasks break silently.persistent: true tasks prevent turbo run from exiting. Don't include persistent tasks in CI pipelines unless they have a timeout.| When you need... | Read |
|---|---|
| workspace.yaml, workspace: protocol, filtering | pnpm-workspace.md |
| turbo.json schema, tasks, dependsOn | turborepo.md |
| Cache outputs/inputs, remote cache setup | caching.md |
| Directory layout, package naming, tsconfig | structure.md |
| Tailwind v4 shared theme package | tailwind-v4.md |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.