@summoniq/config
v0.1.0
Published
Shared configuration files and types for SummonIQ projects
Readme
@summoniq/config
Shared configuration templates and types for SummonIQ projects.
Installation
bun add @summoniq/configFeatures
📦 Type Definitions
Comprehensive TypeScript types for:
- ESLint - All ESLint configuration types
- App Config - SummonIQ application types (apps, projects, features, etc.)
- Environment - Environment variable types
import type { ESLintConfig, AppConfig, FeatureConfig } from '@summoniq/config';🔧 Environment Template
Standard .env.example template for all SummonIQ projects with sections for:
- Base configuration (ports, URLs)
- AI services (OpenAI)
- Authentication (Better Auth)
- Automation (n8n)
- Billing (Stripe)
- Email (Resend, Sendgrid)
- Error reporting (Sentry)
- Finances (Plaid, Alpha Vantage)
- Logging
- Project management (Linear)
- Realtime (Pusher)
- Storage (Vercel Blob, PostgreSQL)
- Sales (Apollo)
🚀 Quick Setup
Initialize a new project with the standard environment template:
# From your project directory
bun run @summoniq/config/scripts/init-env.ts --project-name "MyApp" --ports 3000,5432,5555
# Or use defaults (ports 10030, 10031, 10032)
bun run @summoniq/config/scripts/init-env.tsThis will:
- Create
.env.examplefrom the template - Customize with your project name and ports
- Back up existing
.env.exampleif present
📋 Manual Setup
If you prefer to copy manually:
cp node_modules/@summoniq/config/templates/.env.template .env.exampleThen customize the following values:
NEXT_PORT- Your Next.js server portDB_PORT- Your PostgreSQL portDB_STUDIO_PORT- Your Prisma Studio portLINEAR_PROJECT_NAME- Your project name
Types Available
ESLint Configuration
import type {
ESLintConfig,
ImportExtensionConfig,
ImportResolverConfig
} from '@summoniq/config';
const config: ESLintConfig = {
// Your ESLint config
};App Configuration
import type {
AppConfig,
ProjectConfig,
FeatureConfig,
AppType,
EnvironmentConfig
} from '@summoniq/config';
const app: AppConfig = {
name: 'my-app',
type: 'desktop',
version: '1.0.0',
description: 'My awesome app'
};Project Structure
@summoniq/config/
├── types/ # TypeScript type definitions
│ ├── applab/ # App, Project, Feature types
│ └── eslint.ts # ESLint types
├── templates/ # Shared templates
│ └── .env.template
├── scripts/ # Utility scripts
│ └── init-env.ts
└── dist/ # Compiled typesEnvironment Variables
The template includes sensible defaults and comprehensive documentation for all services. Key sections:
- Development Ports: Standardized across all projects
- Database URLs: Support for local and production (Neon)
- API Keys: Placeholders for all common services
- Feature Flags: Via environment variables
Contributing
This package is part of the SummonIQ monorepo. To add new types or templates:
- Add types to
types/directory - Export from
types/index.ts - Update templates in
templates/ - Build:
bun run build
License
MIT
