Contribute#
A Warm Welcome#
Great that you want to contribute!
Tip
All contributions are welcome! Think of corrections on the manual, code and more or better tests.
Not a coder? Not a problem! Python File Audit is multifaceted, so I always can use help. These are all activities we’d like to get help with :
Writing and improving the documentation
Code maintenance and development
Community coordination
Advocating Python secure programming
Developing educational content
Fundraising
Marketing
Project management
Translating content
Website design and development
Or just make a donation!
The File Audit code repository is hosted at Github.
Simple Guidelines:
Questions, Feature Requests, Bug Reports should all be reported on the Github Issue Tracker .
Make the pull request small, so one issue or improvement per pull request. All improvements are verified by a human!
Black is used for code style. But for a simple fix, using
Blackis not required!
This fileaudit tool is designed by applying Zero Complexity By Design principles. So the goal is to keep the tool simple to use and the code simple to adjust or to extend.
Warning
This simple tool is designed to be simple to use and maintain.
Pull Requests are welcome!
When you contribute to Python Code Audit, your contributions are made under the same license as the file you are working on.
We adopt the Collective Code Construction Contract(C4) to streamline collaboration. C4 is meant to provide a reusable optimal collaboration model for open source software projects.
Attention
This project values respect and inclusiveness, and enforces a Code of Conduct in all interactions.
Note
This is an open community driven project. Contributors will be mentioned in the documentation.
Help with development#
Start with Code Development
Making code contributions to Python File Audit should be fun and simple!
Setting Up a Local Development Environment#
Follow these steps to create a local development environment so you can contribute to Python File Audit.
1. Create and activate a Conda environment#
conda create --name fileaudit_dev python=3.15
conda activate fileaudit_dev
2. Install required tools#
pip install hatch
pip install codeaudit
pip install -U pytest
3. Clone the repository and install in editable mode#
Clone the repository from GitHub, then install the package in editable mode from the project root:
git clone https://github.com/nocomplexity/fileaudit.git
cd fileaudit
pip install -e .
4. Verify the installation#
Run the test suite to confirm everything is working:
pytest
All tests should pass.
5. Build the documentation (optional)#
To build the documentation, install Jupyter Book version 1 (the 100% Sphinx-compatible version):
pip install "jupyter-book<2"
You can then build the docs locally from the docs/ directory using the standard Jupyter Book commands.
To build the documentation, switch to the documentation directory, cd docs from the project root and do:
jb build .
But mind the manual is automatically build using a gitbub action when files under docs are changed.
Code of Conduct#
Version : 1.0
As contributors, maintainers, administrators and founders of the Python fileaudit Community projects, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.
Examples of unacceptable behavior by participants include:
The use of sexualized language or imagery.
Personal attacks.
Trolling or insulting/derogatory comments.
Public or private harassment.
Publishing other’s private information, such as physical or electronic addresses, without explicit permission.
Other unethical or unprofessional conduct.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, documentation edits, issues, and other contributions that are not aligned to this Code of Conduct.
By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.
This Code of Conduct is adapted from the Contributor Covenant, version 1.2.0, available at http://contributor-covenant.org/version/1/2/0/.
Generative AI / LLM Policy#
Everyone is free to make contributions with or without AI assistance. Especially since English is not the native language of many people and users.
BUT: Due to both legal and human reasons, we have to establish boundaries.
Caution
We take the responsibility for this project very seriously and we expect you to take your responsibility for your contributions seriously, too.
Every contribution has to be backed by a human who unequivocally owns the copyright for all changes.
No LLM bots in Co-authored-by:s.
Absolutely no unsupervised agentic tools like OpenClaw.
By submitting a pull request, you declare that:
You are the author of the contribution.
You understand the code.
You accept full responsibility for it.
Legal#
When you contribute to Python Code Audit (On PyPI codeaudit), your contributions (with or without AI support) are made under the same license as the file you are working on. You retain your copyright to your changes to this project.
Human#
We take responsibility to our users very serious. Every code change is reviewed manually before merging because it’s our responsibility to keep the project stable and secure.
Please understand that by opening low-quality pull requests generated by AI you’re not helping. Make small pull request that are easy to review and merge.
Note
Every pull request must be created by a Human or reviewed by a human. A human is responsible for all text in an issue or pull request.
We have no time to become part of your vibe coding loop where you drop LLM slop and we spend time and energy to review it, and you just feed it back into the LLM for another iteration.
In practice, this means:
Pull requests that have an LLM product listed as co-author can’t be merged and will be closed without further discussion.
If you used LLM tools during development, you may still submit. But you must remove all LLM author tags and take full ownership of every line.
By submitting a pull request, you take full responsibility for the contents of the pull request.
“An LLM wrote it” is not an acceptable response to questions or review remarks.
So:
Do not post LLM-generated review comments.
Do not post summaries unless you’ve fact-checked them and take responsibility for 100% of their content.
Attribution: This AI policy is based on attrs’ AI_POLICY.md.