Installation
Quick Overview
Create Aether CMS projects with no build configuration and seamless update capabilities.
npx create-aether-cms my-cms-site
cd my-cms-site
npm start
Then open http://localhost:8080 to see your site.
When you're ready to deploy to production, create a static build with npm run build
.
Creating a Project
Basic Installation
Option 1: Using npx (recommended)
npx create-aether-cms my-cms-site
Option 2: Using npm init
npm init aether-cms my-cms-site
Option 3: Using yarn create
yarn create aether-cms my-cms-site
Version-Specific Installation
# Install specific version
npx create-aether-cms my-blog --version v1.0.0
# Install specific git tag
npx create-aether-cms my-blog --tag stable
# Install specific commit
npx create-aether-cms my-blog --hash abc1234
# Show all available options
npx create-aether-cms --help
Available Version Options
Option | Description | Example |
---|---|---|
--version, -v |
Install specific version tag | --version v1.2.0 |
--tag, -t |
Install specific git tag | --tag stable |
--hash, --commit |
Install specific commit | --hash abc1234 |
--help, -h |
Show help message | --help |
Project Structure
This will create a directory called my-cms-site
inside the current folder.
Inside that directory, it will generate the initial project structure and install the dependencies.
my-cms-site/
├── README.md
├── node_modules/
├── package.json
├── package-lock.json
├── .gitignore
├── .gitattributes # ← NEW: Conflict-free updates
├── .env
├── index.js
├── core/
│ ├── admin/
│ ├── api/
│ ├── lib/
│ ├── routes/
│ └── utils/
├── assets/
│ ├── css/
│ └── js/ # ← Includes: New update utilities
└── content/
├── data/
│ └── settings.json # ← Enhanced with update preferences
├── themes/
└── uploads/
No configuration or complicated folder structures. Just the files you need to build your site.
What Happens During Installation
The installer automatically handles everything needed for a production-ready setup:
- 🔄 Repository Cloning: Downloads the complete Aether CMS codebase
- 🎯 Version Targeting: Switches to your specified version (if provided)
- ⚙️ Git Configuration: Sets up update-friendly remotes and conflict resolution
- 📦 Project Customization: Updates package.json with your project details
- 🛠️ Update System: Creates helper scripts for seamless future updates
- 📥 Dependencies: Installs all required npm packages
- 🚀 Initialization: Creates your first commit and optional repository setup
upstream
remote for updates and optionally connects to your own repository for pushing changes.
Interactive Setup
During installation, you'll be prompted for optional configuration:
# Example installation flow
🌳 Creating Aether CMS project: my-blog
🎯 Target: version = v1.0.0
📥 Cloning Aether CMS repository...
🎯 Switching to version v1.0.0...
📦 Installing dependencies...
🔄 Configuring git for seamless updates...
✅ Configured upstream remote for updates
Connect to your own Git repository? (y/n): y
Repository URL: https://github.com/username/my-blog.git
✅ Added your repository as origin
Push now? (y/n): y
✅ Pushed to your repository
🎉 Success! Created my-blog with seamless update support
Enhanced Features
Projects created with the latest version include powerful capabilities out of the box:
🔄 Built-in Update System
# Check for updates
npm run check-updates
# Apply updates safely
npm run update-aether
📊 Installation Metadata
Your project tracks installation details for better update management:
{
"aetherCMS": {
"installedVersion": "v1.0.0",
"installedAt": "2025-06-18T10:30:00.000Z",
"installOptions": {
"version": "v1.0.0",
"tag": null,
"hash": null
}
}
}
🛡️ Conflict-Free Updates
Automatic protection for your customization:
- ✅ Project name and version preserved
- ✅ Environment variables maintained
- ✅ Content and uploads protected
- ✅ Custom settings preserved
Requirements
- Node.js 18.x or later
- The latest version of npm installed
- Git (for version targeting and updates)
- macOS, Windows, and Linux are supported
Advantages Over Traditional Installation
Using create-aether-cms
offers significant benefits over traditional npm packages:
- 📁 Direct Code Access: All CMS code is in your project directory (not in node_modules)
- 🎨 Complete Customization: Modify any file without ejecting or complex overrides
- 🔄 Seamless Updates: Automated conflict-free updates preserve your customization
- 🎯 Version Control: Install any specific version, tag, or commit
- 🚀 Complete Application: Creates a fully functional project in one command
- ⚡ Modern Architecture: ESM modules, clean structure, and best practices
Comparison with npm install
Feature | create-aether-cms | npm install aether-cms |
---|---|---|
Code Access | ✅ Full source code | ❌ Limited to node_modules |
Customization | ✅ Modify anything | ❌ Requires ejecting |
Updates | ✅ Automated + safe | ❌ Manual migration |
Version Control | ✅ Any version/commit | ❌ Published versions only |
Git Integration | ✅ Built-in | ❌ Manual setup |
Next Steps
Once your project is created:
- 🚀 Start developing:
npm start
launches your development server - 📝 Add content: Use the admin interface at
/aether
(admin/admin) - 🎨 Customize themes: Modify files in
/content/themes/
- 🔄 Stay updated: Use
npm run check-updates
regularly