# Vibesville A mono-repo of self-contained HTTP web services built in Rust, targeting Cloudflare's edge platform. - **Backend** services run on Cloudflare Workers (via workers-rs + Axum). - **Frontend** applications compile to Wasm with Yew and deploy to Cloudflare Pages. - **Data** is stored in Cloudflare D1 (SQLite-compatible), with Turso for local development. - **Infrastructure** is managed with OpenTofu and the Cloudflare provider. ## Services | Service | Description | |---|---| | `common` | Shared library crate — types, utilities, and definitions used across services | _Services will be listed here as they are added._ ## Getting Started ### Prerequisites - [Nix](https://nixos.org/download/) with [Flakes enabled](https://nixos.wiki/wiki/Flakes) ### Setup ```sh # Clone the repository git clone https://gitea.elijah.run/vibesville/vibesville.git cd vibesville # Enter the dev shell (installs Rust, Trunk, OpenTofu, wrangler, etc.) nix develop ``` The dev shell provides everything needed to build, test, and deploy all services. ### Running a Service ```sh # Backend cd cargo run # Frontend cd trunk serve ``` ### Validation Run from within a service directory, in order: ```sh cargo fmt # formatting cargo check # compilation cargo clippy # lints cargo test # tests ``` ## Repository Layout ``` vibesville/ ├── CLAUDE.md # conventions and instructions for Claude Code ├── README.md # this file ├── LICENSE-APACHE ├── LICENSE-MIT ├── flake.nix # base Nix flake ├── common/ # shared library crate └── / # each service is an independent Rust crate ├── src/ ├── tests/ # integration tests ├── docs/ # PLANNING.md, ARCHITECTURE.md └── infra/ # OpenTofu infrastructure ``` See [CLAUDE.md](CLAUDE.md) for full conventions, code style, and project documentation requirements. ## License Licensed under either of - Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or ) - MIT License ([LICENSE-MIT](LICENSE-MIT) or ) at your option. ## Disclaimer This software is developed with the assistance of [Claude Code](https://claude.ai/claude-code) by Anthropic.