Configuration Presets

Quick project setup with predefined configuration bundles

Presets are predefined configuration bundles that quickly set up your project for specific use cases.

Available Presets#

SaaS Starter#

Full SaaS setup with authentication, payments, and database.

bootspring init --preset saas-starter
1{ 2 stack: { 3 framework: 'nextjs', 4 language: 'typescript', 5 database: 'postgresql', 6 hosting: 'vercel' 7 }, 8 plugins: { 9 auth: { enabled: true, provider: 'clerk' }, 10 payments: { enabled: true, provider: 'stripe' }, 11 database: { enabled: true, provider: 'prisma' }, 12 testing: { enabled: true, provider: 'vitest' }, 13 security: { enabled: true } 14 }, 15 quality: { 16 preCommit: true, 17 prePush: false, 18 strictMode: false 19 } 20}

Best for: SaaS products, subscription apps, multi-tenant platforms

API Only#

Backend API service without frontend, optimized for microservices.

bootspring init --preset api-only
1{ 2 stack: { 3 framework: 'express', 4 language: 'typescript', 5 database: 'postgresql', 6 hosting: 'railway' 7 }, 8 plugins: { 9 auth: { enabled: true, provider: 'jwt' }, 10 payments: { enabled: false }, 11 database: { enabled: true, provider: 'prisma' }, 12 testing: { enabled: true, provider: 'vitest' }, 13 security: { enabled: true } 14 }, 15 quality: { 16 preCommit: true, 17 prePush: true, 18 strictMode: true 19 } 20}

Best for: Microservices, REST APIs, backend services

Minimal#

Bare minimum setup for quick prototyping.

bootspring init --preset minimal
1{ 2 stack: { 3 framework: 'nextjs', 4 language: 'typescript', 5 database: 'none', 6 hosting: 'vercel' 7 }, 8 plugins: { 9 auth: { enabled: false }, 10 payments: { enabled: false }, 11 database: { enabled: false }, 12 testing: { enabled: false }, 13 security: { enabled: true } 14 }, 15 quality: { 16 preCommit: false, 17 prePush: false, 18 strictMode: false 19 } 20}

Best for: Prototypes, MVPs, learning projects, hackathons

AI App#

AI-powered application with Claude integration.

bootspring init --preset ai-app
1{ 2 stack: { 3 framework: 'nextjs', 4 language: 'typescript', 5 database: 'postgresql', 6 hosting: 'vercel' 7 }, 8 plugins: { 9 auth: { enabled: true, provider: 'clerk' }, 10 payments: { enabled: false }, 11 database: { enabled: true, provider: 'prisma' }, 12 testing: { enabled: true, provider: 'vitest' }, 13 security: { enabled: true }, 14 ai: { enabled: true, provider: 'anthropic' } 15 }, 16 quality: { 17 preCommit: true, 18 prePush: false, 19 strictMode: false 20 } 21}

Best for: AI chatbots, Claude-powered apps, LLM applications

Enterprise#

Enterprise-grade setup with all security and quality features.

bootspring init --preset enterprise
1{ 2 stack: { 3 framework: 'nextjs', 4 language: 'typescript', 5 database: 'postgresql', 6 hosting: 'aws' 7 }, 8 plugins: { 9 auth: { enabled: true, provider: 'clerk', features: ['sso', 'mfa'] }, 10 payments: { enabled: true, provider: 'stripe' }, 11 database: { enabled: true, provider: 'prisma' }, 12 testing: { enabled: true, provider: 'vitest', features: ['e2e', 'coverage'] }, 13 security: { enabled: true, features: ['audit', 'rbac'] } 14 }, 15 quality: { 16 preCommit: true, 17 prePush: true, 18 strictMode: true 19 } 20}

Best for: Enterprise software, B2B SaaS, compliance-required apps

Using Presets#

Initialize with a Preset#

1# New project with preset 2bootspring init my-project --preset saas-starter 3 4# Existing project 5cd my-project 6bootspring init --preset saas-starter

Apply Preset to Existing Config#

# Apply preset (merges with existing config) bootspring config apply-preset saas-starter # Apply with overrides bootspring config apply-preset saas-starter --override "plugins.payments.enabled=false"

View Preset Details#

# List all presets bootspring config presets # View a specific preset bootspring config preset saas-starter

API Usage#

1const config = require('bootspring/core/config'); 2 3// List available presets 4const presets = config.listPresets(); 5// [ 6// { key: 'saas-starter', name: 'SaaS Starter', description: '...' }, 7// { key: 'api-only', name: 'API Only', description: '...' }, 8// ... 9// ] 10 11// Get a preset 12const preset = config.getPreset('saas-starter'); 13 14// Apply a preset with overrides 15const finalConfig = config.applyPreset('saas-starter', { 16 plugins: { 17 payments: { enabled: false } 18 } 19}); 20 21// Save the applied config 22config.save(finalConfig);

Preset Comparison#

Featuresaas-starterapi-onlyminimalai-appenterprise
AuthClerkJWT-ClerkClerk + SSO
PaymentsStripe---Stripe
DatabasePostgreSQLPostgreSQL-PostgreSQLPostgreSQL
TestingVitestVitest-VitestVitest + E2E
AI---Anthropic-
Pre-commitYesYesNoYesYes
Pre-pushNoYesNoNoYes
Strict ModeNoYesNoNoYes

Customizing Presets#

Override During Init#

bootspring init --preset saas-starter \ --stack.hosting=railway \ --plugins.payments.enabled=false

Modify After Init#

Edit bootspring.config.js after initialization:

1// bootspring.config.js 2module.exports = { 3 // ... preset values 4 5 // Your overrides 6 plugins: { 7 auth: { enabled: true, provider: 'clerk' }, 8 payments: { enabled: false }, // Disabled 9 } 10};

Creating Custom Presets (Coming Soon)#

Define your own presets for team standardization:

1// .bootspring/presets/my-team.js 2module.exports = { 3 name: 'My Team Standard', 4 description: 'Standard setup for our team', 5 config: { 6 stack: { ... }, 7 plugins: { ... }, 8 quality: { ... } 9 } 10};