# Contributing ## Development Pipeline ### Before committing 1. ## Cargo.toml ## Folder, crate, library, and binary naming As every crate in this repository is part of the same `circles` workspace, it would be reduntant to name every folder circles_*. However for naming the libraries, for external projects, simply the folder name in this workspace would not be unique, so we use circles_* (following rust naming conventions). Finally, for crate names, as underscores are reserved for rust crates, we use circles-*. For example, we have a websocket server crate for circles: - folder: `server` - library: `circles_server_ws` - crate: `circles-server-ws` ## Development with LLMs Each project is specified with three files: - `README.md`: A high-level overview of the project, its purpose, and how to use it. - `ARCHITECTURE.md`: A detailed description of the system's architecture, including its components and how they interact. - `CONTRIBUTING.md`: Guidelines for contributing to the project, including how to set up the development environment and how to submit pull requests.