[package]
edition = "2024"
rust-version = "1.85"
name = "hexser"
version = "0.5.0"
authors = ["N Lang Team"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Zero-boilerplate hexagonal architecture with graph-based introspection"
homepage = "https://github.com/squillo/hexser"
documentation = "https://docs.rs/hexser"
readme = "README.md"
keywords = [
"hexagonal",
"architecture",
"ports",
"adapters",
"ddd",
]
categories = [
"development-tools",
"data-structures",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/squillo/hexser"
[package.metadata.docs.rs]
all-features = true
[features]
ai = [
"serde",
"serde_json",
]
async = [
"tokio",
"async-trait",
]
container = [
"tokio",
"async-trait",
]
default = [
"macros",
"static-di",
]
full = [
"ai",
"mcp",
"async",
"macros",
"visualization",
"container",
"static-di",
]
macros = ["hexser_macros"]
mcp = [
"ai",
"serde",
"serde_json",
]
serde = ["dep:serde"]
static-di = []
visualization = [
"serde",
"serde_json",
]
[lib]
name = "hexser"
path = "src/lib.rs"
[[bin]]
name = "hex-ai-export"
path = "src/bin/hex_ai_export.rs"
required-features = ["ai"]
[[bin]]
name = "hex-ai-pack"
path = "src/bin/hex_ai_pack.rs"
required-features = ["ai"]
[[bin]]
name = "hex-mcp-server"
path = "src/bin/hex_mcp_server.rs"
required-features = ["mcp"]
[[example]]
name = "architecture_visualization"
path = "examples/architecture_visualization.rs"
[[example]]
name = "auth_integration"
path = "examples/auth_integration.rs"
[[example]]
name = "composite_profile"
path = "examples/composite_profile.rs"
[[example]]
name = "container_example"
path = "examples/container_example.rs"
[[example]]
name = "cqrs_pattern"
path = "examples/cqrs_pattern.rs"
[[example]]
name = "graph_example"
path = "examples/graph_example.rs"
[[example]]
name = "simple_todo"
path = "examples/simple_todo.rs"
[[example]]
name = "test_serde_errors"
path = "examples/test_serde_errors.rs"
[[example]]
name = "transactional_order"
path = "examples/transactional_order.rs"
[[example]]
name = "tutorial_01_entity"
path = "examples/tutorial_01_entity.rs"
[[example]]
name = "tutorial_01_hello"
path = "examples/tutorial_01_hello.rs"
[[example]]
name = "tutorial_02_ports"
path = "examples/tutorial_02_ports.rs"
[[example]]
name = "tutorial_02_repository"
path = "examples/tutorial_02_repository.rs"
[[example]]
name = "tutorial_03_adapters"
path = "examples/tutorial_03_adapters.rs"
[[example]]
name = "tutorial_04_application"
path = "examples/tutorial_04_application.rs"
[[example]]
name = "visualization_tutorial"
path = "examples/visualization_tutorial.rs"
required-features = ["visualization"]
[[example]]
name = "weather_adapter"
path = "examples/weather_adapter.rs"
[[test]]
name = "container_integration_test"
path = "tests/container_integration_test.rs"
[[test]]
name = "derive_registration_test"
path = "tests/derive_registration_test.rs"
[[test]]
name = "env_controlled_serde_test"
path = "tests/env_controlled_serde_test.rs"
[[test]]
name = "graph_tests"
path = "tests/graph_tests.rs"
[[test]]
name = "integration_test"
path = "tests/integration_test.rs"
[[test]]
name = "macro_tests"
path = "tests/macro_tests.rs"
[[test]]
name = "readme_quickstart_test"
path = "tests/readme_quickstart_test.rs"
[[test]]
name = "trybuild_ui"
path = "tests/trybuild_ui.rs"
[[bench]]
name = "graph_benches"
path = "benches/graph_benches.rs"
harness = false
required-features = ["ai"]
[dependencies.arc-swap]
version = "1"
[dependencies.async-trait]
version = "0.1.89"
optional = true
[dependencies.hexser_macros]
version = "0.5.0"
optional = true
[dependencies.indexmap]
version = "2"
features = ["serde"]
[dependencies.inventory]
version = "0.3"
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.tokio]
version = "1.47.1"
features = ["sync"]
optional = true
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.pretty_assertions]
version = "1.4"
[dev-dependencies.reqwest]
version = "0.12"
features = [
"blocking",
"json",
]
default-features = false
[dev-dependencies.serde]
version = "1.0"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1.0"
[dev-dependencies.serial_test]
version = "3"
[dev-dependencies.tokio]
version = "1.47.1"
features = [
"sync",
"macros",
"rt-multi-thread",
"time",
]
[dev-dependencies.trybuild]
version = "1.0"
[dev-dependencies.uuid]
version = "1.0"
features = ["v4"]