This monorepo contains shared configuration packages for Nimble projects.
We use Turborepo for build orchestration, npm workspaces for dependency management, and Release Please for automated versioning, changelogs, and publishing.
Legacy @bothrs/ packages have been deprecated on npm and their source code is preserved on the archive/legacy-packages branch.
@nimblestudio/tsconfig— Shared TypeScript configurations@nimblestudio/biome-config— Shared Biome linting and formatting configuration
npm installnpm run build- Create a new directory in
./packages - Add a
package.jsonwith the@nimblestudio/scope (e.g.@nimblestudio/my-package) - Set version to
0.0.0 - Add
build,lint, andtestscripts - Add
"publishConfig": { "access": "public" }for npm publishing
This project enforces conventional commits via commitlint + husky. Every commit message must follow the format:
type(scope): description
Common types: feat, fix, chore, docs, refactor, test
Examples:
feat(tsconfig): add Next.js config variantfix(biome-config): update deprecated rule namechore: update dependencies
The commit hook will reject non-conforming messages.
This project uses Release Please for automated versioning and changelog generation.
How it works:
- Write your code and commit with conventional commit messages
- Open a pull request and merge to main
- Release Please automatically opens a "Release PR" that bumps versions and updates changelogs based on your commit messages
- When the Release PR is merged, the packages are automatically published to npm
feat: commits trigger a minor version bump, fix: commits trigger a patch bump, and feat!: or BREAKING CHANGE: trigger a major bump.