Skip to main content

Welcome Contributors

Atlas is an open-source project that enhances Windows by applying privacy, usability, and performance optimizations. We welcome contributions from the community to help make Atlas better for everyone.

Code of Conduct

Atlas follows the Contributor Covenant 2.1. By participating in this project, you agree to abide by its terms.
Be respectful, inclusive, and collaborative. We’re all working together to improve Windows for everyone.

How to Contribute

1

Fork and clone the repository

Fork the Atlas repository and clone it locally to start making changes.
git clone https://github.com/YOUR-USERNAME/Atlas.git
cd Atlas
2

Create a feature branch

Create a new branch for your changes. Use a descriptive name that reflects what you’re working on.
git checkout -b feature/your-feature-name
3

Make your changes

Make your modifications to the playbook files. Follow the coding standards outlined below and test your changes thoroughly.
4

Commit and push

Commit your changes with a clear, descriptive commit message and push to your fork.
git add .
git commit -m "Add feature: description of changes"
git push origin feature/your-feature-name
5

Open a pull request

Go to the Atlas repository and open a pull request from your fork. Fill out the PR template completely.

Pull Request Process

Before submitting a pull request, ensure you can answer yes to these questions:
All changes must be tested thoroughly. See our testing guide for detailed procedures on what to test and how to verify your changes work correctly.
Review this page and the Atlas documentation to ensure your contribution aligns with the project’s goals and standards.

What to Include in Your PR

  • Clear description: Explain what your changes do and why they’re needed
  • Testing evidence: Describe how you tested the changes
  • Related issues: Link to any related GitHub issues
  • Breaking changes: Note if your changes require users to take specific actions
Pull requests that haven’t been tested or don’t follow the guidelines may be closed without merging.

Coding Standards

Playbook Structure

Atlas uses AME Wizard Playbooks, which are ZIP archives with the password malte. The playbook consists of:
  • Configuration files: YAML files that define tweaks and modifications
  • Executables: PowerShell scripts and utilities
  • playbook.conf: XML configuration file defining playbook metadata

YAML Configuration Guidelines

actions:
  - !registryValue:
      path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer'
      value: 'EnableAutoTray'
      data: '0'
      type: 'REG_DWORD'

Best Practices

Test thoroughly

Always test your changes on a clean Windows installation before submitting.

Document changes

Add comments to explain complex modifications and their purpose.

Balance tradeoffs

Consider the balance between performance, privacy, security, and compatibility.

Maintain compatibility

Ensure changes work across all supported Windows builds (see playbook.conf).

PowerShell Script Standards

When writing PowerShell scripts for Atlas:
  • Use clear, descriptive variable names
  • Add error handling with try/catch blocks
  • Include comments explaining complex logic
  • Test on both PowerShell 5.1 and PowerShell 7+
  • Avoid hardcoded paths when possible
Example
try {
    # Clear variable explanation
    $registryPath = 'HKLM:\SOFTWARE\Atlas'
    
    if (Test-Path $registryPath) {
        # Action description
        Set-ItemProperty -Path $registryPath -Name 'Setting' -Value 1
    }
} catch {
    Write-Error "Failed to modify registry: $_"
}

Project Goals

Atlas strives to maintain an optimal equilibrium between:
  • Performance: Meaningful improvements without placebo tweaks
  • Privacy: Remove telemetry while respecting user choice
  • Security: Allow customization while informing users of risks
  • Usability: Improve the Windows experience for all users
  • Compatibility: Maintain essential Windows functionality
Changes that break essential features or provide only marginal/placebo benefits may not be accepted.

Getting Help

Need assistance with your contribution?

Additional Resources

Building Playbooks

Learn how to build and test the playbook locally.

Testing Guide

Detailed procedures for testing your changes.

AME Wizard Docs

Official documentation for AME Wizard playbook syntax.

Security Policy

Report security vulnerabilities responsibly.

Build docs developers (and LLMs) love