AgentStack
SKILL verified MIT Self-run

Monorepo And Tooling

skill-martian56-claude-engineer-monorepo-and-tooling · by martian56

Use when scaffolding a project's repository or adding a new app/package/service, to set up the polyglot monorepo (JS + Python) with shared packages, workspaces, and task orchestration. Run early in Phase 0.

No reviews yet
0 installs
5 views
0.0% view→install

Install

$ agentstack add skill-martian56-claude-engineer-monorepo-and-tooling

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Monorepo And Tooling? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Monorepo & Tooling

Announce at start: "I'm using claude-engineer:monorepo-and-tooling to lay out the polyglot monorepo."

The layout (always a monorepo)

One repo, two dependency graphs side by side:

  • JS side - apps/* (React/Next frontends) + packages/* (ui, config, eslint-config, tsconfig), managed by pnpm (default) or Bun workspaces + Turborepo for caching/task orchestration.
  • Python side - services/* (FastAPI) + libs/* (shared libs) as uv workspace members sharing one uv.lock.
  • Bridge - give each Python service a thin package.json whose scripts shell out to uv, so Turborepo is the single task vocabulary across both languages.

Defaults & decisions

  • JS package manager: ask per project (Bun vs pnpm). Default pnpm for stability unless the user prefers Bun.
  • Shared packages/ui holds the design-system components; packages/config holds Tailwind/token config.
  • Root config: turbo.json, pnpm-workspace.yaml (or Bun workspaces), pyproject.toml (uv workspace), root tsconfig/eslint base.

Non-negotiables

  1. Shared code is a package, not copy-paste - design tokens, UI, types, configs live once and are imported.
  2. Tasks run through Turborepo (dev, build, lint, typecheck, test) for caching and one vocabulary.
  3. App runs native; services in Docker (claude-engineer:docker-dev-environment).

Full detail (concrete directory tree, root config files, workspace wiring, pnpm-vs-Bun trade-offs): read references/polyglot-monorepo.md on demand.

Red flags - STOP

  • Duplicated component/token/type code across apps → extract to a packages/*.
  • Running tasks ad-hoc per app instead of through Turborepo.
  • A single-language repo when the project will clearly have both a frontend and a FastAPI backend.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.