mcpField
P
package-architect

package-architect

github.com/shipshitdevDevelopment38173 installsUpdated 2d ago
Repository

About package-architect

A skill for structuring reusable TypeScript packages in Bun, pnpm, or npm workspaces. It guides package boundaries, public exports, TypeScript references, and build organization for monorepos.

Key features

  1. 01Structure reusable TypeScript packages
  2. 02Define stable package exports
  3. 03Configure TypeScript project references
  4. 04Separate build outputs from source
  5. 05Check dependency and configuration consistency

Use cases

  1. 01Creating a package in a monorepo
  2. 02Restructuring workspace packages
  3. 03Setting up package exports and TypeScript references

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/shipshitdev/skills --skill package-architect

After installing, type/package-architectin Claude Code to confirm it loaded.

Bundled filesplugin.json

Details

From the project README

Package Architect

Design reusable TypeScript packages in monorepos (Bun, pnpm, or npm workspaces).

When to Use

  • Creating new packages or restructuring monorepo packages
  • Defining package.json exports
  • Setting up tsconfig references

Core Principles

  • Single responsibility per package.
  • Stable public APIs with clear exports.
  • Avoid inline interfaces; centralize types.
  • Keep build outputs separated from sources.

Package Structure (Example)

packages/
  utils/
    src/
    package.json
    tsconfig.json
  api-client/
    src/
    package.json
    tsconfig.json

Exports Pattern (Example)

{
  "name": "@scope/utils",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "exports": {
    ".": {
      "import": "./dist/index.js",
      "types": "./dist/index.d.ts"
    }
  }
}

TypeScript References

  • Use project references for inter-package dependencies.
  • Prefer path aliases for local dev imports.
  • Keep tsconfig base shared across packages.

Checklist

  • Exports map matches intended public API
  • Types build alongside JS output
  • No circular dependencies
  • Consistent lint and tsconfig settings

Comments

Markdown supported