Skip to main content

Project Setup

This guide will help you set up your first Aurora Framework project.

Namespace Setup

Why Use Your Own Namespace?

A namespace helps you:

  • Avoid conflicts with other routines
  • Share data between your files
  • Keep your code organized and modular
  • Prevent variable collisions

How to Pass Your Namespace

When loading your routines, Aurora passes three arguments to each file:

YourNamespace = {}

Your namespace is passed automatically when your routines are loaded. Simply use it in your files:

File Structure

Your project should follow this structure:

📂 scripts/
└── 📂 AuroraRoutines/ # Your routines
├── 📄 loadorder.json # Load order configuration
├── 📄 Main.lua # Core routine
└── 📂 Routines/
└── 📂 Warrior/
└── 📂 Specialisation/
├── 📄 Spellbook.lua # Spellbook
├── 📄 Interface.lua # Interface
└── 📄 Rotation.lua # Rotation

Initial Setup

  1. Create the required directories:
mkdir -p scripts/AuroraRoutines
  1. Create a loadorder.json file in your AuroraRoutines directory:
[
"Main",
"Routines/Warrior/Specialisation/Spellbook",
"Routines/Warrior/Specialisation/Interface",
"Routines/Warrior/Specialisation/Rotation"
]
File Extensions

Do not add .lua to the file paths in loadorder.json. The framework automatically adds the extension when loading the files.

Loading System

Aurora uses a dynamic loading system that:

  1. Checks for the existence of your routines directory
  2. Reads the loadorder.json file
  3. Loads each file in the specified order

Best Practices

File Organization
  • Keep related functionality in separate files
  • Use descriptive file names
  • Maintain a logical load order
  • Place shared utilities in the Core file
Common Mistakes
  • Don't forget to update loadorder.json when adding new files
  • Ensure file names match exactly with the load order
  • Handle dependencies properly in your load order

Next Steps

  1. Set up your development environment
  2. Create your basic file structure
  3. Implement your core functionality
  4. Add your rotation logic
  5. Test and refine

For more detailed information about specific components, check out: