Skip to main content
The atlas create command scaffolds a new Atlas Engine project with all necessary files, dependencies, and build configuration.

Usage

atlas create <name> [path] [OPTIONS]

Arguments

name (required)

The name of your project. This will be used as:
  • The project name in CMakeLists.txt
  • The executable name (lowercase)
  • The source code directory name
  • The default application name
atlas create MyGame

path (optional)

Custom directory path where the project will be created. If not specified, creates a directory with the project name in the current location.
atlas create MyGame ./projects/mygame

Options

—version, -v

Specify the Atlas Engine version to use. Currently only "latest" is supported.
atlas create MyGame --version latest
Default: latest

—branch, -b

Specify a custom GitHub branch to pull engine files from. Useful for testing development versions.
atlas create MyGame --branch main
Default branches:
  • stable for version “latest”
  • main for version “dev”

Generated Project Structure

When you create a new project, the CLI generates the following structure:
MyGame/
├── MyGame/
│   └── main.cpp          # Application entry point
├── assets/               # Resource files directory
├── include/              # Custom header files
├── lib/
│   ├── include/          # Atlas Engine headers
│   │   ├── atlas/
│   │   └── extern/
│   ├── libatlas.a        # Core engine library
│   ├── libbezel.a        # Rendering library
│   ├── libfinewave.a     # Audio library
│   ├── libaurora.a       # Additional library
│   ├── libhydra.a        # Additional library
│   ├── libopal.a         # Additional library
│   └── libJolt.a         # Physics library
├── CMakeLists.txt        # CMake build configuration
└── atlas.toml            # Atlas CLI configuration

Example Workflow

1

Create the project

Run the create command with your project name:
atlas create SpaceShooter
Output:
Created main.cpp
Successfully fetched include files.
Successfully fetched extern include files.
Successfully fetched library files.
Created CMakeLists.txt
Project 'SpaceShooter' created successfully!
2

Navigate to project directory

cd SpaceShooter
3

Inspect generated files

The CLI creates a starter main.cpp with a basic scene:
#include <atlas/window.h>
#include <atlas/scene.h>
#include <atlas/object.h>

class MainScene : public Scene {
public:
    CoreObject cube;
    Camera camera;

    void initialize(Window& window) override {
        camera = Camera();
        window.setCamera(&camera);

        cube = createBox({1.0, 1.0, 1.0});
        window.addObject(&cube);

        this->setAmbientIntensity(0.2f);
    }
};

int main() {
    Window window({"Atlas App", 800, 600, false});
    MainScene scene;
    window.setScene(&scene);
    window.run();
    return 0;
}
4

Build and run

Test your new project:
atlas run

Dependencies

The create command automatically:
  1. Fetches engine headers from the Atlas GitHub repository
  2. Downloads precompiled libraries from the latest GitHub release
  3. Configures CMake with all required dependencies:
    • OpenGL
    • GLFW (windowing)
    • GLM (math)
    • Assimp (3D model loading)
    • Freetype (text rendering)
    • OpenAL (audio)
    • Jolt Physics

Configuration File

The generated atlas.toml contains default settings:
[project]
name = "SpaceShooter"
app_name = "SpaceShooter"

[pack]
icon = "none"
supported_platforms = "all"
You can customize these values before packaging your application.

Troubleshooting

Network Issues

If the create command fails to download files, check your internet connection. The CLI fetches files from:
  • github.com/maxvdec/atlas (source code)
  • GitHub API for release assets

Version Errors

Only "latest" version is currently supported:
Error: Only 'latest' version is supported at the moment.
Avoid using other version strings unless using --branch for custom builds.

Next Steps

After creating your project:
  1. Build and run your project
  2. Package for distribution
  3. Explore the Atlas Engine API documentation

Build docs developers (and LLMs) love