A Claude Code plugin for generating and maintaining production-ready Express + TypeScript + PostgreSQL + Redis backends.
noop is a complete development toolkit that helps you:
- Generate new backend projects with a proven architecture
- Review code against architectural patterns
- Add new domain entities with full CRUD
- Tend to infrastructure with health checks and maintenance
# Clone the plugin
git clone https://github.com/deibler/noop.git
# Use with Claude Code
claude --plugin-dir /path/to/noopOr add to your Claude Code settings for permanent installation.
| Command | Description |
|---|---|
/noop:make |
Generate a new project |
/noop:review |
Review code against architecture patterns |
/noop:entity-add |
Add a new domain entity with CRUD |
/noop:tend |
Infrastructure maintenance and health checks |
Generate a complete, production-ready backend:
/noop:make my-service --entities=Product,Order --port=3010What you get:
- Express 5 with TypeScript (ESM)
- PostgreSQL with pgvector
- Redis/Valkey caching
- Multi-tenant architecture
- Automatic migrations
- Docker Compose setup
- Health checks & graceful shutdown
- Zod configuration validation
- Structured logging
Review code for architectural compliance:
/noop:review src/handlers/Checks for:
- Silent fallbacks (critical)
anytypes (critical)- Missing organization scoping
- Business logic in handlers
- Non-RESTful routes
- Direct
process.envaccess
Add new entities to existing projects:
/noop:entity-add Product --fields=price:number,sku:stringGenerates:
- Type definitions
- Database Ops class
- HTTP handlers
- Migration SQL
- Route registration
Infrastructure maintenance:
/noop:tend health # Full health check
/noop:tend deps # Dependency updates
/noop:tend security # Security audit
/noop:tend docker # Docker maintenance
/noop:tend all # Run everythingnoop enforces a function-first, layered architecture:
src/
├── handlers/ # HTTP orchestration only
│ └── services/ # Business logic
├── db/pg/
│ └── *Ops.ts # Database operations
├── middleware/ # Auth, error handling
├── types/ # Domain types
└── utils/ # Shared utilities
- Handlers orchestrate, services execute - No business logic in handlers
- Explicit dependencies - Pass
dbStoreas parameter, no globals - Organization scoping - Every DB operation requires
organizationId - No fallbacks - Errors are explicit, never hidden
- Type safety - Never use
anyor unnarrowedunknown - Fail fast - Validate configuration at startup
noop/
├── .claude-plugin/
│ └── plugin.json # Plugin manifest
├── commands/
│ ├── make.md # /noop:make
│ ├── review.md # /noop:review
│ ├── entity-add.md # /noop:entity-add
│ └── tend.md # /noop:tend
├── agents/
│ ├── architect.md # Architecture planning
│ ├── reviewer.md # Code review
│ ├── entity-builder.md # Entity generation
│ └── tender.md # Infrastructure maintenance
├── skills/
│ ├── scaffold-generator/ # Auto-invoked for generation
│ ├── architecture-guide/ # Auto-invoked for patterns
│ └── entity-generator/ # Auto-invoked for entities
├── hooks/
│ ├── hooks.json # Plugin hooks config
│ └── architecture-guardian.sh # Auto-lint & pattern checks
├── docs/universal-framework/ # Architecture documentation
└── scaffold-template/ # Project template
noop includes automated hooks:
-
PostToolUse (Write/Edit): Runs architecture-guardian.sh for:
- TypeScript type checking
- ESLint validation
- Anti-pattern detection
- Context-aware guidelines
-
PreToolUse (Bash): Blocks
npm run dev/start(user manages server)
Spawn specialized agents for complex tasks:
| Agent | Use Case |
|---|---|
noop-architect |
API design, schema planning |
noop-reviewer |
PR reviews, compliance checks |
noop-entity-builder |
Generate full entity CRUD |
noop-tender |
DevOps, maintenance tasks |
When you run /noop:make, you get:
my-service/
├── src/
│ ├── index.ts # Entry point
│ ├── config.ts # Zod-validated config
│ ├── routes.ts # Route registration
│ ├── handlers/
│ │ ├── widgetHandler.ts # CRUD handlers
│ │ └── services/
│ │ └── WidgetService.ts
│ ├── db/
│ │ ├── index.ts
│ │ └── pg/
│ │ ├── PgClient.ts
│ │ ├── PgClientStore.ts
│ │ ├── WidgetOps.ts
│ │ └── migrations/sql/
│ ├── middleware/
│ │ ├── auth.ts
│ │ └── error.ts
│ ├── types/
│ │ └── widget.types.ts
│ └── utils/
│ ├── logger.ts
│ ├── errors.ts
│ └── standardResponse.ts
├── .claude/
│ ├── CLAUDE.md # Project instructions
│ └── hooks/
│ └── architecture-guardian.sh
├── docker-compose.yml
├── Dockerfile
└── package.json
The docs/universal-framework/ directory contains:
| Document | Purpose |
|---|---|
PHILOSOPHY.md |
Core architectural principles |
ARCHITECTURE_SPEC.md |
Layer specifications |
CONVENTIONS.md |
Coding standards |
SCAFFOLDING_SPEC.md |
Template structure |
GENERATOR_INSTRUCTIONS.md |
Generation guide |
CHECKLIST.md |
Quality verification |
MIT