Contribute
Contributions follow the usual procedure: open an issue if the change is big, fork and make a branch, pass the checks and open a pull request. This part explains how the project is built, so that you can understand it, fix something or add something.
It is written for people who program and do not know the project yet. Some technical terms are used (operation, hybrid logical clock, conformance), but each one is explained the first time it appears, and it is always said why things were done that way.
To begin with
Section titled “To begin with”- The parts and how they fit together: the app, the domain, the specification, the server and what happens when a book is added.
- Setting up the environment: the app: Rust, Node, Android and the checks.
- Setting up the environment: the server: Docker, the databases, the fixtures and
make check. - How to contribute: style, tests and commits: the rules that matter and how to add a field or an entity.
- Glossary: what each thing is called in Spanish and in the code.
How it works inside
Section titled “How it works inside”- The sync engine, explained: how several devices reach the same result without anyone in charge.
- The operations: the specification and the conformance cases: the format, the rules, and how to write a compatible client or server.
- Security: the threat model: who it protects against, with which pieces, and what it does not protect.
- How we audit, so you can repeat it yourself: the method, not the reports.
- Report a security problem: how to do it in private.
Data, accounts and the cloud
Section titled “Data, accounts and the cloud”- The data model: the entities of the catalog and of sharing, and why the work and the edition are kept apart.
- Accounts and sign-in: sign-up, Google, the second factor and the device as a session.
- The cloud: the API and the access rules: a map of the routes and of who reaches which library.
Publishing
Section titled “Publishing”- Publishing a release: the number, the what’s-new notes, the licences and the signed Android package.
- Adding a data source: a new catalogue in the app, and on the server if needed.
- Adding a language: the app’s texts, the what’s-new notes, the server’s emails and the documentation.
Repository documents
Section titled “Repository documents”- CONTRIBUTING.md, the procedure and the rules that matter (in English).
- SECURITY.md, how to report a security problem privately.
- CODE_OF_CONDUCT.md.
- The decision log and the architecture, in Spanish.
- The name and the logos: what can be done with them, and the logos to download.
© 2026 Kosmotheka
Kosmotheka is free software: the app and the server are under the AGPL-3.0-or-later, and the operation spec is under the MIT licence. The name and the logo are not covered by the licence.
kosmotheka.com · Trademark policy · Privacy policy · info@kosmotheka.com