4. Developer Tools¶
This chapter describes the development ecosystem generally used to create new modules.
- 4.1. Working with Git as a user
- 4.1.1. ns-3’s Git workflow in a nutshell
 - 4.1.2. Setup of a personal repository
 - 4.1.3. Add the official ns-3 repository as remote upstream
 - 4.1.4. Add your forked repository as remote
 - 4.1.5. Keep in sync your repository with latest ns-3-dev updates
 - 4.1.6. Start a new branch to do some work
 - 4.1.7. Edit and commit the modifications
 - 4.1.8. Rebase your branch on top of master
 - 4.1.9. Pushing your changes to origin
 - 4.1.10. Submit work for review
 - 4.1.11. Porting patches from mercurial repositories to Git
 
 - 4.2. Working with Git as a maintainer
 - 4.3. Working with CMake
 - 4.4. Logging
 - 4.5. Tests
 - 4.6. Creating a new ns-3 model
 - 4.7. Adding a New Module to ns-3
- 4.7.1. Step 0 - Module Layout
 - 4.7.2. Step 1 - Create a Module Skeleton
 - 4.7.3. Step 3 - Declare Source Files
 - 4.7.4. Step 4 - Declare Public Header Files
 - 4.7.5. Step 5 - Declare Tests
 - 4.7.6. Step 6 - Declare Examples
 - 4.7.7. Step 7 - Examples Run as Tests
 - 4.7.8. Step 8 - Configure and Build
 - 4.7.9. Step 9 - Python Bindings
 
 - 4.8. Creating Documentation
 - 4.9. Profiling
 - 4.10. Working with gitlab-ci-local
 - 4.11. Working with Docker