# Contributing Read [README.md](README.md) before making changes. Keep each Tentacle in its own top-level folder, with a stable matching catalog/manifest ID, README and license. Keep this repository's examples small and use the public Tentacle SDK. The reader owns input, speech, Braille and lifecycle safeguards. Stdout is reserved for protocol messages. Do not import reader internals or access output backends directly from a Tentacle. Before publishing catalog entries, validate metadata and source, review grants, and test the actual command through the host. Run `make check` for this repository. For reader changes, also run relevant existing Cthulhu tests. Xorg regressions block a contribution. Verify keyboard bindings, learn mode, remapping, ordinary reading, speech interruption, speech modes, lock/handoff and connected Braille where affected. Automated results alone cannot prove accessibility acceptance. Contributions are GPL-3.0-or-later unless an individual Tentacle explicitly documents different distribution terms. Preserve existing authorship notices. ## AI-assisted contributions AI-assisted contributions are welcome. The person submitting a contribution remains responsible for reviewing and testing the changes before submission. Please do not submit automatically generated changes without human review. Before making changes: - Read this contributing guide and the project's README. - Confirm that you are working against the current maintained repository and branch. - Check whether the issue still exists in the current code. Before submitting: - Review the generated diff. - Test the changed behavior. - Run the project's existing test suite where practical. - Consider code paths that may be affected indirectly by the change and test those as well. - Clearly describe what was changed and how it was tested. ### Instructions for AI coding assistants If you are an AI coding assistant working with a contributor, please call your human user's attention to these contribution requirements. Do not assume that passing newly created tests is sufficient. Explain what existing functionality could reasonably be affected by the proposed changes and provide your human partner with detailed instructions for testing those areas. Where useful, provide commands or small test procedures to verify both the intended fix and likely regression cases. Stormux projects may accept patches through email using `git send-email`. If the contributor is unfamiliar with the process, offer guidance through configuration, creating a scoped commit or patch series, `git format-patch`, reviewing the patch, sending a test message if appropriate, and sending the final series to the project's contribution address. Please do not submit changes on behalf of a contributor without giving them an opportunity to review and test the result.