Skip to content

Project Templates

Scaffolding lets you create new projects from pre-built templates. Instead of starting from scratch, choose a template and get a complete, working project structure with all necessary files, dependencies, and configurations.

  • React + TypeScript - Modern React with TypeScript, Vite, and Tailwind CSS
  • React + Next.js - Full-stack React with SSR, API routes, and TypeScript
  • React + Vite - Lightweight React setup with fast development server
  • Vue 3 + TypeScript - Vue 3 with Composition API, TypeScript, and Vite
  • Vue + Nuxt - Full-stack Vue with SSR, routing, and TypeScript
  • Svelte + TypeScript - Svelte with TypeScript and Vite
  • SvelteKit - Full-stack Svelte with SSR and TypeScript
  • Express + TypeScript - REST API with Express, TypeScript, and MongoDB
  • Fastify + TypeScript - High-performance API with Fastify and TypeScript
  • NestJS + TypeScript - Enterprise-grade framework with dependency injection
  • FastAPI - Modern async API with automatic documentation
  • Django - Full-featured web framework with ORM and admin
  • Flask - Lightweight API with SQLAlchemy
  • Go + Gin - High-performance API with Gin framework
  • Rust + Actix - Safe, concurrent web server
  • Elixir + Phoenix - Fault-tolerant real-time applications
  • MongoDB + Express + React + Node.js - Complete JavaScript stack
  • Includes authentication, CRUD operations, and deployment configs
  • Next.js + TypeScript + Prisma + PostgreSQL - Modern static/dynamic hybrid
  • Includes CMS integration, API routes, and hosting setup
  • Docker + Node.js + Express + Redis - Containerized microservices
  • Includes service discovery, load balancing, and monitoring
  • React Native + TypeScript - Cross-platform mobile apps
  • Includes navigation, state management, and build configs
  • Flutter + Dart - Native mobile apps with single codebase
  • Includes Material Design, state management, and testing
  1. Click New App on welcome screen
  2. Browse available templates
  3. Select template
  4. Configure project options
  5. Click Create Project
  1. Browse Categories - Frontend, Backend, Full-Stack, Mobile
  2. Filter by Technology - React, Vue, Python, Node.js, etc.
  3. Preview Template - See included files and structure
  4. Read Description - Understand features and dependencies

For each template, configure:

  • Project Name - Human-readable name
  • Project ID - URL-friendly identifier
  • Description - Brief project description
  • Author - Your name or organization
  • Package Manager - npm, yarn, pnpm, or bun
  • TypeScript - Enable/disable TypeScript support
  • Testing Framework - Jest, Vitest, or Pytest
  • Styling - CSS framework or preprocessor
  • Git Repository - Auto-create GitHub repo
  • CI/CD - Setup GitHub Actions or similar
  • Deployment - Configure hosting provider
  • Environment - Development vs production settings

Every template includes:

project-name/
├── src/ # Source code
├── public/ # Static assets
├── tests/ # Test files
├── docs/ # Documentation
├── .gitignore # Git ignore rules
├── package.json # Dependencies and scripts
├── README.md # Project documentation
└── config files # TypeScript, linting, etc.
  • Package manager configuration - package.json, requirements.txt, etc.
  • Build system - Vite, Webpack, or equivalent
  • Linting and formatting - ESLint, Prettier, or equivalent
  • Testing setup - Test framework configuration and example tests
  • Development server - Hot reload and debugging
  • README.md - Project overview and setup instructions
  • API documentation - Auto-generated or manual API docs
  • Contributing guide - Guidelines for contributors
  • License - Appropriate open source license
  • Component structure - Reusable component patterns
  • State management - Context API, Redux, or Zustand
  • Routing - React Router setup with example routes
  • Styling - CSS modules, styled-components, or Tailwind
  • Hooks - Custom hooks for common patterns
  • Express setup - Middleware configuration and error handling
  • Database integration - MongoDB, PostgreSQL, or SQLite setup
  • Authentication - JWT or session-based auth
  • API documentation - Swagger/OpenAPI setup
  • Environment config - Development and production settings
  • Virtual environment - venv or conda setup
  • Dependency management - pip or poetry configuration
  • Web framework - Flask, FastAPI, or Django setup
  • Database ORM - SQLAlchemy, Django ORM, or Tortoise
  • Testing - pytest configuration and example tests

Create your own templates for team consistency:

  1. Create template structure:

    my-template/
    ├── template.json # Template metadata
    ├── template/ # Project template files
    │ ├── src/
    │ ├── package.json
    │ └── README.md
    └── hooks/ # Post-generation scripts
    └── install.sh
  2. Define template.json:

    {
    "name": "My Custom Template",
    "description": "Custom template for our team's projects",
    "category": "Frontend",
    "technologies": ["React", "TypeScript", "Tailwind"],
    "version": "1.0.0",
    "author": "Your Name",
    "repository": "https://github.com/user/template-repo",
    "variables": [
    {
    "name": "projectName",
    "type": "string",
    "description": "Name of the project",
    "required": true
    },
    {
    "name": "includeAuth",
    "type": "boolean",
    "description": "Include authentication setup",
    "default": false
    }
    ]
    }
  3. Create template files with variables:

    package.json
    {
    "name": "{{projectName}}",
    "version": "1.0.0",
    "dependencies": {
    "react": "^18.0.0"
    {{#includeAuth}}
    ,"@auth0/auth0-react": "^2.0.0"
    {{/includeAuth}}
    }
    }
  4. Add post-generation hooks:

    hooks/install.sh
    #!/bin/bash
    echo "Installing dependencies..."
    npm install
    echo "Setting up git..."
    git init
    git add .
    git commit -m "Initial commit from template"

Use variables in template files:

{
"name": "{{projectName}}",
"description": "{{projectDescription}}"
}
{{#includeAuth}}
"dependencies": {
"@auth0/auth0-react": "^2.0.0"
}
{{/includeAuth}}
"dependencies": {
{{#dependencies}}
"{{name}}": "^{{version}}",
{{/dependencies}}
}

Store templates in:

~/.tarsk/templates/
├── my-react-template/
├── company-backend/
└── fullstack-template/

Share templates via Git repository:

  1. Create template repo on GitHub/GitLab
  2. Add template URL in Tarsk settings:
    https://github.com/user/template-repo
  3. Templates auto-sync when creating new projects

After scaffold creation:

  1. Automatic dependency installation

    • Runs npm install, pip install, or equivalent
    • Shows progress and any errors
    • Creates lock files for reproducibility
  2. Git initialization

    • Creates .git repository
    • Adds initial commit with template files
    • Sets up remote if repository URL provided
  3. Development server start

    • Starts dev server automatically
    • Opens browser to local URL
    • Shows build status and any errors
  1. Explore the structure - Understand generated files and folders
  2. Review configuration - Update package.json, environment files
  3. Run tests - Verify everything works correctly
  4. Customize - Add your specific logic and styling
  5. Commit changes - Save your modifications
package.json
{
"name": "my-awesome-project",
"version": "0.1.0",
"description": "A description of my project",
"author": "Your Name",
"license": "MIT"
}
.env.example
DATABASE_URL=postgresql://user:pass@localhost:5432/db
JWT_SECRET=your-secret-key
API_KEY=your-api-key
src/styles/globals.css
:root {
--primary-color: #3b82f6;
--secondary-color: #64748b;
--background-color: #ffffff;
}

When templates are updated:

  1. Check for updates - Tarsk notifies of newer template versions
  2. Review changes - See what’s new in updated template
  3. Update existing projects - Apply changes to current projects
  4. Migrate manually - Handle breaking changes carefully

Templates use semantic versioning:

  • Major (X.0.0) - Breaking changes, manual migration required
  • Minor (0.X.0) - New features, backward compatible
  • Patch (0.0.X) - Bug fixes, safe to update

Rate and review templates:

  1. Use template - Create project from template
  2. Provide feedback - Rate quality and documentation
  3. Report issues - Help template authors improve
  4. Share experiences - Help others choose templates
  1. Match your stack - Choose technologies you know
  2. Consider complexity - Start simple, add complexity later
  3. Check maintenance - Active templates are more reliable
  4. Read documentation - Understand included features
  5. Preview structure - Ensure it fits your needs
  1. Start with template - Don’t reinvent the wheel
  2. Understand structure - Know why files are organized certain ways
  3. Modify gradually - Make small changes and test
  4. Keep improvements - Save customizations for future projects
  5. Share back - Contribute improvements to template authors
  1. Standardize - Create team-specific templates
  2. Include conventions - Add coding standards and patterns
  3. Document everything - Explain team-specific choices
  4. Version control - Track template changes
  5. Train team - Ensure everyone knows how to use templates

Scaffolding accelerates project setup while maintaining consistency and best practices across your organization’s projects.