NPM Scripts & Development Workflows
Complete guide to all NPM scripts available in Mifty projects and their usage in development workflows.
Core Development Scripts
Development Server
npm run dev
Start development server with hot reload
npm run dev:full
Start all development services: API + DB Designer + Monitor + Prisma Studio
npm run dev:server
Start only the API server with hot reload
npm run dev:monitor
Start error monitor with auto-fix capabilities
npm run dev:db-designer
Start database designer UI on port 3001
Build Scripts
npm run build
Build TypeScript to JavaScript and copy UI assets
npm run build:watch
Build in watch mode - rebuilds on file changes
npm start
Start production server (requires build first)
Database Management Scripts
Prisma Commands
npm run prisma:generate
Generate Prisma Client from schema
npm run prisma:migrate
Create and apply database migration
npm run prisma:migrate:status
Check migration status
npm run prisma:migrate:deploy
Deploy migrations in production
npm run prisma:studio
Open Prisma Studio database browser
npm run prisma:push
Push schema changes without creating migration
npm run prisma:reset
⚠️ Reset database and apply all migrations (DELETES DATA)
npm run prisma:seed
Run database seeding script
Database Designer
npm run db-designer
Start visual database designer UI
npm run db-designer:build
Build project and start database designer
Code Generation Scripts
Module Generation
npm run generate
Generate all modules from db.design.ts
npm run generate:module
Generate specific module
npm run generate:ai
Generate modules using AI assistance
Testing Scripts
Test Execution
npm test
Run all tests with coverage report
npm run test:watch
Run tests in watch mode
npm run test:integration
Run integration tests only
Code Quality Scripts
Linting
npm run lint
Run ESLint to check code quality
npm run lint:fix
Run ESLint with automatic fixes
Formatting
npm run format
Format code with Prettier
Monitoring Scripts
Error Monitoring
npm run monitor
Start error monitoring system
npm run monitor:imports
Monitor import issues
npm run monitor:errors
Monitor runtime errors
npm run monitor:autofix
Monitor with automatic error fixing
Import Watching
npm run watch:imports
Watch and report import issues
npm run watch:imports:autofix
Watch imports with automatic fixing
Adapter Management Scripts
Adapter Commands
npm run adapter
Run adapter management CLI
npm run adapter:list
List all available adapters
npm run adapter:installed
Show installed adapters
Authentication Adapters
npm run auth:list
List authentication adapters
npm run auth:install
Install authentication adapter
Configuration Scripts
Service Configuration
npm run services:config
View current services configuration
npm run configure:server
Configure server settings
Build System Scripts
Advanced Build
npm run bundle
Bundle all CLI executables
npm run secure-build
Build with security features (obfuscation, byte-compilation)
npm run obfuscate
Obfuscate JavaScript code
npm run byte-compile
Compile JavaScript to bytecode
Packaging
npm run pkg:all
Create platform-specific executables
npm run pack
Create NPM package
Development Workflows
Daily Development Workflow
This is the most common workflow for daily development:
Step-by-Step Daily Workflow
- Start Development Environment
npm run dev:full
Starts API server, DB designer, monitor, and Prisma Studio
2. **Design Database** (if needed)
- Open http://localhost:3001/ui in browser
- Design your database schema visually
- Save changes
3. **Generate Code**
```bash
npm run generate
Generate modules from updated database design
- Write and Test Code
npm run test:watch
Run tests in watch mode while developing
5. **Quality Check**
```bash
npm run lint && npm run format
Check code quality and format
Database Development Workflow
For database-focused development:
Database Workflow Steps
-
Choose Design Method
- Visual:
npm run db-designer - Manual: Edit
src/db.design.ts
- Visual:
-
Generate Modules
npm run generate
Generate TypeScript modules from schema
3. **Create Migration**
```bash
npm run prisma:migrate
Create and apply database migration
- Update Prisma Client
npm run prisma:generate
Regenerate Prisma Client with new schema
5. **Verify Changes**
```bash
npm run prisma:studio
Open Prisma Studio to verify database structure
Testing Workflow
Comprehensive testing approach:
Testing Steps
- Development Testing
npm run test:watch
Run tests continuously during development
2. **Full Test Suite**
```bash
npm test
Run all tests with coverage report
- Integration Testing
npm run test:integration
Run integration tests
### Production Deployment Workflow
For production deployment:
```mermaid
graph TD
A[Ready for Production] --> B[npm run lint]
B --> C[npm test]
C --> D[npm run build]
D --> E[npm run prisma:migrate:deploy]
E --> F[npm start]
F --> G[Verify Deployment]
Production Steps
- Quality Assurance
npm run lint && npm test
Ensure code quality and all tests pass
2. **Build for Production**
```bash
npm run build
Build optimized production bundle
- Database Migration
npm run prisma:migrate:deploy
Apply migrations in production
4. **Start Production Server**
```bash
npm start
Start production server
Troubleshooting Common Script Issues
Build Issues
Problem: Build fails with TypeScript errors
npm run lint:fix && npm run build
Fix linting issues and rebuild
Problem: Missing UI assets after build
npm run copy-ui && npm run build
Ensure UI assets are copied during build
Database Issues
Problem: Prisma Client out of sync
npm run prisma:generate
Regenerate Prisma Client
Problem: Migration conflicts
npm run prisma:migrate:status
Check migration status and resolve conflicts
Development Server Issues
Problem: Port already in use
npm run services:config
Check current port configuration
Problem: Hot reload not working
npm run dev:server
Restart development server
Testing Issues
Problem: Tests failing after database changes
npm run prisma:generate && npm test
Regenerate Prisma Client and run tests
Problem: Coverage too low
npm run test:coverage
Generate detailed coverage report
Script Categories by Use Case
Daily Development
npm run dev:fullnpm run test:watchnpm run generatenpm run lint:fix
Database Work
npm run db-designernpm run prisma:migratenpm run prisma:studionpm run prisma:generate
Quality Assurance
npm testnpm run lintnpm run formatnpm run test:integration
Production
npm run buildnpm startnpm run prisma:migrate:deploy
Debugging
npm run monitornpm run watch:importsnpm run services:config
Performance Tips
Faster Development
- Use
npm run dev:serverinstead ofnpm run dev:fullif you don't need all services - Use
npm run test:watchfor continuous testing - Use
npm run build:watchfor continuous building
Efficient Database Work
- Use
npm run prisma:pushfor quick schema testing (no migration) - Use
npm run db-designerfor visual schema design - Use
npm run prisma:studiofor data inspection
Better Testing
- Use
npm run test:watchduring development - Run
npm testbefore commits - Use
npm run test:integrationfor full system testing