# Complex Nickel schema with fragment markers
# Demonstrates automatic fragmentation into multiple TOML files

{
  # @fragment: app_config
  app = {
    name | doc "Application name" : String,
    version | doc "Application version" : String = "1.0.0",
    description | doc "Application description" : String = "",
  },

  # @fragment: server_config
  server = {
    host | doc "Server host address" : String = "0.0.0.0",
    port | doc "Server port number" : Number = 8080,
    timeout | doc "Request timeout in seconds" : Number = 30,
    max_connections | doc "Maximum concurrent connections" : Number = 100,
  },

  # @fragment: database_config
  database = {
    url | doc "Database connection URL" : String,
    pool_size | doc "Connection pool size" : Number = 10,
    max_retries | doc "Maximum reconnection attempts" : Number = 3,
    ssl_enabled | doc "Enable SSL for database connection" : Bool = false,
  },

  # @fragment: cache_config
  cache = {
    enabled | doc "Enable caching layer" : Bool = true,
    backend | doc "Cache backend type" : String = "memory",
    ttl | doc "Cache time-to-live in seconds" : Number = 3600,
  },
}
