Skip to content

VelaBuild/cms

Repository files navigation

Vela CMS

A ready-to-go project starter for Vela.build — clone once, customise forever, receive updates via Composer.

License: MIT

About

This repository is the starting point for new Vela-powered sites. It provides a standard Laravel application pre-configured with the Vela Core package. You clone it once to begin your project, then never pull from this repo again — all CMS updates arrive through the velabuild/core Composer package.

Requirements

  • PHP 8.1+
  • Composer
  • MySQL 5.7+ / MariaDB 10.3+ / PostgreSQL 10+
  • Node.js 16+ (for asset compilation)

Installation

Web Installer (recommended)

The easiest way to get started — no command line required.

  1. Clone the starter and point your web server at the public/ directory:
git clone https://github.com/velabuild/cms.git my-site
  1. Visit your site in a browser. You'll be automatically redirected to the installation wizard, which walks you through:

    • Requirements check — PHP version, extensions, directory permissions
    • Database & environment — enter your database credentials, site name, and URL. The installer tests the connection and writes your .env file automatically.
    • Dependencies — installs Composer packages (downloads Composer itself if needed)
    • Database setup — runs migrations, seeds permissions and roles, creates the storage symlink
    • Admin account — create your first admin user
    • Finalize — generates static files and marks the installation as complete

Once finished, the installer disables itself and you're taken straight to the admin panel.

CLI Installation (alternative)

If you prefer the command line, or are setting up in a CI/CD pipeline:

git clone https://github.com/velabuild/cms.git my-site
cd my-site
composer install
cp .env.example .env
php artisan key:generate

Edit .env with your database credentials, site details, and API keys, then run:

php artisan vela:install

This will publish config and assets, run migrations, seed default data, create the storage symlink, and prompt you to create an admin user.

After installation

Detach from the starter repo — this is your project now:

git remote remove origin
git remote add origin <your-own-repo-url>

Native App Setup (optional)

To build native Android/iOS apps with Capacitor:

php artisan vela:app-init

This creates a Capacitor project in /capacitor/, installs platform dependencies, and generates the config from your site settings.

Updating Vela Core

CMS updates are delivered through Composer. Your site-level customisations (templates, config, routes, app overrides) are untouched by updates:

composer update velabuild/core

After updating, check for new migrations or publishable assets:

php artisan migrate
php artisan vendor:publish --tag=vela-assets --force

Project Structure

├── app/                    # Your application overrides
│   ├── Http/               # Custom controllers, middleware
│   ├── Models/             # Custom models (extend Vela models if needed)
│   └── Providers/          # App service providers
├── config/
│   └── vela.php            # Vela configuration (override package defaults)
├── database/
│   └── seeders/            # Your custom seeders
├── public/                 # Web root
├── resources/
│   ├── views/              # Override Vela views here
│   ├── lang/vendor/vela/   # Translation overrides (published from core)
│   └── static/             # Static site cache
├── routes/
│   └── web.php             # Your custom routes
├── storage/                # Logs, cache, uploads
└── tests/                  # Your tests

Customisation

Templates

Set your active template in .env:

SITE_TEMPLATE=my-template

Or in config/vela.php:

'template' => [
    'active' => 'my-template',
],

Overriding Views

Publish Vela views to customise them:

php artisan vendor:publish --tag=vela-views

Published views in resources/views/vendor/vela/ take priority over the package views.

Overriding Translations

All translations ship with Vela Core and update automatically. To override specific strings:

php artisan vendor:publish --tag=vela-lang

Published translations in resources/lang/vendor/vela/ take priority. Only override what you need — unpublished keys continue to receive updates from core.

Configuration

All Vela configuration can be overridden in config/vela.php. See the file for available options including route prefixes, middleware, languages, AI providers, and image optimisation settings.

AI Services

Configure one or more AI providers in .env:

OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GEMINI_API_KEY=...
AI_TEXT_PROVIDER=openai
AI_IMAGE_PROVIDER=gemini

Testing

php artisan test

Or directly:

vendor/bin/phpunit

Security

If you discover a security vulnerability, please email m@awcode.com instead of opening a public issue.

License

Vela CMS is open-source software licensed under the MIT License.

Links

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors