Tiles
AppleDownloadSponsor
Skip to Content
Community

Community

Get Involved

Whether you are already committed to privacy technology or just beginning to reclaim ownership of your computing experience, there are many ways to get involved in the Tiles community.

To understand the project goals and architecture, start with:

Communication and Support

If you have questions or want to discuss ideas, you can reach the team and community via:

Roadmap

Track our progress and see what’s coming next on our Roadmap. The roadmap outlines our planned features, improvements, and research directions.

RFCs

Join or contribute to the conversation about Tiles design and architecture through Tiles RFC Discussions. RFCs (Request for Comments) are proposals that introduce major features, architectural changes, or significant new areas of functionality. We welcome community input on these proposals.

Contributing

Thanks for your interest in contributing to Tiles. We welcome contributions of all kinds, including code, documentation, design, and discussion.

How to Contribute

You can contribute in several ways:

  • Report bugs or request features by opening an issue
  • Improve documentation or examples
  • Submit pull requests for bug fixes, refactors, or new features
  • Open an RFC discussion for proposals that introduce major features, architectural changes, or significant new areas of functionality

Before starting work, check the existing issues to avoid duplication and to align with current priorities. If you plan to work on a larger change, open an issue or discussion first to confirm scope and approach.

Pull Request Guidelines

When submitting a pull request:

  • Keep changes focused and scoped to a single concern
  • Follow existing code style and conventions
  • Include clear commit messages and a concise PR description
  • Reference relevant issues where applicable
  • Ensure all checks and tests pass

New inference backends, memory models, and improvements aligned with the roadmap are especially welcome.

Development Setup

This guide will help you set up a reproducible development environment for Tiles. Tiles supports two environments: prod (production) and dev (development). These instructions assume you are setting up for local development.

Prerequisites

Setup Steps

  1. Clone the repository:
git clone https://github.com/tilesprivacy/tiles.git cd tiles
  1. Install Rust dependencies:

If you’re new to Rust, see Rust Install Guide.

cargo build
  1. Install project task runner:

just provides easy command shortcuts.

cargo install just # or use your OS package manager
  1. Set up the Python server environment:
  • Make sure uv is installed:
pip install uv
  • Sync Python dependencies:
cd server uv sync cd ..

Running Tiles (Development)

Open two terminal windows:

  1. Terminal 1: Start the server

From the project root:

just serve
  1. Terminal 2: Run the Rust CLI

From the root directory:

cargo run

Tip: Refer to the justfile for additional common commands and automation. For troubleshooting, see CONTRIBUTING.md and open an issue if you need help.

Building Tiles installer (Development)

Install venvstacks for portable py runtime

From the project root do:

just bundle # Creates the compressed zip in dist/

Set the ENV in install.sh to dev

just install

Now tiles should be available in PATH

Code of Conduct

By participating in this project, you agree to follow the project’s Code of Conduct. Be respectful, constructive, and collaborative in all interactions.

We appreciate your time and effort in helping build Tiles.

Last updated on