Skip to content

FreeSynergy/Libs

Repository files navigation

FreeSynergy.Lib

Reusable Rust libraries for the FreeSynergy ecosystem.

These libraries are project-agnostic — they are shared by FreeSynergy.Node, FreeSynergy.Desktop, Wiki.rs, Decidim.rs, and any future FreeSynergy project.

Crates

Crate Phase Description
fsn-types 1 Shared types and traits (Resource, Capability, Meta, TypeRegistry)
fsn-error 1 Error handling + Repairable trait + ValidationIssue
fsn-config 1 TOML config loader/saver with validation and auto-repair
fsn-i18n 1 Snippet-based i18n (Fluent .ftl files, RTL support)
fsn-theme 1 Theme system (theme.toml → TUI palette + CSS)
fsn-help 1 Context-sensitive help topic system
fsn-health 1 Generic health check framework
fsn-db 1 Database abstraction (SQLite via rusqlite)
fsn-core 1 Form types (FormAction, SelectionResult) — zero deps
fsn-crypto 2 age encryption, mTLS, key management
fsn-sync 2 CRDT sync (Automerge)
fsn-pkg 2 Package manifest + capability matching + installer
fsn-store 2 Universal store client with namespace support
fsn-plugin-sdk 3 WASM plugin SDK (WIT interfaces)
fsn-plugin-runtime 3 WASM host via wasmtime
fsn-federation 4 OIDC + SCIM + ActivityPub
fsn-auth 4 OAuth2 + JWT + RBAC
fsn-container 5 Quadlet + systemd management (no socket, no bollard)
fsn-template 5 Tera template engine wrapper
fsn-bridge-sdk 5 Bridge interface traits
fsn-bus 6 Message bus (event routing + Tera transform)
fsn-channel 6 Channel adapters (Matrix, Telegram)
fsn-bot 6 Bot command framework
fsn-llm 6 LLM provider abstraction (Ollama, Claude)
fsn-components 7 Dioxus UI components
fsn-render 7 Rendering abstraction

Design Principles

  • OOP everywhere — traits over match blocks, types carry their own behavior
  • No renderer deps in shared cratesfsn-types, fsn-error etc. have zero UI dependencies
  • Feature-gated optional functionality — use #[cfg(feature = "...")] for heavy deps

License

MIT — see LICENSE

About

Shared Rust libraries for the FreeSynergy ecosystem

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages