| 
1 | 1 | # Contributing to 500-AI-Agents-Projects  | 
2 | 2 | 
 
  | 
3 |  | -Thank you for your interest in contributing to 500-AI-Agents-Projects! This project is a collection of AI agent projects and examples; contributions from the community are welcome. This document explains how to contribute, what we expect, and the process for submitting changes.  | 
 | 3 | +Welcome — this repository collects 500 AI agent projects, templates, demos, and integrations. Thank you for helping grow a practical, reproducible, and responsible catalog of agent work. This document is tuned to the AI-agent focus of the project: reproducibility, model/data hygiene, evaluation, and safety.  | 
 | 4 | + | 
 | 5 | +Quick summary  | 
 | 6 | +- Add small, runnable, well-documented agent examples and templates.  | 
 | 7 | +- Prefer reproducible demos and small checkpoints or external download scripts.  | 
 | 8 | +- Follow the folder schema and metadata so projects are discoverable and automatable.  | 
 | 9 | +- Pay attention to license, data provenance, and ethical/safety notes.  | 
 | 10 | + | 
 | 11 | +---  | 
 | 12 | + | 
 | 13 | +## What to contribute  | 
 | 14 | +- New agent projects (single- or multi-agent; code, notebooks, or demos).  | 
 | 15 | +- Templates/boilerplates for agent types (reactive, planning-based, learning agents, RL, LLM-based, etc.).  | 
 | 16 | +- Integrations (environments, simulators, observability / logging tools).  | 
 | 17 | +- Shared tooling (evaluation harnesses, metrics, benchmark suites, dataset loaders).  | 
 | 18 | +- Docs, reproducible experiments, visualization utilities, or lightweight datasets (or links to them).  | 
 | 19 | + | 
 | 20 | +If your contribution is large (new category, many projects, major refactor) please open an issue first to coordinate placement and naming.  | 
 | 21 | + | 
 | 22 | +---  | 
 | 23 | + | 
 | 24 | +## Project folder requirements (must-have)  | 
 | 25 | +Each agent project added must include the following at the top level of its folder:  | 
 | 26 | + | 
 | 27 | +- README.md — concise description, intended use-case, quick start with exact commands, expected output, and runtime (CPU/GPU/time).  | 
 | 28 | +- LICENSE or a note referencing repository root LICENSE (see root LICENSE).  | 
 | 29 | +- requirements.txt, pyproject.toml, or environment.yml (pin critical dependency versions).  | 
 | 30 | +- One or more runnable examples (script or notebook) that reproduce the core behavior.  | 
 | 31 | +  - Provide minimal example(s) that run in <10 minutes on a modest machine where possible.  | 
 | 32 | +- tests/ or a smoke-test script with instructions to run them.  | 
 | 33 | +- metadata.yaml or metadata.json (see example below).  | 
 | 34 | +- small models / datasets should be included only if tiny. Prefer external hosting (Hugging Face, S3, Google Drive) with a download script.  | 
 | 35 | + | 
 | 36 | +Example metadata schema (recommended)  | 
 | 37 | +```yaml  | 
 | 38 | +title: quick-chatbot-agent  | 
 | 39 | +author:  Your Name <[email protected]>  | 
 | 40 | +language: python  | 
 | 41 | +tags:  | 
 | 42 | +  - llm  | 
 | 43 | +  - agent  | 
 | 44 | +  - rl  | 
 | 45 | +license: MIT  | 
 | 46 | +datasets:  | 
 | 47 | +  - name: example-dialogs  | 
 | 48 | +    url: https://...  | 
 | 49 | +entrypoint: run_demo.py  | 
 | 50 | +requirements: requirements.txt  | 
 | 51 | +```  | 
 | 52 | +
  | 
 | 53 | +---  | 
 | 54 | +
  | 
 | 55 | +## Naming & layout conventions  | 
 | 56 | +- Folder names: lowercase, hyphen-separated (e.g., multi-agent-pursuit).  | 
 | 57 | +- Place one logical project per folder.  | 
 | 58 | +- Keep demos and notebooks near the code: demo.ipynb and run_demo.py in the project root.  | 
 | 59 | +- Avoid committing large binaries. Use .gitattributes or .gitignore to keep repository clean.  | 
 | 60 | +
  | 
 | 61 | +---  | 
 | 62 | +
  | 
 | 63 | +## Reproducibility & experiments  | 
 | 64 | +- Include seed values, environment variables, and exact dependency versions.  | 
 | 65 | +- Provide a minimal run command and expected output sample.  | 
 | 66 | +- For stochastic experiments, include evaluation scripts and deterministic seeds or checkpoints.  | 
 | 67 | +- If results require large compute or private data, include a small reproducible “toy” example that demonstrates the same pipeline on tiny inputs.  | 
 | 68 | +
  | 
 | 69 | +---  | 
 | 70 | +
  | 
 | 71 | +## Models, datasets & large files policy  | 
 | 72 | +- Don’t add large datasets or model checkpoints directly. Instead:  | 
 | 73 | +  - Provide a download script (download.sh / download.py) that fetches artifacts from a stable host (Hugging Face, S3, Zenodo).  | 
 | 74 | +  - Document the expected location/path after download.  | 
 | 75 | +- Clearly state dataset licenses, attribution, and any usage restrictions.  | 
 | 76 | +- When linking to external model weights provide their license and any fine-tuning provenance.  | 
 | 77 | +
  | 
 | 78 | +---  | 
 | 79 | +
  | 
 | 80 | +## Code style, documentation & tests  | 
 | 81 | +- Python: follow PEP 8, add a linter config (.flake8, pyproject.toml with [tool.black] or similar).  | 
 | 82 | +- JS/TS: provide ESLint/Prettier configs where relevant.  | 
 | 83 | +- Document complex algorithms with short docstrings and references.  | 
 | 84 | +- Add unit or integration tests when possible. Include a lightweight smoke test that CI can run quickly.  | 
 | 85 | +
  | 
 | 86 | +---  | 
 | 87 | +
  | 
 | 88 | +## Evaluation & metrics  | 
 | 89 | +- Include an evaluation script that produces metrics (accuracy, reward, latency).  | 
 | 90 | +- State measurement conditions (hardware, seeds).  | 
 | 91 | +- Where applicable, include latency and memory cost alongside performance metrics.  | 
 | 92 | +
  | 
 | 93 | +---  | 
 | 94 | +
  | 
 | 95 | +## CI / GitHub Actions recommendations  | 
 | 96 | +- If adding workflows, put them under .github/workflows and ensure expensive jobs are optional or use small inputs.  | 
 | 97 | +- Recommended checks: lint, unit tests, smoke demos. Heavy training jobs should be omitted or gated/opt-in.  | 
 | 98 | +
  | 
 | 99 | +---  | 
 | 100 | +
  | 
 | 101 | +## PR process and checklist  | 
 | 102 | +Before opening a PR:  | 
 | 103 | +- [ ] Fork and create a branch: feat/<short-desc> or fix/<short-desc>  | 
 | 104 | +- [ ] Update README and metadata  | 
 | 105 | +- [ ] Include tests or a smoke-test demonstration  | 
 | 106 | +- [ ] Ensure no secrets or private data are included  | 
 | 107 | +- [ ] Confirm license compatibility for added assets  | 
 | 108 | +
  | 
 | 109 | +PR description should include:  | 
 | 110 | +- What changed and why  | 
 | 111 | +- How to run the example(s) and tests  | 
 | 112 | +- Links to related issues or external artifacts (datasets, model hosts)  | 
 | 113 | +
  | 
 | 114 | +Suggested minimal PR template (add to .github/PULL_REQUEST_TEMPLATE.md if helpful):  | 
 | 115 | +```markdown  | 
 | 116 | +## Summary  | 
 | 117 | +Short description of change  | 
 | 118 | + | 
 | 119 | +## How to run  | 
 | 120 | +1. pip install -r requirements.txt  | 
 | 121 | +2. python run_demo.py  | 
 | 122 | + | 
 | 123 | +## Checklist  | 
 | 124 | +- [ ] README updated  | 
 | 125 | +- [ ] metadata.yaml added/updated  | 
 | 126 | +- [ ] smoke test included  | 
 | 127 | +```  | 
 | 128 | +
  | 
 | 129 | +---  | 
 | 130 | +
  | 
 | 131 | +## Security, secrets & responsible disclosure  | 
 | 132 | +- Never commit secrets, private keys, or API tokens.  | 
 | 133 | +- If you discover a security vulnerability, do not open a public issue. Contact maintainers privately (see repository contact info) or use GitHub's private security advisory.  | 
 | 134 | +
  | 
 | 135 | +---  | 
 | 136 | +
  | 
 | 137 | +## Ethics, fairness & safety  | 
 | 138 | +AI agents can amplify harms. When contributing:  | 
 | 139 | +- Include an explicit "Ethical considerations" or "Safety notes" section in the README if the agent interacts with people, makes decisions, or processes personal data.  | 
 | 140 | +- State potential biases, failure modes, and appropriate usage guidance.  | 
 | 141 | +- Avoid shipping models trained on clearly disallowed data (private or scraped personal content without consent).  | 
 | 142 | +- Prefer human-in-the-loop defaults for high-risk demos and clearly mark such demos as not production-ready.  | 
4 | 143 | 
  | 
5 |  | -## Table of Contents  | 
 | 144 | +---  | 
6 | 145 | 
  | 
7 |  | -- How to contribute  | 
8 |  | -- Code style and standards  | 
9 |  | -- Branching and commits  | 
10 |  | -- Issues  | 
11 |  | -- Pull requests  | 
12 |  | -- Tests  | 
13 |  | -- Review and merge process  | 
14 |  | -- Reporting security issues  | 
15 |  | -- Code of conduct  | 
 | 146 | +## Licensing and attribution  | 
 | 147 | +- Respect upstream licenses for models, code, and datasets. Include attribution and license text where required.  | 
 | 148 | +- If the project uses third-party models/datasets, list their license and link to the source.  | 
16 | 149 | 
  | 
17 |  | -## How to contribute  | 
 | 150 | +---  | 
18 | 151 | 
  | 
19 |  | -There are several ways to contribute:  | 
 | 152 | +## Communication & review  | 
 | 153 | +- Maintainers will review PRs and may request changes. Please reply to review comments and push updates.  | 
 | 154 | +- For large or disruptive changes, maintainers may ask for staged PRs to ease review.  | 
20 | 155 | 
  | 
21 |  | -- Open an issue to report bugs, request features, or propose new project ideas.  | 
22 |  | -- Submit a pull request (PR) with improvements, bug fixes, documentation updates, or new projects.  | 
23 |  | -- Help review open PRs and provide constructive feedback.  | 
 | 156 | +---  | 
24 | 157 | 
  | 
25 |  | -Before submitting substantial changes (like new project additions), please open an issue first to discuss the idea with maintainers.  | 
 | 158 | +## Contributor support & contact  | 
 | 159 | +If you need early feedback:  | 
 | 160 | +- Open an issue describing your planned contribution with the following: summary, folder name, and minimal example of what you plan to add.  | 
 | 161 | +- For urgent or private matters, use the contact method listed in the repository (owner profile / repo settings).  | 
26 | 162 | 
  | 
27 |  | -## Code style and standards  | 
 | 163 | +---  | 
28 | 164 | 
  | 
29 |  | -- Follow consistent formatting. Where appropriate, add or update linting configuration files (e.g., .prettierrc, .eslintrc) so automatic formatting is used.  | 
30 |  | -- Write clear, concise code with comments where necessary.  | 
31 |  | -- Keep project-level READMEs up to date. Each project folder should include a README.md describing purpose, setup, usage, and license.  | 
 | 165 | +## Code of Conduct  | 
 | 166 | +By contributing, you agree to the project's Code of Conduct. Be respectful, constructive, and collaborative.  | 
32 | 167 | 
  | 
33 |  | -## Branching and commits  | 
 | 168 | +---  | 
34 | 169 | 
  | 
35 |  | -- Fork the repository and create a feature branch off main. Name branches as feature/short-description or fix/short-description.  | 
36 |  | -- Keep changes focused and small; one logical change per PR makes review easier.  | 
37 |  | -- Use descriptive commit messages. Prefer the format:  | 
38 |  | - | 
39 |  | -  type: short description  | 
40 |  | - | 
41 |  | -  Where type is one of: feat, fix, docs, style, refactor, test, chore  | 
42 |  | - | 
43 |  | -Example: "feat: add sample multi-agent example"  | 
44 |  | - | 
45 |  | -## Issues  | 
46 |  | - | 
47 |  | -- Search existing issues before opening a new one to avoid duplicates.  | 
48 |  | -- Use clear titles and provide steps to reproduce if reporting bugs. Include environment details and relevant logs or errors.  | 
49 |  | -- For feature requests, explain the motivation and suggested behavior.  | 
50 |  | - | 
51 |  | -## Pull requests  | 
52 |  | - | 
53 |  | -- Link related issues in the PR description using "Fixes #<issue-number>" when appropriate.  | 
54 |  | -- Describe what the PR does, why it is needed, and any tradeoffs.  | 
55 |  | -- Update or add tests and documentation as needed.  | 
56 |  | -- Keep PRs draft if you want feedback before finalizing.  | 
57 |  | - | 
58 |  | -## Tests  | 
59 |  | - | 
60 |  | -- Where applicable, include automated tests for new features or bug fixes.  | 
61 |  | -- Describe test steps in the PR if automated tests are not available.  | 
62 |  | - | 
63 |  | -## Review and merge process  | 
64 |  | - | 
65 |  | -- Maintainers will review PRs and may request changes. Address review comments and push follow-up commits.  | 
66 |  | -- Once approved, a maintainer will merge the PR. We use a non-fast-forward merge strategy to preserve PR history when appropriate.  | 
67 |  | - | 
68 |  | -## Reporting security issues  | 
69 |  | - | 
70 |  | -If you discover a security vulnerability, please do NOT open a public issue. Instead, contact the repository owner directly or use GitHub's private security advisory feature.  | 
71 |  | - | 
72 |  | -## Code of conduct  | 
73 |  | - | 
74 |  | -By participating in this project, you agree to follow a respectful and inclusive code of conduct. Be constructive and courteous in issues and reviews.  | 
75 |  | - | 
76 |  | ----  | 
 | 170 | +Thank you for contributing to 500-AI-Agents-Projects — your examples, templates, and tools make the agent community stronger and more reproducible.  | 
0 commit comments