π Configurations and tools for developers (VERY opinionated)
This repo serves a dual purpose:
@bepower/devβ CLI tool that bootstraps projects, distributes golden configs, and installs Kiro AI agents- Org-wide defaults β GitHub community health files (CONTRIBUTING, SECURITY, issue/PR templates) inherited by all BePower repos
- Node.js >= 22
- npm (not pnpm or yarn)
- Access to GitHub Packages for
@bepowerscope
npm install -g @bepower/devScaffold a new project with standard configuration.
# Single projects (--template required)
dev bootstrap @bepower/my-lib -t lib # npm library
dev bootstrap @bepower/my-infra -t cdk # CDK application
dev bootstrap @bepower/my-service -t nestjs # NestJS ECS microservice
# Monorepo (shell only, then use `dev add`)
dev bootstrap @bepower/my-project --monorepoWhat it does:
- Copies the root template (single or monorepo shell)
- For single projects: overlays the package template (lib/cdk/nestjs)
- Applies golden configs (biome, tsconfig, vitest, lefthook, etc.)
- Merges devDependencies and scripts into
package.json - Copies base GitHub Actions workflows
- Runs
npm installand creates initial git commit
Add a package to a monorepo.
dev add packages/shared -t lib # npm library package
dev add packages/infra -t cdk # CDK infrastructure
dev add packages/backend -t nestjs # NestJS microserviceWhat it does:
- Copies the package template into the specified path
- Updates root
package.jsonworkspaces if needed - Sets up package.json with correct name, repository, and directory
Add golden configs to an existing project.
cd existing-project
dev setup # Copy configs (skip existing files)
dev setup --force # Overwrite existing configs with latest golden versionsWhat it does:
- Detects monorepo (workspaces) and selects appropriate config variants
- Copies config files (only if they don't already exist, unless
--force) - Merges devDependencies and scripts into
package.json - Adds base GitHub Actions workflows
Install the bepower-setup Kiro agent globally for AI-assisted project configuration.
dev init-kiroThese files are copied (not extended) to target projects:
| Config | Description |
|---|---|
biome.json |
Biome linter + formatter (single quotes, 100 width, import sorting) |
tsconfig.json |
Extends @tsconfig/node22 |
vitest.config.ts |
Vitest + v8 coverage (workspace variant for monorepos) |
lefthook.yml |
Git hooks (pre-commit pipeline, commit-msg) |
commitlint.config.ts |
Conventional commits |
tsdown.config.ts |
Build with tsdown (workspace variant for monorepos) |
.editorconfig |
Editor settings |
.lockfile-lintrc.json |
Lockfile security |
.npmpackagejsonlintrc.json |
package.json validation |
.npmrc |
GitHub Packages registry for @bepower scope |
BePower/.github/
βββ .github/
β βββ ISSUE_TEMPLATE/ # Org-wide issue templates (bug, feature)
β βββ PULL_REQUEST_TEMPLATE.md # Org-wide PR template
β βββ workflows/ # CI for this repo
βββ profile/
β βββ README.md # GitHub org profile
β
βββ cli/ # CLI source
β βββ commands/ # bootstrap, setup, add, init-kiro
β βββ utils/ # Shared utilities (configs, paths, templates)
βββ configs/ # Golden config files (copied to target projects)
βββ kiro/ # Kiro AI templates (agent, prompt, steering, skills)
β βββ steering/ # Single source of truth for steering docs
βββ workflows/ # GitHub Actions templates (distributed by dev setup)
β βββ base/ # CI, PR, security, dependabot
β βββ library/ # npm publish
β βββ docs/ # Documentation site
βββ templates/ # Scaffold templates
β βββ root/ # Root templates (single, monorepo)
β βββ package/ # Package templates (lib, cdk, nestjs)
βββ docs/ # Architecture Decision Records
β
βββ CONTRIBUTING.md # Org-wide contribution guidelines
βββ SECURITY.md # Org-wide security policy
βββ CODE_OF_CONDUCT.md # Org-wide code of conduct
βββ README.md # This file
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β @bepower/dev CLI β
βββββββββββββββββ¬βββββββββββ¬βββββββββββββββ¬βββββββββββββββββββββ€
β bootstrap β add β setup β init-kiro β
β β β β β
β root/ β package/ β configs/ β kiro/ β
β + package/ β β path β + workflows β β ~/.kiro/ β
β + configs/ β β + pkg.json β β
β + workflows β β β β
β β new dir β β β existing β β
βββββββββββββββββ΄βββββββββββ΄βββββββββββββββ΄βββββββββββββββββββββ
| Tool | Purpose | Replaces |
|---|---|---|
| Biome | Linting & formatting | ESLint + Prettier |
| Lefthook | Git hooks | Husky + lint-staged |
| tsdown | Building | tsc / esbuild / rollup |
| bonvoy | Releases | semantic-release / auto |
| Vitest | Testing | Jest |
| commitlint | Commit validation | β |
| npm | Package manager | pnpm / yarn |
This repo provides default community health files for the entire BePower GitHub organization:
- Contributing Guide β How to contribute to any BePower project
- Security Policy β How to report vulnerabilities
- Code of Conduct β Expected behavior
These files are automatically inherited by all repos in the org that don't have their own.
git clone https://github.com/BePower/.github.git
cd .github
npm install
npm run build
npm test
npm run lintMIT