Skip to content

Available Templates

FORGE provides a library of pre-built templates for common business domains. Each template extends the base template with domain-specific models, migrations, permissions, API endpoints, admin pages, and features.

CRM

Customer Relationship Management -- manage contacts, companies, sales deals, and pipeline stages.

bash
# Create a new project with CRM
forge new --name=mycrm --template=crm

# Add CRM to an existing project
forge template:add crm

Models

ModelDescription
ContactCustomer and prospect records with email, phone, source, status
CompanyOrganization records with industry, size, website
DealSales opportunities with value, currency, probability, expected close date
PipelineSales pipeline definitions with ordered stages
PipelineStageIndividual stages within a pipeline (e.g., Lead, Qualified, Proposal, Won)
ActivityTasks, calls, meetings, and notes linked to contacts or deals
TagCategorization labels for contacts and companies

Permissions

contacts.view    contacts.create    contacts.edit    contacts.delete
companies.view   companies.create   companies.edit   companies.delete
deals.view       deals.create       deals.edit       deals.delete
pipelines.view   pipelines.create   pipelines.edit   pipelines.delete
activities.view  activities.create  activities.edit   activities.delete

Admin Pages

PagePathDescription
Contact List/admin/crm/contactsFilterable contact list with search, status filter, tag filter
Contact Detail/admin/crm/contacts/:idContact profile with activity timeline
Company List/admin/crm/companiesCompany directory with industry and size filters
Deal List/admin/crm/dealsDeal list with pipeline and stage filters
Pipeline Board/admin/crm/deals?view=kanbanKanban board with drag-and-drop stage transitions
Pipeline Config/admin/crm/pipelinesPipeline and stage management
Reports/admin/crm/reportsSales analytics, conversion rates, revenue reports

Features

  • Kanban board for visual deal management with drag-and-drop
  • Activity timeline on contacts and deals
  • Contact-to-company relationships
  • Deal assignment to team members
  • CSV import and export for contacts and companies
  • Contact merge to eliminate duplicates
  • Sales funnel and conversion reports
  • Tag-based segmentation

Database Schema

sql
CREATE TABLE contacts (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    first_name VARCHAR(100) NOT NULL,
    last_name VARCHAR(100),
    email VARCHAR(255),
    phone VARCHAR(50),
    company_id UUID REFERENCES companies(id),
    status VARCHAR(50) DEFAULT 'active',
    source VARCHAR(100),
    translations JSONB DEFAULT '{}',
    metadata JSONB DEFAULT '{}',
    assigned_to UUID REFERENCES users(id),
    created_at TIMESTAMPTZ DEFAULT NOW(),
    updated_at TIMESTAMPTZ DEFAULT NOW()
);

CREATE TABLE companies (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    name VARCHAR(255) NOT NULL,
    website VARCHAR(255),
    industry VARCHAR(100),
    size VARCHAR(50),
    translations JSONB DEFAULT '{}',
    created_at TIMESTAMPTZ DEFAULT NOW(),
    updated_at TIMESTAMPTZ DEFAULT NOW()
);

CREATE TABLE deals (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    title VARCHAR(255) NOT NULL,
    value DECIMAL(15, 2),
    currency VARCHAR(3) DEFAULT 'USD',
    contact_id UUID REFERENCES contacts(id),
    company_id UUID REFERENCES companies(id),
    pipeline_id UUID REFERENCES pipelines(id),
    stage_id UUID REFERENCES pipeline_stages(id),
    probability INT DEFAULT 0,
    expected_close_date DATE,
    closed_at TIMESTAMPTZ,
    won BOOLEAN,
    assigned_to UUID REFERENCES users(id),
    created_at TIMESTAMPTZ DEFAULT NOW(),
    updated_at TIMESTAMPTZ DEFAULT NOW()
);

CREATE TABLE activities (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    type VARCHAR(50) NOT NULL,  -- call, email, meeting, task, note
    subject VARCHAR(255),
    description TEXT,
    contact_id UUID REFERENCES contacts(id),
    deal_id UUID REFERENCES deals(id),
    due_date TIMESTAMPTZ,
    completed_at TIMESTAMPTZ,
    created_by UUID REFERENCES users(id),
    created_at TIMESTAMPTZ DEFAULT NOW()
);

Helpdesk

Customer Support Ticket System -- manage support tickets, agent assignment, SLAs, and customer satisfaction.

bash
forge new --name=support --template=helpdesk
forge template:add helpdesk

Models

ModelDescription
TicketSupport tickets with subject, priority, status, category
CategoryTicket categories for routing and organization
PriorityPriority levels with SLA mapping (Low, Medium, High, Urgent)
CommentTicket responses (public replies and internal notes)
AgentSupport agents extending the User model with availability status
SLAService level agreements with response and resolution time targets
CannedResponsePre-written reply templates for common issues

Permissions

tickets.view      tickets.create    tickets.edit     tickets.delete    tickets.assign
categories.view   categories.create categories.edit  categories.delete
agents.view       agents.create     agents.edit      agents.delete
sla.view          sla.create        sla.edit         sla.delete
canned_responses.view  canned_responses.create  canned_responses.edit  canned_responses.delete

Admin Pages

PagePathDescription
Ticket List/admin/helpdesk/ticketsTickets with status, priority, and category filters
Ticket Detail/admin/helpdesk/tickets/:idConversation thread with reply and internal notes
Category Management/admin/helpdesk/categoriesCreate and organize ticket categories
Agent Management/admin/helpdesk/agentsManage support agents and availability
SLA Configuration/admin/helpdesk/slaDefine response and resolution time targets
Canned Responses/admin/helpdesk/canned-responsesManage reply templates
Reports/admin/helpdesk/reportsTicket volume, response times, satisfaction scores

Public Portal Pages

PagePathDescription
Submit Ticket/supportSubmit a new support ticket
My Tickets/support/ticketsView submitted tickets
Ticket Detail/support/tickets/:idView ticket status and replies
Knowledge Base/support/kbSelf-service help articles

Features

  • Automatic ticket assignment (round-robin or manual)
  • SLA tracking with escalation rules and breach notifications
  • Canned responses insertable into replies
  • Internal notes visible only to agents
  • File attachments on tickets and comments
  • Email notifications for ticket updates
  • Customer satisfaction ratings after ticket resolution
  • Ticket status workflow: Open, In Progress, Waiting, Resolved, Closed

Appointment

Booking and Scheduling System -- manage services, staff availability, and customer appointments.

bash
forge new --name=booking --template=appointment
forge template:add appointment

Models

ModelDescription
ServiceBookable services with name, duration, price, description
StaffService providers with specializations and availability
AppointmentBookings linking customer, service, staff, and time slot
ScheduleStaff working hours by day of week
TimeSlotGenerated available time slots based on schedules
HolidayBlocked dates when services are unavailable

Permissions

services.view       services.create      services.edit      services.delete
staff.view          staff.create         staff.edit         staff.delete
appointments.view   appointments.create  appointments.edit  appointments.delete
schedules.view      schedules.edit
holidays.view       holidays.create      holidays.delete

Admin Pages

PagePathDescription
Calendar View/admin/appointments/calendarVisual calendar with appointment blocks
Appointment List/admin/appointments/listFilterable appointment list
Service Management/admin/appointments/servicesCreate and manage bookable services
Staff Management/admin/appointments/staffStaff profiles and specializations
Schedule Config/admin/appointments/scheduleWorking hours and availability rules
Holiday Management/admin/appointments/holidaysBlock dates and periods

Public Booking Pages

PagePathDescription
Service Selection/bookBrowse and select a service
Time Selection/book/:servicePick staff and available time slot
Confirmation/book/confirmReview and confirm booking
Booking Details/booking/:idView or cancel a booking

Features

  • Multi-staff support with individual availability
  • Service duration and pricing configuration
  • Buffer time between appointments to avoid back-to-back scheduling
  • Recurring appointment support
  • SMS and email appointment reminders
  • Calendar sync with Google Calendar and Outlook
  • Online payment integration (optional, via payment provider)
  • Booking widget embeddable in external websites

Invoicing

Invoice and Billing System -- generate invoices, manage quotes, track payments, and handle tax calculations.

bash
forge new --name=billing --template=invoicing
forge template:add invoicing

Models

ModelDescription
ClientCustomer and business information for invoicing
InvoiceInvoices with line items, tax, discounts, status
InvoiceLineIndividual line items on an invoice
QuoteEstimates and quotes convertible to invoices
ProductProducts and services catalog with pricing
PaymentPayment records linked to invoices
TaxTax rates and rules by region
InvoiceTemplatePDF templates for invoice rendering

Permissions

clients.view     clients.create    clients.edit     clients.delete
invoices.view    invoices.create   invoices.edit    invoices.delete   invoices.send
quotes.view      quotes.create     quotes.edit      quotes.delete
products.view    products.create   products.edit    products.delete
payments.view    payments.create   payments.edit
tax.view         tax.create        tax.edit         tax.delete

Admin Pages

PagePathDescription
Invoice List/admin/invoicing/invoicesInvoices with status and date filters
Create Invoice/admin/invoicing/invoices/newInvoice builder with line items
Quote List/admin/invoicing/quotesQuotes with conversion tracking
Client Management/admin/invoicing/clientsClient directory with billing history
Product Catalog/admin/invoicing/productsProducts and services with pricing
Payment History/admin/invoicing/paymentsPayment records and reconciliation
Tax Configuration/admin/invoicing/taxTax rates by region
Reports/admin/invoicing/reportsRevenue, outstanding, aged receivables

Public Portal Pages

PagePathDescription
View Invoice/invoice/:uuidClient-facing invoice with payment button
View Quote/quote/:uuidQuote view with accept/decline actions

Features

  • Automatic invoice numbering (INV-0001, INV-0002, etc.)
  • Multi-currency support with exchange rate handling
  • Tax calculation engine with support for multiple tax rates per line item
  • PDF invoice generation with customizable templates
  • Email invoices directly to clients
  • Online payment collection via configured payment provider
  • Recurring invoices on monthly, quarterly, or annual schedules
  • Quote-to-invoice conversion with one click
  • Payment tracking with partial payment support
  • Overdue payment reminders via email and SMS

Inventory

Stock and Warehouse Management -- track products, manage warehouses, monitor stock levels, and handle purchase orders.

bash
forge new --name=warehouse --template=inventory
forge template:add inventory

Models

ModelDescription
ProductInventory items with SKU, barcode, unit, category
CategoryProduct categories with hierarchy
WarehousePhysical storage locations
StockCurrent stock levels per product per warehouse
StockMovementStock in/out transactions with reason codes
SupplierVendor and supplier records
PurchaseOrderPurchase orders to suppliers with line items
StockAlertLow stock threshold alerts

Permissions

products.view        products.create       products.edit       products.delete
warehouses.view      warehouses.create     warehouses.edit     warehouses.delete
stock.view           stock.adjust
stock_movements.view stock_movements.create
suppliers.view       suppliers.create      suppliers.edit      suppliers.delete
purchase_orders.view purchase_orders.create purchase_orders.edit purchase_orders.delete
stock_alerts.view    stock_alerts.configure

Admin Pages

PagePathDescription
Product List/admin/inventory/productsProduct catalog with category filter
Stock Levels/admin/inventory/stockStock by warehouse with threshold indicators
Stock Movements/admin/inventory/movementsTransaction log for all stock changes
Warehouse Management/admin/inventory/warehousesWarehouse locations and capacity
Supplier Directory/admin/inventory/suppliersVendor contact and order history
Purchase Orders/admin/inventory/ordersCreate and track purchase orders
Alerts/admin/inventory/alertsLow stock alerts and thresholds
Reports/admin/inventory/reportsStock valuation, movement analysis

Features

  • Multi-warehouse stock tracking with transfer support
  • SKU and barcode management for product identification
  • Barcode scanning support for mobile stock operations
  • Stock movement history with full audit trail
  • Low stock alerts with configurable thresholds per product
  • Stock valuation methods: FIFO, LIFO, and Weighted Average
  • Purchase order lifecycle: Draft, Sent, Received, Closed
  • Stock adjustment with reason codes (damage, returns, correction)
  • Inventory reports: stock value, movement summary, dead stock

Subscriptions

Subscription and Recurring Billing -- manage plans, subscriptions, metered usage, and revenue metrics.

bash
forge new --name=saas --template=subscriptions
forge template:add subscriptions

Models

ModelDescription
PlanSubscription plans with pricing tiers (monthly, yearly)
SubscriptionActive subscriptions linking user to plan
FeaturePlan features with limits (e.g., "10 projects", "Unlimited users")
UsageMetered usage records for consumption-based billing
InvoiceSubscription invoices generated on each billing cycle
CouponDiscount codes with percentage or fixed amount

Permissions

plans.view          plans.create         plans.edit         plans.delete
subscriptions.view  subscriptions.create subscriptions.edit subscriptions.cancel
features.view       features.create      features.edit      features.delete
usage.view
invoices.view
coupons.view        coupons.create       coupons.edit       coupons.delete

Admin Pages

PagePathDescription
Plan Management/admin/subscriptions/plansCreate and configure subscription plans
Active Subscriptions/admin/subscriptions/listView and manage active subscriptions
Invoices/admin/subscriptions/invoicesBilling history and invoice details
Coupon Management/admin/subscriptions/couponsCreate and track discount codes
Revenue Reports/admin/subscriptions/reportsMRR, ARR, churn, LTV analytics

Public Pages

PagePathDescription
Pricing/pricingPublic pricing page with plan comparison
Checkout/subscribe/:planPlan selection and payment
My Subscription/account/subscriptionCurrent plan, upgrade/downgrade options
Billing History/account/billingInvoice history and payment methods

Features

  • Multiple billing intervals (monthly, quarterly, yearly)
  • Free trial periods with configurable duration
  • Metered billing for usage-based features
  • Prorated upgrades and downgrades between plans
  • Automatic subscription renewal with payment retry logic
  • Failed payment handling with grace period and dunning emails
  • Cancellation flows with optional retention offers
  • Discount coupons with percentage or fixed amount, usage limits, and expiry
  • MRR (Monthly Recurring Revenue) and ARR tracking
  • Churn rate and customer lifetime value (LTV) reporting

Additional Templates

The following templates are available for specialized use cases:

Notifications

Multi-channel notification system supporting email, SMS, push notifications, and in-app messages.

bash
forge template:add notifications

Models: Notification, NotificationTemplate, NotificationChannel, NotificationPreference Features: Multi-channel delivery, template engine, user preferences, delivery tracking, queue-based sending, scheduled notifications

Portal

Client or employee self-service portal with document sharing and messaging.

bash
forge template:add portal

Models: Document, Message, Announcement, FAQ Features: Document upload and sharing, internal messaging, announcement board, FAQ management, access control per document

KYC

Know Your Customer identity verification workflow.

bash
forge template:add kyc

Models: KYCRequest, KYCDocument, KYCStatus Features: Multi-step verification workflow, ID document upload and review, status tracking (Pending, Under Review, Approved, Rejected), admin review interface, compliance reporting

Marketplace

Multi-vendor marketplace with product listings, orders, and commission tracking.

bash
forge template:add marketplace

Models: Vendor, Product, Order, OrderItem, Review, Commission Features: Vendor registration and management, product listing with categories, order processing, review and rating system, commission calculation, vendor payout tracking

Donations

Donation and fundraising platform with campaign management.

bash
forge template:add donations

Models: Campaign, Donor, Donation, Goal Features: Campaign creation with goals and deadlines, one-time and recurring donations, donor management, progress tracking, tax receipt generation, campaign reports

Blog

Content management for articles, categories, tags, and comments.

bash
forge template:add blog

Models: Post, Category, Tag, Comment Features: Rich text editor with image uploads, category and tag organization, Comment moderation, SEO metadata (title, description, OG tags), RSS feed generation, author profiles


Template Comparison

TemplateModelsAdmin PagesPublic PagesPermissions
Base1215+830+
CRM67--20
Helpdesk77422
Appointment66414
Invoicing88222
Inventory88--18
Subscriptions65416

Combining templates

Templates are designed to be composable. You can add multiple templates to the same project. For example, a SaaS application might combine subscriptions + helpdesk + notifications to get billing, support, and multi-channel notifications in one application.

Next Steps

Released under the MIT License.