# Welcome

## Welcome to the Genesys Framework Documentation

Welcome to the official documentation for Genesys, an opinionated, developer-friendly framework for ROS 2. Genesys is designed to reduce boilerplate, streamline common workflows, and provide a "happy path" for robotics development. It wraps the powerful but sometimes verbose ROS 2 toolchain in a single, intuitive CLI, allowing you to focus on logic, not setup.

The goal of Genesys is not to replace ROS 2, but to enhance it. It provides a robust foundation so you can focus on what matters most: creating innovative features and delivering value.

**Key Principle:** Every Genesys project remains a 100% valid ROS 2 project. You can always fall back to standard tools like `colcon build` and `ros2 run` at any time.

### Why Genesys?

Genesys was built to address common pain points for both beginners and experienced ROS 2 developers:

* **Simplified Build System:** Automates package creation, dependency management, and the `colcon` build process into a single `genesys build` command.
* **Zero Boilerplate:** Uses Python decorators (`@node`, `@publisher`) and C++ macros to radically simplify node, publisher, and subscriber creation.
* **Automated Configuration:** Auto-generates and registers launch files, configuration, and executables. No more manually editing [`setup.py`](code-assist-path:c:\Users\HP\Documents\genesys\Genesys\setup.py) or `CMakeLists.txt` to add a new node.
* **Unified Tooling:** Provides a single, cohesive CLI (`genesys`) for creating, building, running, and simulating your projects, replacing a fragmented set of commands.

### Jump right in

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h4><i class="fa-bolt">:bolt:</i></h4></td><td><strong>Quickstart</strong></td><td>New to Genesys? This is the place for you.</td><td></td><td></td><td><a href="getting-started/quickstart">quickstart</a></td></tr><tr><td><h4><i class="fa-brain-circuit">:brain-circuit:</i></h4></td><td><strong>The Genesys Way</strong></td><td>Want to understand the magic behind Genesys?</td><td></td><td></td><td><a href="getting-started/the-genesys-way">the-genesys-way</a></td></tr><tr><td><h4><i class="fa-keyboard">:keyboard:</i></h4></td><td><strong>Command Reference</strong></td><td>Looking for a specific command?</td><td></td><td></td><td><a href="getting-started/command-reference">command-reference</a></td></tr><tr><td>@</td><td><strong>Decorator Reference</strong></td><td>Need detailed information on a specific decorator like <code>@node</code>, <code>@subscriber</code>, or <code>@timer</code>?</td><td></td><td></td><td><a href="getting-started/decorator-reference">decorator-reference</a></td></tr></tbody></table>

### Join the Community

The Genesys Framework is a collaborative project, and we welcome contributions from our community. Whether it's reporting a bug, suggesting a new feature, or improving this documentation, your input is valuable.

* <https://github.com/isaac-hash/Genesys>: View the source code, report issues, and submit pull requests.

We're excited to see what you build with Genesys!
