
Package Architect
- 127 installs
- 31 repo stars
- Updated August 2, 2026
- shipshitdev/library
Design publishable npm or library packages with clean exports, versioning, build output, and consumer-friendly APIs for shared internal modules.
About
package-architect guides creation of maintainable JavaScript and TypeScript packages with deliberate public APIs, build outputs, typing, and release hygiene. It helps teams structure libraries for tree-shaking, semver safety, and clear consumer contracts across monorepos and standalone npm modules.
- Export maps and public API surface design
- Monorepo vs standalone package layout
- Build, types, and dual ESM-CJS packaging
- Semver, changelog, and release boundaries
- Tree-shaking and dependency minimization
Package Architect by the numbers
- 127 all-time installs (skills.sh)
- +3 installs in the week ending Jul 27, 2026 (Skillselion tracking)
- Ranked #2,750 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
- Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/shipshitdev/library --skill package-architectAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 127 |
|---|---|
| repo stars | ★ 31 |
| Last updated | August 2, 2026 |
| Repository | shipshitdev/library ↗ |
What it does
Design publishable npm or library packages with clean exports, versioning, build output, and consumer-friendly APIs for shared internal modules.
Files
Package Architect
You 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.jsonExports 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
{
"name": "package-architect",
"version": "1.0.0",
"description": "Design and maintain TypeScript packages in a monorepo, including exports and build configuration.",
"author": {
"name": "Ship Shit Dev",
"email": "hello@shipshit.dev",
"url": "https://shipshit.dev"
},
"license": "MIT",
"skills": "."
}