adminx 3.0.0

A powerful, framework-neutral admin-panel framework for Rust: one resource definition served over Actix or Axum, backed by PostgreSQL/MySQL/SQLite (SeaORM) or MongoDB, with auto CRUD, a rendered admin UI, JWT auth and RBAC.
Documentation
[package]
name = "adminx"
# The framework-neutral redesign, successor to the monolithic v1.0.0 (Actix +
# MongoDB). This crate is a thin facade: it re-exports the neutral core plus
# whichever framework/storage adapters you enable via features. Versioned in
# lockstep with the rest of the suite via the workspace.
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description = "A powerful, framework-neutral admin-panel framework for Rust: one resource definition served over Actix or Axum, backed by PostgreSQL/MySQL/SQLite (SeaORM) or MongoDB, with auto CRUD, a rendered admin UI, JWT auth and RBAC."
documentation = "https://docs.rs/adminx"
homepage = "https://github.com/srotas-space/adminx"
readme = "README.md"
keywords = ["admin", "panel", "crud", "actix", "axum"]
categories = ["web-programming", "web-programming::http-server", "database"]

[dependencies]
adminx-core   = { path = "../adminx-core",   version = "3.0.0" }
adminx-actix  = { path = "../adminx-actix",  version = "3.0.0", optional = true }
adminx-axum   = { path = "../adminx-axum",   version = "3.0.0", optional = true }
adminx-seaorm = { path = "../adminx-seaorm", version = "3.0.0", optional = true }
adminx-mongo  = { path = "../adminx-mongo",  version = "3.0.0", optional = true }
adminx-rbac   = { path = "../adminx-rbac",   version = "3.0.0", optional = true }

# CLI-only dependencies (pulled in only by the `cli` feature).
clap    = { version = "4", features = ["derive", "env"], optional = true }
tokio   = { workspace = true, optional = true }
anyhow  = { version = "1", optional = true }
dotenvy = { version = "0.15", optional = true }

[features]
default = []
# Web frameworks (pick one)
actix = ["dep:adminx-actix"]
axum = ["dep:adminx-axum"]
# Storage backends (pick one)
seaorm = ["dep:adminx-seaorm"]
mongo = ["dep:adminx-mongo"]
# Optional DB-backed RBAC (per-role, per-action, per-resource permissions).
rbac = ["dep:adminx-rbac"]
# The `adminx` command-line tool (admin-user management). Bundles both storage
# backends so one binary works for Postgres/MySQL/SQLite and MongoDB.
cli = ["seaorm", "mongo", "dep:clap", "dep:tokio", "dep:anyhow", "dep:dotenvy"]

# The CLI binary. Built only with `--features cli`; library users never pull it.
[[bin]]
name = "adminx"
path = "src/bin/adminx.rs"
required-features = ["cli"]

[package.metadata.docs.rs]
# Document a representative combination: one framework (the both-framework guard
# forbids actix+axum together, so `all-features` can't be used), both storage
# backends, and rbac. `--cfg docsrs` activates the `doc(cfg(..))` feature badges.
features = ["axum", "seaorm", "mongo", "rbac"]
rustdoc-args = ["--cfg", "docsrs"]