https://github.com/instancium/instancium.tagkit
Instancium.TagKit is a protocol-first runtime for server-rendered components. It enables stateless, reloadable, and framework-free UI architecture, prioritizing predictability, autonomy, and clean separation of logic and structure.
https://github.com/instancium/instancium.tagkit
component-protocol csharp dotnet html-templates modular-ui nuget-package server-rendered-components stateless-components taghelpers
Last synced: about 2 months ago
JSON representation
Instancium.TagKit is a protocol-first runtime for server-rendered components. It enables stateless, reloadable, and framework-free UI architecture, prioritizing predictability, autonomy, and clean separation of logic and structure.
- Host: GitHub
- URL: https://github.com/instancium/instancium.tagkit
- Owner: Instancium
- License: mit
- Created: 2025-06-25T14:58:01.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-13T16:22:33.000Z (11 months ago)
- Last Synced: 2025-07-22T07:19:32.440Z (11 months ago)
- Topics: component-protocol, csharp, dotnet, html-templates, modular-ui, nuget-package, server-rendered-components, stateless-components, taghelpers
- Language: C#
- Homepage: https://instancium.com/
- Size: 1.1 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Instancium.TagKit
**A communication protocol for components β not just another UI library.**
Instancium.TagKit is a runtime and resource contract for server-rendered components. Built for predictable reload, seamless integration, and absolute autonomy.
This library is a core component of the **Instancium Protocol**,
an architecture-first initiative for AI-native, structure-aware systems.
Learn more in the [Protocol Manifesto](https://github.com/Instancium/.github/blob/main/profile/MANIFESTO.md).
## π Authorship Statement & Usage Philosophy
Instancium.TagKit is not designed for building universal component libraries. It exists to help you quickly create exactly what your project needs, without overhead or abstraction.
With Instancium.TagKit, you can:
- Prompt an AI (or write manually) to generate HTML structure, JS behavior, and CSS styling
- Instantly test your component β no compilation, no Razor, no hidden layers
- Define server-side logic cleanly in C# β decoupled and explicit
- Use it as a TagHelper β an autonomous, self-contained unit of interface
Each component becomes a testable, portable, and predictable UI block.
Instancium.TagKit is not a framework β it's a protocol that enables you to build your product, not another abstraction layer.
### Plain HTML Preserves Clarity and Autonomy
By using `.html` templates without server directives:
- You get true separation of concerns β code in `.cs`, structure in `.html`
- Components donβt require compilation β edit and reload instantly
- Frontend work can happen in any environment or tool (even outside .NET)
- Markup becomes portable, testable, and safe for reuse
### Why No Razor in Markup Template (plain HTML)?
Instancium components intentionally avoid Razor (`.cshtml`) templates β and this is a core part of the protocol.
Allowing `.cshtml` in components opens the door to:
- Server-side logic inside markup (`@if`, `@foreach`, etc.)
- State mutations and service calls within HTML structure
- Tightly coupled UI that depends on compilation and backend context
This undermines the very purpose of components as declarative, self-contained units.
Instancium chooses simplicity and direction over convenience and ambiguity.
## π§± Project Structure
| Folder | Purpose |
|--------|---------|
| [src/Instancium.TagKit.Core](./src/Instancium.TagKit.Core) | Minimal runtime with reload protocol and resource hooks |
| [demo/DemoApp](./demo/Instancium.TagKit.DemoApp) | Example app: TagHelpers, reload flows, and UI scaffolding |
| [tests](./tests) | Runtime and component reload tests |
---
## π€ Contributing
Instancium welcomes contributions that align with its vision: transparency, autonomy, and composability.
While a formal `CONTRIBUTING.md` is coming soon, feel free to explore the `Core`, suggest extensions, or raise issues.
ποΈβπ¨οΈ **The Guild**
Instancium maintains its architectural rhythm through a growing guild β a collective of engineers, philosophers, and designers who care about the clarity and direction of the protocol.
If you seek to contribute not just code, but meaning β [consider joining](https://instancium.com/#guild).
## π’ Supporting the Project
Instancium is more than a runtime β it's a philosophy of transparent, declarative architecture.
If your organization finds value in adopting Instancium for clean, minimal, framework-free UI infrastructure, please consider supporting the project:
- πΌ Use it in production β and share feedback to help evolve the protocol
- π€ Sponsor development β support continuous, focused, transparent work
- π± Join the Guild β help shape the architectural core and steward its direction
- π¬ Get in touch: support@protonmail.com
- π§ Learn more: instancium.com (soon)
## π License
MIT Β© 2025 Instancian Contributors
βοΈ [Authorship statement](https://github.com/Instancium/.github/blob/main/profile/Authorship.md)