# Developer Information

## Ansible Developer Guide

Welcome to the Ansible Developer Guide!

The purpose of this guide is to document all of the paths available to you for interacting and shaping Ansible with code, ranging from developing modules and plugins to helping to develop the Ansible Core Engine via pull requests.

To get started, select one of the following topics.

- Ansible Architecture
- Developing Modules
- Ansible Module Development Walkthrough
- Environment setup
- New module development
- Local/direct module testing
- Playbook module testing
- Debugging (local)
- Debugging (remote)
- Unit testing
- Going Further
- Communication and development support
- Credit
- Windows Ansible Module Development Walkthrough
- Windows environment setup
- Windows new module development
- Windows playbook module testing
- Windows debugging
- Windows unit testing
- Windows integration testing
- Windows communication and development support
- Documenting Your Module
- Conventions, Best Practices, and Pitfalls
- Debugging AnsibleModule-based modules
- Module Paths
- Common Pitfalls
- Contributing Your Module to Ansible
- Information for submitting a group of modules
- Modules
- Appendix: Module Utilities
- Developing Plugins
- Developing Dynamic Inventory Sources
- Developing the Ansible Core Engine
- Ansible and Python 3
- Python API
- Rebasing a Pull Request
- Testing Ansible
- Repo Merge
- Release and maintenance
- Committers Guidelines (for people with commit rights to Ansible on GitHub)
- Ansible Style Guide