@mittwald/mittvibes
v1.0.4
Published
CLI tool to generate boilerplate for mittwald extensions
Readme
mittvibes
CLI tool to generate boilerplate for mittwald mStudio extensions.
Powered by weissaufschwarz
Installation
npm install -g @mittwald/mittvibes
# or
pnpm add -g @mittwald/mittvibes
# or run directly
npx @mittwald/mittvibesUsage
First Time Setup
Authenticate with mittwald:
mittvibes auth:loginThis opens your browser for OAuth authentication (uses port 52847 for callback).
Creating Extensions
Run the CLI in your desired directory:
mittvibesThe CLI guides you through:
- Organization Selection - Choose your mittwald organization
- Contributor Check - Automatically verify contributor status
- Interest Submission - Submit contributor interest if needed (via API)
- Extension Context - Choose organization-level or project-level extensions
- Project Selection - Select specific project for project-level extensions
- Project Setup - Choose name and directory
- Dependencies - Automatically install with pnpm
- Database Setup - Configure PostgreSQL and run migrations
- Extension Config - Set up credentials with auto-generated secrets
Features
- Complete Boilerplate - TanStack Start, Prisma ORM with field encryption, mittwald Extension Bridge, mitthooks, Biome linting
- OAuth Authentication - Secure PKCE-based authentication
- Organization Management - Select organizations, automatic contributor verification and interest submission
- Extension Context - Choose organization-level or project-level extensions
- Auto-Configuration - Auto-generated secrets, dependency installation, database migrations, environment setup
- Interactive CLI - Step-by-step guided setup with visual indicators
CLI Commands
# Authentication
mittvibes auth:login # Authenticate with mittwald OAuth
mittvibes auth:logout # Clear authentication tokens
mittvibes auth:status # Check authentication status
# Project Creation
mittvibes # Create new extension project (default)
mittvibes init # Explicit project initialization
# Help
mittvibes help # Show available commandsRequirements
For Using the CLI:
- Node.js v18.0.0+
- mittwald account with access to organizations
- Port 52847 available for OAuth callback
For Generating Extensions:
- Organization with contributor status
Development
Setup
git clone <repository>
cd mittvibes/cli
pnpm installCommands
pnpm dev # TypeScript with hot reload
pnpm build # Compile to JavaScript
pnpm start # Run built versionTesting
# Development mode
pnpm dev
# Build and test
pnpm build && pnpm start
# Global symlink
pnpm link --global
mittvibes # Available globally
# Test in temp directory
mkdir /tmp/test-extension && cd /tmp/test-extension
node /path/to/mittvibes/cli/dist/index.jsTechnology Stack
Framework & Runtime: TanStack Start, React 19, TypeScript, Vite
Database & Backend: Prisma ORM with field encryption, PostgreSQL, Server Functions
mittwald Integration: Extension Bridge, API Client, mitthooks, Flow Components
Development Tools: Biome, Vitest, TanStack Router, TanStack Query, Environment Validation
Contributor Management
The CLI automatically detects contributor status for your organizations. If you're not a contributor yet, it will submit an interest request via API.
Resources:
Troubleshooting
Port 52847 in use:
lsof -i :52847 # Check what's using the portAuthentication issues:
mittvibes auth:logout && mittvibes auth:login # Clear and retry
mittvibes auth:status # Check statusOrganization access: Ensure you have the necessary permissions for the mittwald organization
Support
- CLI Issues: Report in this repository
- mittwald Extension Development: Developer Documentation
- API Reference: mittwald API Docs
Made with ⚡ by weissaufschwarz
