Developer Guide¶
Welcome to AirStack development! This guide will help you extend and customize the autonomy stack for your needs. AirStack is designed with modularity in mind, making it straightforward to swap components and add new capabilities.
New to AirStack?
Start with the Beginner Tutorials to understand core concepts, then progress through intermediate and advanced topics as needed.
Learning Path¶
🎯 Beginner Tutorials¶
Start here if you're new to AirStack development:
- Key Concepts - Understand the AirStack workflow and architecture
- Development Environment - Set up your IDE and tools
- Fork Your Own Project - Create your own AirStack-based project
- VSCode Debugging - Debug ROS 2 nodes in containers
Reference Documentation:
- AirStack CLI Introduction - Essential CLI commands
- Docker Workflow - Container management details
📈 Intermediate Tutorials¶
Build on the basics with testing and best practices:
- Testing Guide - Test your modules effectively
- Unit Testing
- Integration Testing
- System Testing
- CI/CD
- Frame Conventions - Coordinate frame standards
- Contributing - Contribute to AirStack
- Documentation Guide - Write great documentation
🚀 Advanced Tutorials¶
Deep dives into advanced topics:
- AI Agent Guide - Automate development with AI
- Extending the CLI - Add custom CLI commands
- CLI Architecture - Understand CLI internals
Quick Reference¶
Common Tasks¶
| Task | Guide |
|---|---|
| Add a new planner | Integration Checklist |
| Add a world model | Integration Checklist |
| Create simulation scene | Isaac Sim Setup |
| Debug a module | VSCode Debugging |
| Write tests | Testing Guide |
Essential Commands¶
# Start development environment
airstack up robot-desktop
# Build and test your code
docker exec airstack-robot-desktop-1 bash -c "bws --packages-select my_package"
# Connect to container
airstack connect robot
See CLI Introduction for complete command reference.
Architecture Resources¶
Before diving into development, understand the system:
- System Architecture - How components interact
- Autonomy Modules - Layer-by-layer breakdown
- Integration Checklist - Module integration guide
Getting Help¶
- Documentation: Search this site for guides and references
- GitHub Issues: Report bugs and request features
- AirStack Slack: Join
#airstackfor discussions (AirLab members)