A comprehensive toolkit for modern JavaScript and TypeScript development, providing shared configurations, development tools, and utilities for building consistent, high-quality projects.
bfra.me Works is a monorepo containing battle-tested packages that streamline development with opinionated configurations. From ESLint and Prettier setups to a powerful project creation CLI with AI assistance, this toolkit enables teams to maintain professional-grade projects with minimal configuration overhead.
Key Philosophy: All packages work independently but are designed to complement each other for a cohesive development experience focused on consistency, quality, and developer productivity.
- AI-Powered Project Creation - Intelligent scaffolding with
@bfra.me/create
CLI - Shared Configurations - Consistent ESLint, Prettier, and TypeScript setups
- Monorepo Ready - Optimized for pnpm workspaces and monorepo development
- Type-Safe by Default - Strict TypeScript configurations with comprehensive coverage
- Automated Releases - Semantic versioning and publishing with changesets
- Testing Framework - Vitest-based testing with coverage reporting
- Modern Tooling - Built for ES modules, Node.js 20+, and latest standards
# Use the CLI to scaffold a new project
npx @bfra.me/create my-project
# With specific template and options
npx @bfra.me/create my-library --template library --no-git
# Install shared ESLint configuration
npm install --save-dev @bfra.me/eslint-config
# Add to your eslint.config.js
import { defineConfig } from '@bfra.me/eslint-config'
export default defineConfig({
typescript: true,
prettier: true
})
Package | Description | Version |
---|---|---|
@bfra.me/create |
AI-powered CLI for creating projects from templates | |
@bfra.me/eslint-config |
Shared ESLint configuration with TypeScript and Prettier support | |
@bfra.me/prettier-config |
Opinionated Prettier configuration with multiple variants | |
@bfra.me/tsconfig |
Strict TypeScript configurations for libraries and applications | |
@bfra.me/semantic-release |
Automated versioning and release configuration | |
@bfra.me/badge-config |
TypeScript API for generating shields.io badge URLs |
# 1. Create project with AI assistance
npx @bfra.me/create my-app --template typescript
# 2. Or configure existing project
npm install --save-dev @bfra.me/eslint-config @bfra.me/prettier-config @bfra.me/tsconfig
tsconfig.json
:
{
"extends": "@bfra.me/tsconfig",
"include": ["src"],
"exclude": ["dist", "node_modules"]
}
package.json
:
{
"prettier": "@bfra.me/prettier-config",
"scripts": {
"build": "tsc",
"lint": "eslint src --fix",
"format": "prettier --write src"
}
}
# Create monorepo structure
npx @bfra.me/create my-monorepo --template monorepo
# Add packages to existing monorepo
npx @bfra.me/create packages/ui --template library
npx @bfra.me/create packages/api --template node
package.json
:
{
"workspaces": ["packages/*"],
"scripts": {
"build": "pnpm -r run build",
"test": "pnpm -r run test",
"lint": "pnpm -r run lint"
}
}
import { buildStatus, coverage, version } from '@bfra.me/badge-config/generators'
// Generate status badges
const buildBadge = buildStatus('passing')
// => https://img.shields.io/badge/build-passing-green
const coverageBadge = coverage(85)
// => https://img.shields.io/badge/coverage-85%25-yellow
const versionBadge = version('1.2.3')
// => https://img.shields.io/badge/version-1.2.3-blue
Note
This project requires Node.js 20+ and pnpm for optimal performance.
# Clone the repository
git clone https://github.com/bfra-me/works.git
cd works
# Install dependencies (use bootstrap, not install)
pnpm bootstrap
# Build all packages
pnpm build
# Start development mode (watches all packages)
pnpm dev
# Run tests across all packages
pnpm test
# Lint and fix code
pnpm lint --fix
# Full validation pipeline
pnpm validate
# Type checking
pnpm type-check
# Type coverage reporting
pnpm type-coverage
# Package validation
pnpm lint-packages
# Integration testing
pnpm test
- Getting Started Guide - Comprehensive introduction and setup
- Configuration Guide - Best practices for package configuration
- API Reference - Complete API documentation
For Individual Developers:
- Skip tedious configuration setup
- Get consistent, professional-grade tooling
- Focus on building features, not fighting tools
- Learn modern development best practices
For Teams:
- Standardize development workflows across projects
- Reduce onboarding time for new team members
- Maintain code quality with minimal effort
- Enable faster feature delivery with proven patterns
For Organizations:
- Consistent architecture patterns across teams
- Reduced maintenance overhead for tooling
- Built-in best practices for scalability and performance
- Battle-tested configurations used in production
Built with ❤️ by Marcus R. Brown