|
| 1 | +# Contributing to ASM-Lang |
| 2 | + |
| 3 | +We welcome bug reports, feature requests (within reason), documentation improvements, tests, and code patches. This document explains how to contribute and the licensing terms that apply to contributions. |
| 4 | + |
| 5 | +## TL;DR |
| 6 | + |
| 7 | +- Open issues for bugs or feature requests. |
| 8 | +- For code changes, open a pull request (PR) from a branch or fork. |
| 9 | +- By contributing (issues, PRs, commits, patches, or other submissions) you agree to release your contributions under the Unlicense, dedicating them to the public domain. See "License for contributions" below. |
| 10 | + |
| 11 | +## File of record |
| 12 | + |
| 13 | +This repository is licensed under the Unlicense. See the repository `UNLICENSE` file for the full text: |
| 14 | +https://unlicense.org/ |
| 15 | + |
| 16 | +## License for contributions (IMPORTANT) |
| 17 | + |
| 18 | +By submitting any contribution to this repository (including commits, pull requests, issues with code/text, or other content), you confirm and agree that: |
| 19 | + |
| 20 | +- You are the copyright owner of that contribution (or are authorized to submit it). |
| 21 | +- You irrevocably dedicate and release your contribution under the Unlicense, placing it into the public domain worldwide to the fullest extent permitted by law. |
| 22 | +- You grant the project maintainers and the public the right to use, copy, modify, publish, distribute, sublicense, and/or sell copies of your contribution without restriction and without requiring attribution. |
| 23 | +- If you cannot agree to these terms, do not submit contributions to this repository. |
| 24 | + |
| 25 | +## How to contribute |
| 26 | + |
| 27 | +1. Search Issues |
| 28 | + - Check existing issues to see whether your bug or feature request already exists. If it does, add relevant information or a comment. |
| 29 | + |
| 30 | +2. Open an Issue |
| 31 | + - If no issue exists, create one. Provide a clear title, a concise description of the problem or proposal, steps to reproduce (for bugs), and any relevant environment information. |
| 32 | + |
| 33 | +3. Make a Change |
| 34 | + - Fork the repository (or create a branch in a branch-per-feature workflow if you have push rights). |
| 35 | + - Create a branch named meaningfully, e.g., `fix/typo-xyz`, `feat/asm-parser`, or `test/add-instruction-tests`. |
| 36 | + - Implement your change. Keep commits focused and atomic. |
| 37 | + |
| 38 | +4. Tests and Quality |
| 39 | + - Add tests for bug fixes and features where applicable. |
| 40 | + - Make sure existing tests pass. |
| 41 | + - Run linters and formatters used by the project (if none are mandated, follow existing code style). |
| 42 | + |
| 43 | +5. Commit Messages |
| 44 | + - Use clear, descriptive commit messages. Include the rationale if the change is non-obvious. |
| 45 | + |
| 46 | +6. Open a Pull Request |
| 47 | + - Push your branch to your fork and open a pull request against this repository's main branch (or other branch named in the repo workflow). |
| 48 | + - Describe what you changed and why. Link related issues with `#issue-number`. |
| 49 | + - If your PR includes substantial changes, list the testing steps you used. |
| 50 | + |
| 51 | +7. Review Process |
| 52 | + - Maintainers will review PRs and may request changes. Please respond to feedback in a timely manner. |
| 53 | + - Once approved, a maintainer will merge. You may be asked to rebase or squash commits before merge. |
| 54 | + |
| 55 | +## Non-code contributions |
| 56 | + |
| 57 | +- Documentation fixes, examples, and small editorial changes can often be merged quickly. |
| 58 | +- For larger documentation efforts, open an issue first to discuss scope. |
| 59 | + |
| 60 | +## Code style |
| 61 | + |
| 62 | +- For Python code, follow PEP 8 (https://peps.python.org/pep-0008/) |
| 63 | +- For ASM-Lang code, NO USING TABS FOR INDENTS! |
| 64 | + |
| 65 | +## Security |
| 66 | + |
| 67 | +- Do not submit secrets, credentials, or other sensitive data. |
| 68 | +- If you discover a major security vulnerability, please report it privately to the maintainers rather than opening a public issue. |
| 69 | +- Minor security vulnerabilities (e.g. errors in the standard library) should be reported through a public issue. |
| 70 | + |
| 71 | +## Contact / Questions |
| 72 | + |
| 73 | +- If you’re unsure where to start, open an issue with a brief outline and ask for guidance. |
| 74 | +- For legal or licensing questions, open an issue and tag the maintainers. |
| 75 | + |
| 76 | +--- |
0 commit comments