Contributing to Vitte Thank you for your interest in contributing to Vitte. Overview Vitte is an open-source programming language project including: * Compiler * Standard Library * Tooling * Documentation * Editor Integrations * Build Infrastructure * Tests and Benchmarks All contributions are welcome. Ways to Contribute You can contribute through: * Bug reports * Feature requests * Documentation improvements * Standard library additions * Compiler development * Tooling improvements * Tests * Performance optimizations * Editor extensions Before Starting Please: 1. Search existing issues. 2. Check open pull requests. 3. Discuss major changes before implementation. 4. Keep changes focused and well documented. Development Setup Clone the repository: git clone https://github.com/vitte-lang/vitte.git cd vitte Build: make Run tests: make test Run formatting and validation: make fmt make lint Coding Standards General * Prefer readability. * Keep functions focused. * Avoid unnecessary complexity. * Write deterministic code whenever possible. * Add comments only when they improve understanding. Compiler * Follow existing compiler architecture. * Preserve diagnostic quality. * Maintain deterministic outputs. * Add tests for every new feature. Standard Library * APIs should be consistent. * Documentation is required. * Public APIs should remain stable. * Include usage examples. Documentation Documentation changes should: * Use clear language. * Include examples. * Explain edge cases. * Stay synchronized with implementation. Testing Every contribution should include appropriate tests. Examples: * Unit tests * Integration tests * Regression tests * Parser tests * Semantic analysis tests * Backend tests Bug fixes should include a regression test whenever possible. Commit Messages Recommended format: component: short summary Detailed explanation of the change. Examples: parser: improve generic type parsing borrowck: fix invalid lifetime propagation stdlib/fs: add recursive directory traversal Pull Requests Before opening a pull request: * Ensure the project builds successfully. * Ensure tests pass. * Update documentation. * Add new tests if required. * Keep pull requests focused. Pull Request Checklist * Builds successfully * Tests pass * Documentation updated * No unrelated changes * Commit history cleaned up Reporting Bugs Please include: * Vitte version * Operating system * Architecture * Reproduction steps * Expected behavior * Actual behavior * Relevant logs Feature Requests Please describe: * The problem being solved * Proposed solution * Alternative approaches * Potential impact Code of Conduct Be respectful and constructive. Harassment, personal attacks, discrimination, and disruptive behavior are not tolerated. License By contributing to Vitte, you agree that your contributions will be licensed under the project’s license. Thank you for helping improve Vitte.