name: add-new-package description: Use when adding any new publishable package in this monorepo (packages/* or providers/*). Covers package scaffolding, release automation wiring, and CI/publish checks.
Add New Package
Purpose
Ensure every new package is publish-ready and wired into release/publish automation on day one.
Mandatory Inputs
- package path (for example
packages/streamorproviders/google) - npm package name (for example
@kortyx/streamor@kortyx/google) - initial version (usually
0.1.0for new packages)
If any are missing, ask before proceeding.
Required References
.github/release-please/config.json.github/release-please/manifest.json.github/workflows/npm-publish.ymlpnpm-workspace.yaml- an existing package
package.jsonin the same root (packages/*orproviders/*)
Workflow
- Create package skeleton:
src/package.jsontsconfig.json(extend../../tsconfig.lib.json)tsconfig.build.json(extend./tsconfig.jsonwith relaxed strictness)README.mdCHANGELOG.md
- Ensure workspace inclusion:
- check
pnpm-workspace.yamlincludes the package root glob. - if using a new root (not
packages/*orproviders/*), add it.
- Wire Release Please:
- add
<path>entry to.github/release-please/config.jsonwith:package-namecomponent
- add
<path>: <version>to.github/release-please/manifest.json.
- Wire npm publish workflow:
- confirm
.github/workflows/npm-publish.ymldiscovers this package root. - if package root is new, update discovery roots.
- Verify package metadata:
private: falsefor publishable packages.repository.directorymatches package path.filesincludes built artifacts and docs.- exports/types/main are valid.
- Run checks:
- package build/type-check
- affected monorepo build/type-check
Validation Commands
From repo root (replace <path> and <name>):
pnpm -C <path> build
pnpm -C <path> type-check
pnpm turbo run type-check --filter=<name>
pnpm build
Done Criteria
- Package compiles and type-checks.
- Release Please includes the package path in config + manifest.
- Publish workflow can discover/publish the package root.
- No manual release steps are required for future versions.