{"id":28539282,"url":"https://github.com/lebcit/create-aether-cms","last_synced_at":"2026-03-15T15:04:12.102Z","repository":{"id":297536631,"uuid":"997106078","full_name":"LebCit/create-aether-cms","owner":"LebCit","description":"Aether CMS Initializer","archived":false,"fork":false,"pushed_at":"2025-06-17T09:35:03.000Z","size":31,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-17T16:56:11.648Z","etag":null,"topics":["aether","cms","create","file-based","generator","initializer","litenode","static-site","website"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LebCit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-06T01:05:47.000Z","updated_at":"2025-06-17T09:34:35.000Z","dependencies_parsed_at":"2025-06-06T01:41:30.105Z","dependency_job_id":"114e4648-084b-4a1f-8f3a-7948c08e4035","html_url":"https://github.com/LebCit/create-aether-cms","commit_stats":null,"previous_names":["lebcit/create-aether-cms"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LebCit/create-aether-cms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LebCit%2Fcreate-aether-cms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LebCit%2Fcreate-aether-cms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LebCit%2Fcreate-aether-cms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LebCit%2Fcreate-aether-cms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LebCit","download_url":"https://codeload.github.com/LebCit/create-aether-cms/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LebCit%2Fcreate-aether-cms/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270877366,"owners_count":24661124,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aether","cms","create","file-based","generator","initializer","litenode","static-site","website"],"created_at":"2025-06-09T18:31:27.538Z","updated_at":"2026-03-15T15:04:12.065Z","avatar_url":"https://github.com/LebCit.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Create Aether CMS\n\nCreate Aether CMS projects with no build configuration and seamless update capabilities.\n\n## Quick Overview\n\n```bash\nnpx create-aether-cms my-cms-site\ncd my-cms-site\nnpm start\n```\n\nThen open [http://localhost:8080](http://localhost:8080) to see your site.\n\nWhen you're ready to deploy to production, create a static build with `npm run build`.\n\n## Creating a Project\n\n### Basic Installation\n\n```bash\nnpx create-aether-cms my-cms-site\n```\n\n### Version-Specific Installation\n\nInstall a specific version, tag, or commit:\n\n```bash\n# Install specific version\nnpx create-aether-cms my-blog --version v1.0.0\n\n# Install specific git tag\nnpx create-aether-cms my-blog --tag stable\n\n# Install specific commit\nnpx create-aether-cms my-blog --hash abc1234\n\n# Show all available options\nnpx create-aether-cms --help\n```\n\n### Alternative Package Managers\n\n```bash\n# Using npm init\nnpm init aether-cms my-cms-site\n\n# Using yarn create\nyarn create aether-cms my-cms-site\n```\n\nThis will create a directory called `my-cms-site` inside the current folder.  \nInside that directory, it will generate the initial project structure and install the dependencies.\n\n```txt\nmy-cms-site/\n├── README.md\n├── node_modules/\n├── package.json\n├── package-lock.json\n├── .gitignore\n├── .gitattributes           # ← NEW: Conflict-free updates\n├── .env\n├── index.js\n├── core/\n│   ├── admin/\n│   ├── api/\n│   ├── lib/\n│   ├── routes/\n│   └── utils/\n├── assets/\n│   ├── css/\n│   └── js/                  # ← CONTAINS: New Update utilities\n└── content/\n    ├── data/\n    │   └── settings.json    # ← Enhanced with update preferences\n    ├── themes/\n    └── uploads/\n```\n\nNo configuration or complicated folder structures. Just the files you need to build your site.\n\n## Requirements\n\n-   Node.js 18.0.0 or later\n-   npm 8.6.0 or later\n-   Git (for version targeting and updates)\n-   macOS, Windows, and Linux are supported\n\n## Advantages Over Traditional npm Installation\n\nUsing `create-aether-cms` offers several key benefits:\n\n1. **Direct Code Access**: All CMS code is directly in your project directory (not in node_modules)\n2. **Easier Customization**: Modify any file without ejecting or complex overrides\n3. **Seamless Updates**: Automated conflict-free updates with your customizations preserved\n4. **Version Control**: Install any specific version, tag, or commit\n5. **Complete Application**: Creates a fully functional project in one command\n6. **Modern Defaults**: Follows modern JavaScript practices with ESM support\n\n## What Happens During Installation\n\nWhen you run `create-aether-cms`, it:\n\n1. **Clones the Repository**: Downloads the complete Aether CMS codebase\n2. **Version Targeting**: Switches to your specified version (if provided)\n3. **Git Configuration**: Sets up remotes and conflict-free update system:\n    - `upstream` points to the original Aether CMS repo (for updates)\n    - `origin` can be set to your own repository (optional)\n4. **Project Customization**: Updates package.json with your project details\n5. **Update System**: Creates helper scripts and configuration for seamless updates\n6. **Dependency Installation**: Installs all required npm packages\n7. **Initialization Commit**: Creates a commit marking your project start\n\n## Update System\n\nYour project includes a powerful update system that preserves your customizations while applying upstream improvements.\n\n### Check for Updates\n\n```bash\n# Using npm script (recommended)\nnpm run check-updates\n\n# Using CLI directly\nnode assets/js/check-updates.js\n\n# Using git directly\ngit fetch upstream\ngit log HEAD..upstream/main --oneline  # See what's new\n```\n\n### Apply Updates\n\n```bash\n# Automated update (preserves your settings)\nnpm run update-aether\n\n# Manual git approach\ngit merge upstream/main\n\n# Or apply specific updates\ngit cherry-pick \u003ccommit-hash\u003e\n```\n\n### Resolve Conflicts\n\nIf you've customized core files, you may encounter merge conflicts:\n\n```bash\n# After running git merge upstream/main\n# Edit files to resolve conflicts, then:\ngit add .\ngit commit -m \"Resolve merge conflicts\"\n```\n\n**Note**: The `upstream` remote is automatically configured during project creation, so you don't need to add it manually.\n\n### If You Need to Re-add the Upstream Remote\n\nIf for some reason the upstream remote is missing, you can add it:\n\n```bash\n# Check existing remotes\ngit remote -v\n\n# Add upstream if it doesn't exist\ngit remote add upstream https://github.com/LebCit/aether-cms.git\n```\n\n## What's Protected During Updates\n\nThe update system automatically preserves your customizations:\n\n✅ **Always Protected**:\n\n-   Your project name and version\n-   Environment variables (`.env`)\n-   Content and uploads (`/content/`)\n-   Custom settings (`settings.json`)\n-   Git ignore rules (`.gitignore`)\n\n✅ **Intelligently Merged**:\n\n-   New features and bug fixes\n-   Security updates\n-   Performance improvements\n-   New dependencies\n\n⚠️ **May Require Attention**:\n\n-   Core files you've modified (will show merge conflicts)\n-   Changes to the default theme\n\n## Version Management\n\n### Available Options\n\n| Option      | Description                  | Example            |\n| ----------- | ---------------------------- | ------------------ |\n| `--version` | Install specific version tag | `--version v1.2.0` |\n| `--tag`     | Install specific git tag     | `--tag stable`     |\n| `--hash`    | Install specific commit      | `--hash abc1234`   |\n\n### Installation Metadata\n\nEach installation stores metadata for better update management:\n\n```json\n{\n    \"aetherCMS\": {\n        \"templateName\": \"aether-cms\",\n        \"installedVersion\": \"v1.0.0\",\n        \"installedAt\": \"2025-01-15T10:30:00.000Z\",\n        \"installOptions\": {\n            \"version\": \"v1.0.0\",\n            \"tag\": null,\n            \"hash\": null\n        }\n    }\n}\n```\n\n## Setting Up Your Own Repository\n\nDuring installation, you can optionally connect to your own Git repository:\n\n```bash\n# During installation, when prompted:\n# \"Connect to your own Git repository? (y/n): y\"\n# \"Repository URL: https://github.com/YOUR_USERNAME/your-project.git\"\n\n# Or add it later:\ngit remote add origin https://github.com/YOUR_USERNAME/your-project.git\ngit push -u origin main\n```\n\n## Advanced Git Configuration\n\nThe installer automatically configures Git for optimal update handling:\n\n-   **Conflict Resolution**: Uses `.gitattributes` to prevent conflicts on user files\n-   **Remote Management**: Properly configured upstream for updates\n-   **Branch Strategy**: Creates a clean main branch for your project\n\n## CLI Reference\n\n```bash\n# Basic usage\nnpx create-aether-cms \u003cproject-name\u003e [options]\n\n# Options\n--version, -v \u003cversion\u003e   Install specific version (e.g., v1.2.0)\n--tag, -t \u003ctag\u003e          Install specific git tag (e.g., stable)\n--hash, --commit \u003chash\u003e  Install specific commit hash\n--help, -h               Show help message\n\n# Examples\nnpx create-aether-cms my-blog\nnpx create-aether-cms my-blog --version v1.0.0\nnpx create-aether-cms my-blog --tag stable\nnpx create-aether-cms my-blog --hash abc1234\n```\n\n## Troubleshooting\n\n### Update Issues\n\nIf updates fail, the system automatically creates a backup:\n\n```bash\n# Check available branches\ngit branch -a\n\n# Restore from backup if needed\ngit checkout backup-[timestamp]\ngit checkout main\ngit reset --hard backup-[timestamp]\n```\n\n### Manual Update Recovery\n\n```bash\n# Reset to clean state\ngit fetch upstream\ngit reset --hard upstream/main\n\n# Restore your settings\ngit checkout HEAD~1 -- .env package.json content/data/settings.json\n```\n\n### Missing Upstream Remote\n\n```bash\n# Re-add upstream remote\ngit remote add upstream https://github.com/LebCit/aether-cms.git\ngit fetch upstream\n```\n\n## Alternative: Fork-Based Approach\n\nFor maximum control, you can also fork the repository:\n\n1. Fork https://github.com/LebCit/aether-cms on GitHub\n2. Use create-aether-cms with your fork:\n    ```bash\n    git clone https://github.com/YOUR_USERNAME/aether-cms.git my-site\n    cd my-site\n    git remote add upstream https://github.com/LebCit/aether-cms.git\n    ```\n\n## Learn More\n\n-   [Aether CMS Documentation](https://aether-cms.pages.dev/)\n-   [Theme Development Guide](https://aether-cms.pages.dev/documentation/theming/)\n-   [API Reference](https://aether-cms.pages.dev/documentation/api-reference/)\n-   [Update System Guide](https://aether-cms.pages.dev/documentation/getting-started/update/)\n\n## License\n\nCreate Aether CMS is open source software licensed under the **[GNU General Public License version 3.0 or later (GPL-3.0-or-later)](https://www.gnu.org/licenses/gpl-3.0.html)**.  \nSee the [LICENSE](LICENSE) file for full license details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flebcit%2Fcreate-aether-cms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flebcit%2Fcreate-aether-cms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flebcit%2Fcreate-aether-cms/lists"}