Skip to content

Developer Information

SirBerg edited this page May 13, 2026 · 5 revisions

Whoa, you've made it to the Developer Docs. First of all: Thank you so much for considering contributing to this project! We welcome any contributions that you are willing to make, no matter how small or big. With that out of the way, let's dive straight into some information on getting started.

Getting Started

To get started developing, clone the repo and run bun install:

git clone https://github.com/iglu-sh/iglu
bun install

The project structure is as follows:

Goal of the Iglu Project

The Goal of the Iglu Project is not to replicate cachix 1:1, we want to take as many routes from the official cachix servers as we need to provide basic pushing and pulling and implement them. Again, we are not aiming for a 1:1 replication, however we are not opposed to Pull Requests that implement routes from cachix, if you want to do that, go ahead. In General all Routes that are need for Cachix

General Developer Information

Rest Response Schemas

In general, all responses from all parts of the Iglu Project, that are outward-facing (i.e REST-Routes, WebSocket Messages) will return in this format:

{
    "status_code": 200,
    "status_message": "A Status Message",
    "is_error": false,
    "timestamp": 1778690349,
    "data": {
        "some_non_standardized": "data"
    },
}

This is done so, in case you want to create a third party app for iglu, can rely on the top level keys to always be present.
Howver, all rules must have excpetions and so does this rule: Endpoints that are standardized by cachix will return in the cachix format (documented here: https://app.cachix.org/api/v1/ ).

Clone this wiki locally