mirror of
https://github.com/storytold/artcraft.git
synced 2026-10-20 17:02:53 -04:00
This is a fresh start for the `artcraft` repo. The old monorepo, which included our web API gateway, job services, SRE tools, various frontends, and more has moved to `artcraft-services` You can find the full git history here: https://github.com/storytold/artcraft-services This change was motivated by the fact that the entire git history was hundreds of gigabytes in size, which is unwieldy for anyone not in the core team that doesn't care about support services outside of the core artcraft app. We wanted to keep this repo in its well-known place since we already have users and activity here. Please update your remotes to either `artcraft-services` or make a fresh clone of this repo. History can be found at the artcraft-services repo.
27 lines
788 B
Markdown
27 lines
788 B
Markdown
Code Conventions
|
|
================
|
|
|
|
We use three languages at Artcraft: Rust, TypeScript, and Python.
|
|
|
|
## Rust style guide
|
|
|
|
We deviate from the official Rust style guide in a few places:
|
|
|
|
- We use two spaces for indentation instead of four.
|
|
- We typically keep one function or type definition per file, though this isn't a steadfast rule.
|
|
- We use a Cargo workspace to share code within our monorepo.
|
|
|
|
### Rust Preferred Libraries
|
|
|
|
We use the following Rust libraries, though we are open to migrating to alternatives:
|
|
|
|
- `actix-web` for our HTTP web server
|
|
- `reqwest` for HTTP client requests
|
|
- `sqlx` for SQL database operations
|
|
- `tokio` for asynchronous programming
|
|
|
|
## TypeScript style guide
|
|
|
|
- We use two spaces for indentation instead of four.
|
|
- We use `nx` for monorepo management
|