{"id":43834947,"url":"https://github.com/afsall-labs/montrs","last_synced_at":"2026-02-06T04:06:25.109Z","repository":{"id":330873194,"uuid":"1122182752","full_name":"afsall-labs/montrs","owner":"afsall-labs","description":"MontRS: The Deterministic Full-Stack Rust Framework for Cross-Platform Apps (Powered by Leptos)","archived":false,"fork":false,"pushed_at":"2026-02-03T16:48:10.000Z","size":1286,"stargazers_count":1,"open_issues_count":9,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-04T06:25:25.265Z","etag":null,"topics":["agentic","agentic-coding","agentic-framework","agentic-systems","cross-platform","desktop","development","framework","full-stack","leptos","mobile","montrs","rust","rust-lang","wasm","web"],"latest_commit_sha":null,"homepage":"https://montrs.com","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/afsall-labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-24T08:36:29.000Z","updated_at":"2026-01-31T14:11:57.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/afsall-labs/montrs","commit_stats":null,"previous_names":["afsall-labs/mont-rs","afsall-labs/montrs"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/afsall-labs/montrs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afsall-labs%2Fmontrs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afsall-labs%2Fmontrs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afsall-labs%2Fmontrs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afsall-labs%2Fmontrs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/afsall-labs","download_url":"https://codeload.github.com/afsall-labs/montrs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afsall-labs%2Fmontrs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29149708,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T02:39:25.012Z","status":"ssl_error","status_checked_at":"2026-02-06T02:37:22.784Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic","agentic-coding","agentic-framework","agentic-systems","cross-platform","desktop","development","framework","full-stack","leptos","mobile","montrs","rust","rust-lang","wasm","web"],"created_at":"2026-02-06T04:06:24.412Z","updated_at":"2026-02-06T04:06:25.103Z","avatar_url":"https://github.com/afsall-labs.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MontRS: The Deterministic Full-Stack Rust Framework\n\nMontRS is a Rust-native, trait-driven framework for building cross-platform applications. It provides a unified, deterministic environment for web, desktop, and mobile, powered by the performance of Leptos and the safety of Rust's type system.\n\n## Philosophy\n\nMontRS exists because building complex applications requires more than just a UI library. It requires a **predictable architecture**.\n- **Determinism**: The same input should always produce the same output, whether in production or testing.\n- **Trait-Driven Boundaries**: Features are encapsulated in Plates with explicit interfaces.\n- **Agent-first**: Built-in metadata and structured snapshots make MontRS applications natively understandable by agents.\n\n---\n\n## 🎯 The Golden Path\n\nThe \"Golden Path\" is the recommended workflow for building robust MontRS applications:\n\n1.  **Scaffold**: Start with `montrs new \u003capp-name\u003e` to get a pre-configured workspace.\n2.  **Define**: Use `#[derive(Schema)]` to define your data models and validation rules.\n3.  **Implement**: Build features as `Plate`s. Define unified `Route`s that bundle your Loader, Action, and View.\n4.  **Verify**: Use the `TestRuntime` for in-process, deterministic testing of your entire application spec.\n5.  **Ship**: Deploy to your target (Web, Server, or Desktop) using `montrs build`.\n\n---\n\n## 🧠 How to Think in MontRS\n\n- **Everything is a Trait**: If you want to change behavior (ORM, Auth, Rendering), you implement a trait.\n- **Unified Routes**: A single struct defines the path, parameters, data fetching, and visual representation for a URL.\n- **The AppSpec is Truth**: Your entire application is defined by a serializable `AppSpec`, making it portable and inspectable.\n- **No Magic**: We prefer explicit registration over reflection or global state.\n\n---\n\n## 🚀 Minimal Example\n\n```rust\nuse montrs::prelude::*;\n\n#[derive(Schema, Serialize, Deserialize)]\nstruct Greeting {\n    #[schema(min_len = 3)]\n    name: String,\n}\n\nstruct HelloPlate;\n\nimpl Plate\u003cAppConfig\u003e for HelloPlate {\n    fn register_routes(\u0026self, router: \u0026mut Router\u003cAppConfig\u003e) {\n        router.register(HelloRoute);\n    }\n}\n\nstruct HelloRoute;\n\nimpl Route\u003cAppConfig\u003e for HelloRoute {\n    type Params = EmptyParams;\n    type Loader = HelloLoader;\n    type Action = EmptyAction;\n    type View = HelloView;\n\n    fn path() -\u003e \u0026'static str { \"/hello\" }\n    fn loader(\u0026self) -\u003e Self::Loader { HelloLoader }\n    fn action(\u0026self) -\u003e Self::Action { EmptyAction }\n    fn view(\u0026self) -\u003e Self::View { HelloView }\n}\n```\n\n---\n\n## 👥 Documentation for Every Audience\n\n### 1. Application Developers\n*People building apps **with** MontRS.*\n- [First 30 Minutes](docs/getting-started/first-30-minutes.md): **Start here!** Your first onboarding experience.\n- [Introduction](docs/getting-started/introduction.md): Your first 10 minutes.\n- [The Golden Path](docs/getting-started/golden-path.md): How to build the right way.\n- [Common Mistakes](docs/guides/common-mistakes.md): Avoid frequent pitfalls and architectural anti-patterns.\n  \n  ### 2. Framework Contributors\n*People working **on** MontRS itself.*\n- [Architecture Overview](docs/architecture/overview.md): How the engine works.\n- [Package Boundaries](docs/architecture/packages.md): Responsibility of each crate.\n- [Invariants \u0026 Philosophy](docs/architecture/philosophy.md): The rules we don't break.\n\n### 3. Agents\n*Machine-readable context for models.*\n- [Agent-first design](docs/agent/agent-first.md): Principles of machine-readability.\n- [Agent Usage Guide](packages/agent/README.md): How to use `agent.json` and `tools.json`.\n- [Spec Snapshot](docs/agent/spec.md): Understanding the machine-readable project state.\n- **Metadata Markers**: Look for `@agent-tool` and `AgentError` implementations in the source.\n\n---\n\n## 🛠 Project Structure\n\n| Package | Purpose |\n| :--- | :--- |\n| [core](packages/core/README.md) | The architectural engine (Plates, Routing, AppSpec). |\n| [cli](packages/cli/README.md) | Orchestration, scaffolding, and build tools. |\n| [agent](packages/agent/README.md) | Agent-first logic, snapshotting, and error tracking. |\n| [orm](packages/orm/README.md) | SQL-centric database abstraction. |\n| [schema](packages/schema/README.md) | Compile-time validation and data modeling. |\n| [test](packages/test/README.md) | Deterministic test runtime and E2E tools. |\n\n---\n\n## License\n\nMontRS is dual-licensed under [Apache-2.0](LICENSE-APACHE) and [MIT](LICENSE-MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fafsall-labs%2Fmontrs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fafsall-labs%2Fmontrs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fafsall-labs%2Fmontrs/lists"}