A local-first private AI assistant for everyday use. Runs on-device models with encrypted P2P sync, and supports sharing chats publicly on ATProto.
10
fork

Configure Feed

Select the types of activity you want to include in your feed.

Enhance contributing and development documentation

+109 -44
+42 -14
CONTRIBUTING.md
··· 1 - ## Roadmap and Status 1 + ## Contributing to Tiles 2 2 3 - The high-level ambitious plan for the project, in order: 3 + Thanks for your interest in contributing to Tiles. We welcome contributions of all kinds, including code, documentation, design, and discussion. 4 4 5 - | # | Step | Status | 6 - | :-: | --------------------------------------------------------- | :----: | 7 - | 1 | Working prototype for the memory model | ✅ | 8 - | 2 | Training a better standalone memory model | ❌ | 9 - | 3 | Make Tiles a proxy, with local model as memory module | ❌ | 10 - | 4 | Public key cryptography with private key on device | ❌ | 11 - | 5 | AT Proto integration | ❌ | 12 - | 6 | Cross-platform `tilekit` SDK for developers | ❌ | 13 - | 7 | Linux support with Flatpaks | ❌ | 14 - | N | Fancy features (to be expanded upon later) | ❌ | 5 + To understand the project goals and architecture, start with: 6 + - Install [Tiles CLI](https://tiles.run/download) and try it out. 7 + - Read the announcement: [Introducing Tiles Public Alpha](https://tiles.run/blog/introducing-tiles-public-alpha) 8 + - Explore the documentation: [Tiles Book](https://tiles.run/book) 9 + - Join or contribute to the conversation: [Tiles RFC Discussions](https://github.com/orgs/tilesprivacy/discussions) 15 10 16 - Additional details for each step in the big roadmap is listed as issues in this repository. 11 + ### Getting Started 17 12 18 - Feel free to contribute to the project by submitting issues or pull requests aligned with the roadmap scopes. New inference backends and memory models are welcome. 13 + Instructions for setting up a local development environment and building the project are available in [HACKING.md](HACKING.md). Please follow those steps before submitting any code changes. 14 + 15 + ### How to Contribute 16 + 17 + You can contribute in several ways: 18 + - Report bugs or request features by opening an issue 19 + - Improve documentation or examples 20 + - Submit pull requests for bug fixes, refactors, or new features 21 + - Open an RFC discussion for proposals that introduce major features, architectural changes, or significant new areas of functionality 22 + 23 + 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. 24 + 25 + ### Pull Request Guidelines 26 + 27 + When submitting a pull request: 28 + - Keep changes focused and scoped to a single concern 29 + - Follow existing code style and conventions 30 + - Include clear commit messages and a concise PR description 31 + - Reference relevant issues where applicable 32 + - Ensure all checks and tests pass 33 + 34 + New inference backends, memory models, and improvements aligned with the roadmap are especially welcome. 35 + 36 + ### Communication and Support 37 + 38 + If you have questions or want to discuss ideas, you can reach the team and community via: 39 + - Discord: https://go.tiles.run/discord 40 + - Email: [hello@tiles.run](mailto:hello@tiles.run) 41 + 42 + ### Code of Conduct 43 + 44 + By participating in this project, you agree to follow the project’s [Code of Conduct](CODE_OF_CONDUCT.md). Be respectful, constructive, and collaborative in all interactions. 45 + 46 + We appreciate your time and effort in helping build Tiles.
+66 -24
HACKING.md
··· 1 - There are two environments in Tiles: `prod` and `dev`. Follow the instructions below to set up the development environment. 1 + # HACKING.md 2 2 3 - ## Building 3 + 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. 4 4 5 - 1. Clone the repository. 5 + ## Prerequisites 6 6 7 - 2. Install [`just`](https://github.com/casey/just). 7 + - [Rust & Cargo](https://www.rust-lang.org/tools/install) 8 + - [`just`](https://github.com/casey/just) (for task management) 9 + - [Python 3.8+](https://www.python.org/downloads/) 10 + - [`uv`](https://docs.astral.sh/uv/) (for fast Python dependency management) 11 + - [Git](https://git-scm.com/) 8 12 9 - 3. Set up the Rust environment: 13 + ## Setup Steps 10 14 11 - ```sh 12 - cargo build 13 - ``` 15 + 1. **Clone the repository:** 14 16 15 - 4. Install [`uv`](https://docs.astral.sh/uv/) for the Python server. 17 + ```sh 18 + git clone https://github.com/tilesprivacy/tiles.git 19 + cd tiles 20 + ``` 16 21 17 - 5. Set up the server: 22 + 2. **Install Rust dependencies:** 18 23 19 - ```sh 20 - cd server 21 - uv sync 22 - ``` 24 + If you're new to Rust, see [Rust Install Guide](https://www.rust-lang.org/tools/install). 23 25 24 - ## Running 26 + ```sh 27 + cargo build 28 + ``` 25 29 26 - 1. From the repository root, start the server in one terminal: 30 + 3. **Install project task runner:** 27 31 28 - ```sh 29 - just serve 30 - ``` 32 + [`just`](https://github.com/casey/just) provides easy command shortcuts. 31 33 32 - 2. In another terminal, run the Rust CLI using Cargo as usual. 34 + ```sh 35 + cargo install just # or use your OS package manager 36 + ``` 33 37 34 - ```sh 35 - cd tiles 38 + 4. **Set up the Python server environment:** 39 + 40 + - Make sure [`uv`](https://docs.astral.sh/uv/) is installed: 41 + 42 + ```sh 43 + pip install uv 44 + ``` 45 + 46 + - Sync Python dependencies: 47 + 48 + ```sh 49 + cd server 50 + uv sync 51 + cd .. 52 + ``` 53 + 54 + ## Running Tiles (Development) 55 + 56 + Open two terminal windows: 57 + 58 + 1. **Terminal 1: Start the server** 59 + 60 + From the project root: 61 + 62 + ```sh 63 + just serve 64 + ``` 65 + 66 + 2. **Terminal 2: Run the Rust CLI** 67 + 68 + From the root directory: 36 69 37 - cargo run 38 - ``` 70 + ```sh 71 + cargo run --manifest-path tiles/Cargo.toml 72 + ``` 73 + 74 + > **Tip:** Refer to the `justfile` for additional common commands and automation. For troubleshooting, see [CONTRIBUTING.md](CONTRIBUTING.md) and open an issue if you need help. 75 + 76 + ## Additional Resources 77 + 78 + - [Tiles Book](https://tiles.run/book) 79 + - [Download Page](https://tiles.run/download) 80 + - [Community & Support](https://go.tiles.run/discord)
+1 -6
README.md
··· 26 26 27 27 Define models using a Modelfile, the blueprint for creating and sharing models. Our implementation is optimized for fast, efficient local deployment across consumer platforms, starting with Apple devices. 28 28 29 - ## Tiles GUI 30 - > To be released Q1 26. 31 - 32 - Use the Local GUI for chats on your laptop. It includes a REST API and an integration for OpenWebUI. The experience will feel familiar to anyone who has used chatbots like ChatGPT or Claude. 33 - 34 29 ## Download 35 30 36 31 See the [download page](https://tiles.run/download) on the Tiles website. ··· 41 36 42 37 ## About 43 38 44 - Our mission is to shape the future of software personalization with decentralized memory networks. 39 + Our mission is to bring privacy technology to everyone. 45 40 46 41 Tiles Privacy was born from the [User & Agents](https://userandagents.com) community with a simple idea: software should understand you without taking anything from you. We strive to deliver the best privacy-focused engineering while also offering unmatched convenience in our consumer products. We believe identity and memory belong together, and Tiles gives you a way to own both through your personal user agent. 47 42