Thanks for considering a contribution to this ns-3 App Store module. All
modules in the ns3-ntn-toolkit family follow the same workflow.
- Check the existing issues on the repo.
- Open a new issue with:
- ns-3 release you are on (e.g.,
release ns-3.43) - Minimal
.ccfile or command line that reproduces the problem - Full stack trace /
NS_LOGoutput
- ns-3 release you are on (e.g.,
- Fork the repository.
- Create a feature branch from
main:git checkout -b fix/short-description
- Follow the ns-3 coding style:
- Run
clang-format -iusing the root.clang-formatshipped withns-3-dev. - Keep public APIs documented with Doxygen.
- Run
- Add or extend a unit test under
test/for any behavioural change. - Verify
./ns3 test --suite=<module>passes locally. - Commit with a short, imperative subject line; reference issues with
Fixes #NNwhere applicable. - Open a pull request against
main.
- C++17, 4-space indentation, 100-column soft limit.
CamelCasefor types,m_camelCasefor members,camelCasefor variables.- One public class per header file when practical.
- No
using namespacein headers. - Every new class gets an
ObjectBase+GetTypeIdpairing unless it is a pure helper.
All contributions are accepted under GPL-2.0-only. By submitting a patch you certify the contents of your patch under the Developer Certificate of Origin (DCO) v1.1 (https://developercertificate.org).
Add an SPDX header to every new source file:
// SPDX-License-Identifier: GPL-2.0-only
// Copyright (c) 2026 Muhammad Uzair and contributorscd ns-3-dev
./ns3 configure --enable-examples --enable-tests
./ns3 build
./ns3 test --suite=<module-name>- Mailing list:
ns-developers@googlegroups.com - App Store discussion: https://www.nsnam.org/support/
- Module maintainer: Muhammad Uzair muhammaduzairr69@gmail.com (ORCID 0009-0002-4104-2680)