Skip to content

BePower/.github

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

20 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

@bepower/dev

CI License: MIT Node >= 22 npm: @bepower/dev

πŸ’„ Configurations and tools for developers (VERY opinionated)

This repo serves a dual purpose:

  1. @bepower/dev β€” CLI tool that bootstraps projects, distributes golden configs, and installs Kiro AI agents
  2. Org-wide defaults β€” GitHub community health files (CONTRIBUTING, SECURITY, issue/PR templates) inherited by all BePower repos

Prerequisites

  • Node.js >= 22
  • npm (not pnpm or yarn)
  • Access to GitHub Packages for @bepower scope

Installation

npm install -g @bepower/dev

Commands

dev bootstrap [name]

Scaffold 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 --monorepo

What it does:

  1. Copies the root template (single or monorepo shell)
  2. For single projects: overlays the package template (lib/cdk/nestjs)
  3. Applies golden configs (biome, tsconfig, vitest, lefthook, etc.)
  4. Merges devDependencies and scripts into package.json
  5. Copies base GitHub Actions workflows
  6. Runs npm install and creates initial git commit

dev add <path> --template <type>

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 microservice

What it does:

  1. Copies the package template into the specified path
  2. Updates root package.json workspaces if needed
  3. Sets up package.json with correct name, repository, and directory

dev setup

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 versions

What it does:

  1. Detects monorepo (workspaces) and selects appropriate config variants
  2. Copies config files (only if they don't already exist, unless --force)
  3. Merges devDependencies and scripts into package.json
  4. Adds base GitHub Actions workflows

dev init-kiro

Install the bepower-setup Kiro agent globally for AI-assisted project configuration.

dev init-kiro

Golden Configs

These 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

Architecture

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

How It Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      @bepower/dev CLI                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚   bootstrap   β”‚   add    β”‚    setup     β”‚     init-kiro      β”‚
β”‚               β”‚          β”‚              β”‚                    β”‚
β”‚  root/        β”‚ package/ β”‚  configs/    β”‚  kiro/             β”‚
β”‚  + package/   β”‚ β†’ path   β”‚  + workflows β”‚  β†’ ~/.kiro/        β”‚
β”‚  + configs/   β”‚          β”‚  + pkg.json  β”‚                    β”‚
β”‚  + workflows  β”‚          β”‚              β”‚                    β”‚
β”‚  β†’ new dir    β”‚          β”‚  β†’ existing  β”‚                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Stack

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

Community Health (Org-wide)

This repo provides default community health files for the entire BePower GitHub organization:

These files are automatically inherited by all repos in the org that don't have their own.

Development

git clone https://github.com/BePower/.github.git
cd .github
npm install
npm run build
npm test
npm run lint

License

MIT

About

πŸ’„ Configurations and tools for developers (VERY opinionated)

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors