We're excited about the potential of generative AI to help make F´ development more productive, enjoyable, and accessible! Whether you're using AI to write code, improve documentation, or learn about complex systems, we welcome the thoughtful use of these powerful tools in your F´ contributions.
This guide shares our community's approach to using generative AI effectively and responsibly.
F´ embraces technological advancement and innovation, including the use of Generative AI tools. However, the use of generative AI must align with our commitment to high technical standards, quality, and the collaborative nature of open source development.
To maintain transparency and enable effective code review, contributors must disclose all generative AI usage. This is not meant to discourage AI use, but to ensure that maintainers and reviewers have the necessary context to evaluate contributions effectively. This includes contributions in the forms of Pull Requests, Issues, Security Advisories, Discussions, or any other communication channels.
- Fill-In the "AI Used (y/n)" table entry in the pull request template disclosing whether Gen AI was used in the pull request
- Provide details in the "AI Usage" section describing how generative AI was utilized
Include information about:
- Type of assistance: Code generation, documentation, debugging, testing, refactoring, etc.
- Scope of usage: Which files, functions, or sections were AI-assisted
- Tool(s) used: Name of the AI system(s) employed (e.g., GitHub Copilot, ChatGPT, etc.)
- Level of modification: Whether AI-generated content was used as-is, modified, or used as inspiration
When working with generative AI, provide clear rules and context to improve code quality and consistency. For Example:
- Reference F´ Style Guidelines: Include the F´ Style Guidelines in your prompts
- Enforce coding standards: Instruct AI to avoid "magic numbers" and use descriptive variable names or comments
- Provide project context: Share relevant F´ architectural patterns and component structures
- Review all AI-generated code thoroughly before submission
- Verify necessity and relevance - Remove verbose or unnecessary AI-generated content
- Be concise - Edit AI output to be clear and to-the-point
- Ensure compliance with F Prime coding standards and style guidelines
- Verify correctness and test all AI-assisted implementations
- Maintain authorship responsibility - you are accountable for all submitted code regardless of its origin
- Be cautious with external dependencies suggested by AI tools
- Validate security implications of AI-generated code, especially for flight software
- Provide context to reviewers about AI usage to enable informed evaluation
- Be prepared to explain AI-generated logic and design decisions
- Accept feedback gracefully - AI-generated code is not exempt from revision requests
- Document complex AI-assisted algorithms clearly for future maintainers
If you have questions about appropriate AI usage or need guidance on disclosure:
- Open a Discussion for community input
- Contact the Community Managers for specific guidance