Thank you for your interest in contributing to AndyOS! This document provides guidelines for contributing to the project.
- Be respectful and inclusive
- Focus on constructive feedback
- Prioritize privacy and security in all contributions
- Follow the project's privacy-first philosophy
- Check existing issues to avoid duplicates
- Use the issue template (if available)
- Provide detailed reproduction steps
- Include system information (device, Android version, build number)
- Attach logs when relevant (sanitize personal data)
-
Fork the repository
git clone https://github.com/ovishkh/AndyOS.git cd AndyOS git checkout -b feature/your-feature-name -
Make your changes
- Follow existing code style
- Write clear commit messages
- Test your changes thoroughly
- Update documentation as needed
-
Commit guidelines
type(scope): brief description Detailed explanation of changes - Bullet points for key changes - Reference issues: Fixes #123Types:
feat,fix,docs,style,refactor,test,chore -
Push and create PR
git push origin feature/your-feature-name
- Open PR against
mainbranch - Fill out PR template
- Link related issues
- Open PR against
# Install dependencies (Ubuntu 22.04)
sudo apt-get install -y \
git-core gnupg flex bison build-essential zip curl \
zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \
libncurses5 lib32ncurses5-dev x11proto-core-dev \
libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils \
xsltproc unzip fontconfig python3
# Initialize repo
repo init -u https://android.googlesource.com/platform/manifest -b android-14.0.0_r1
repo sync -c -j$(nproc --all)
# Build
./build/build-andyos.sh panther user- Privacy Hardening: Remove additional Google dependencies
- Security Patches: Kernel hardening, SELinux policies
- Device Support: Add support for more Pixel devices
- App Development: Improve Privacy Guard, Setup Wizard
- Documentation: Installation guides, troubleshooting
- Performance: Optimize build size, boot time
- UI/UX: Improve system apps, settings interface
- Testing: Automated tests, CI/CD pipelines
- Translations: Internationalization support
- Themes: Custom icon packs, wallpapers
- Features: Additional privacy tools
- Integrations: Third-party app compatibility
// Use 4 spaces for indentation
class PrivacyGuard {
private val TAG = "PrivacyGuard"
fun blockTracker(packageName: String) {
// Clear, descriptive variable names
val isBlocked = firewallService.block(packageName)
Log.d(TAG, "Blocked $packageName: $isBlocked")
}
}#!/bin/bash
# Use 2 spaces for indentation
# Add comments for complex logic
function build_rom() {
local device=$1
local variant=$2
echo "Building AndyOS for ${device}..."
# Build logic here
}# Follow AOSP conventions
# Use tabs for indentation
PRODUCT_PACKAGES += \
PrivacyGuard \
SetupWizard \
UpdaterAll contributions must adhere to these privacy principles:
- No Tracking: Never add analytics, telemetry, or tracking
- No Google: Avoid dependencies on Google services
- Minimal Permissions: Request only essential permissions
- Local First: Prefer on-device processing over cloud
- Open Source: Use open-source libraries when possible
- Transparency: Document all network connections
- Input Validation: Sanitize all user inputs
- Secure Defaults: Enable security features by default
- Least Privilege: Run with minimal permissions
- Code Review: All PRs require review
- Vulnerability Disclosure: Report security issues privately
Before submitting:
# Build test
./build/build-andyos.sh panther userdebug
# Flash to device
fastboot flashall -w
# Verify privacy
adb shell "tcpdump -i any host google.com" # Should show no traffic
# Check for trackers
# Use Exodus Privacy or ClassyShark- Update README.md for user-facing changes
- Update docs/ for technical changes
- Add inline comments for complex logic
- Update CHANGELOG.md
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.
- Open a discussion on GitHub
- Join our community chat (if available)
- Email: [contact info]
Thank you for helping make AndyOS better!