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
- Create the required directories:
mkdir -p scripts/AuroraRoutines
- 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:
- Checks for the existence of your routines directory
- Reads the
loadorder.json
file - 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
- Set up your development environment
- Create your basic file structure
- Implement your core functionality
- Add your rotation logic
- Test and refine
For more detailed information about specific components, check out: