AI-friendly Node.js development ecosystem - Standardized configurations, tools, and packages designed for seamless AI-assisted development.
When AI helps you build Node.js projects, it needs clear standards and reliable patterns. DeepracticeNodeSpec provides:
- Consistent tooling: Pre-configured ESLint, TypeScript, Prettier, and more
- Type-safe foundations: Error handling, logging, and common utilities
- AI-optimized structure: Clear conventions that AI can understand and follow
- Production-ready quality: BDD testing, git hooks, and automated releases
-
@deepracticex/error-handling - Type-safe error handling system
- HTTP and business error classes
- Error factory API
- Express/Hono middleware
- Result/Either pattern
-
@deepracticex/logger - Unified logging with Pino
- Caller location tracking
- Daily log rotation
- MCP stdio and Electron compatibility
All configs follow strict, opinionated standards optimized for AI collaboration:
- @deepracticex/eslint-config - ESLint 9 flat config
- @deepracticex/prettier-config - Prettier configuration
- @deepracticex/typescript-config - TypeScript strict config
- @deepracticex/tsup-config - Build configuration
- @deepracticex/vitest-config - Test configuration
- @deepracticex/cucumber-config - BDD test configuration
# Install packages
pnpm add @deepracticex/error-handling
pnpm add @deepracticex/logger
pnpm add -D @deepracticex/eslint-config
pnpm add -D @deepracticex/typescript-config{
"extends": "@deepracticex/typescript-config/base.json"
}import { createError, ErrorCode } from "@deepracticex/error-handling";
const error = createError(ErrorCode.NOT_FOUND, "User not found");This monorepo uses clear layered architecture for separation of concerns:
DeepracticeNodeSpec/
├── src/ # Product core - NodeSpec business logic
├── packages/ # Infrastructure - Technical capabilities (ecosystem)
├── configs/ # Standards - Development configurations (ecosystem)
└── apps/ # Presentation - User interfaces (CLI, Desktop, Web)
Key principle: Repository boundary = Product boundary. src/ contains NodeSpec-specific logic, while packages/ and configs/ are designed for ecosystem reuse.
See src/README.md and Issue #3 for detailed architecture philosophy.
- Convention over Configuration: Sensible defaults that work out of the box
- Type Safety First: Strict TypeScript throughout
- AI-Readable: Clear patterns and documentation
- Production Ready: Battle-tested in real projects
- Monorepo Friendly: Designed for turborepo/pnpm workspaces
- Product as Ecosystem: Core product logic drives reusable ecosystem components
- Node.js >= 20.0.0
- pnpm >= 8.0.0
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Run tests
pnpm test
# Type check
pnpm typecheck# Run all tests
pnpm test
# Development mode
pnpm test:dev
# CI mode
pnpm test:ciFeature files serve as living documentation - see packages/*/features/
We use Changesets for version management:
# Create a changeset
pnpm changeset
# Version packages
pnpm version
# Build and publish
pnpm releaseDeepracticeNodeSpec is designed to evolve with AI development patterns. Contributions welcome!
MIT
Built by Deepractice - Making AI development accessible and reliable.