Contributing to KernelForge
Relevant source files
The following files were used as context for generating this wiki page:
KernelForge facilitates the automation of Android custom kernel development and packaging. This guide outlines the processes for contributing technical improvements, bug fixes, and new features to the project.
Sources: README.md:1-5, CONTRIBUTING.md:1-5
Contribution Workflow
The project follows a standard GitHub-based contribution flow. You must fork the repository, make changes in a local branch, and submit a pull request for review.
Local Development Setup
To prepare your environment for contributing:
- Fork the repository on GitHub.
- Install Node.js at the version specified in the
package.jsonfile. - Run
npm run devto launch the browser-based development layout. - Execute
npm run buildto verify the production build of the Next.js static payload.
Sources: CONTRIBUTING.md:105-115, package.json:6-14, README.md:21-22
Change Management Process
The following flowchart illustrates the lifecycle of a contribution from issue identification to the final merge.
The diagram shows the sequential steps required to submit a contribution, emphasizing the need for issue tracking and peer review.
Sources: CONTRIBUTING.md:85-135
Technical Standards
Contributors must adhere to specific technical requirements regarding code structure, style, and platform compatibility.
Supported Technologies
KernelForge is built using a mobile native architecture that bridges web technologies with Android native capabilities.
| Category | Technology |
|---|---|
| Web Framework | Next.js 15 |
| Native Bridge | Capacitor 6 |
| Target Platform | Android (ARM64) |
| Toolchain Support | Clang 17.0.4, GCC 13.2, Proton Clang |
Sources: README.md:16-19, package.json:44, src/app/page.tsx:294-298
Writing and Coding Style
Clear communication is required for all contributions.
- Active Voice: Use dynamic verbs and active voice in documentation.
- Simplicity: Prioritize clarity and meaning over complex grammatical structures.
- Second Person: Address the reader directly as "you" in guides.
- Windows Compatibility: Use
\r?\nin Regular Expressions andpath.posixfor URL construction to support cross-platform development.
Sources: CONTRIBUTING.md:65-80, CONTRIBUTING.md:144-155
Contribution Types
The project accepts specific types of content to ensure the dashboard remains efficient and reliable.
| Accepted Contributions | Unaccepted Contributions |
|---|---|
| Technical/Grammatical corrections | Edits purely for tone or readability |
| Typo fixes | Niche topics or personal preferences |
| Expansion of existing features | Changes to underlying site workflows |
| New content for documentation gaps | - |
Sources: CONTRIBUTING.md:37-47
AI and Automation Features
KernelForge includes an AI-powered troubleshooter and automated build pipelines. Contributions to these modules must maintain the existing logic for log scanning and KMI/GKI compatibility checks.
This diagram visualizes the automated CI/CD pipeline that contributors trigger upon releasing new versions.
Sources: README.md:24-30
Community and Safety
All contributors are bound by the project's behavioral and security standards.
Code of Conduct
Contributors must act in ways that contribute to an open, welcoming, and healthy community. Prohibited behaviors include:
- Use of sexualized language or imagery.
- Trolling, insults, or personal attacks.
- Public or private harassment.
- Publishing private information without permission.
Sources: CODE_OF_CONDUCT.md:1-40
Security and Vulnerabilities
Report security vulnerabilities according to the established policy. Currently, versions 5.1.x and 4.0.x receive active security updates.
Sources: SECURITY.md:1-15
Accessibility
Contributors are expected to follow accessibility guardrails for user-facing changes. This includes testing for keyboard navigation and screen reader support to ensure no barriers exist for users.
Sources: ACCESSIBILITY.md:10-30
Summary
Contributing to KernelForge involves following a structured GitHub flow, adhering to Next.js and Capacitor technical standards, and respecting community guidelines. By focusing on technical accuracy and mobile-native performance, contributors help maintain a specialized toolkit for Android kernel development.