tokio-rs/topcoat

A batteries-included framework for building web apps

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 1 hour ago
Added to GitGenius on September 14th, 2026
Created on April 3rd, 2026
Open Issues & Pull Requests: 27 (+0)
GitHub issues: Enabled
Number of forks: 177
Total Stargazers: 4,869 (+1)
Total Subscribers: 40 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 11.6 hours
Mean response time: 42.2 hours
90th percentile: 3.8 days
Tracked items: 83

Most active contributors

Sign in to see contributor activity.

How this project is maintained

About 7% of issues opened in the past year have never received a reply. 80% of issues opened in the past year have been closed, leaving a working backlog. Three people close 94% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 18
New in 7 days: 1
Closed in 7 days: 8
Avg open age: 30 days
Stale 30+ days: 8
Stale 90+ days: 0

Recent activity

Opened in 7 days: 1
Closed in 7 days: 6
Comments in 7 days: 3
Events in 7 days: 9

Top labels

No label distribution available yet.

Detailed Description

Topcoat is a batteries-included framework for building full-stack web applications in Rust.

Topcoat addresses the complexity of traditional full-stack development by eliminating the boilerplate of separate API layers and client-server communication. It renders all markup on the server where components can be async and query databases directly. For interactivity, Topcoat uses a `$(...)` expression syntax that is ordinary type-checked Rust evaluated on the server for initial render and automatically translated to JavaScript for instant browser re-execution, requiring no WebAssembly bundle or client build step. When updates require server involvement, marking a component as a `#[shard]` causes Topcoat to re-render it whenever its arguments change and swap the new HTML in place.

Topcoat suits developers building full-stack applications who want to reduce boilerplate and stay within Rust for both server and client logic. The framework includes a component library called Topcoat UI based on Tailwind, with components copied into your project via CLI so you can freely modify them. It offers module-based routing that can infer your route tree from your app's module structure without a build step, built-in Tailwind support via a feature flag, and asset bundling that scans your compiled binary for asset references and serves them with aggressive caching. The `view!` macro for templates stays true to HTML and Rust syntax, allowing familiar control flow within templates, and the `topcoat fmt` CLI command automatically formats macro snippets across your codebase.

The project is in early-stage and experimental with breaking changes expected. Development activity shows consistent engagement with the codebase through regular updates and refinements to core features. The maintainers are actively shaping the framework's direction as evidenced by ongoing work on the roadmap and feature development.