# jpl-website - Rustelo Framework Configuration
# Generated from basic template v0.1.0
#
# This file controls how your implementation depends on and interacts with the Rustelo framework.

[project]
name = "jpl-website"
description = "{{description}}"
template = "basic"
created = "2025-10-28T18:46:17.145459+00:00"

[dependencies]
# How this implementation depends on the Rustelo framework
strategy = "{{dependency_strategy}}"

[dependencies.git]
repository = "https://github.com/your-org/rustelo.git"
branch = "main"
# tag = "v1.0.0"  # Use for production deployments

[dependencies.crates_io]
# Production-ready approach using published crates

[dependencies.path]
# Local development only
base_path = "../rustelo/crates"

[versions]
# Framework crate versions
rustelo-core = "{{rustelo_core_version}}"
rustelo-web = "{{rustelo_web_version}}"
rustelo-auth = "{{rustelo_auth_version}}"
rustelo-content = "{{rustelo_content_version}}"

[features]
# Enabled framework features for this implementation
rustelo-core = []
rustelo-web = ["ssr"]
rustelo-auth = []
rustelo-content = ["markdown"]

[features.available]
# Available features for discovery (updated automatically)
rustelo-core = ["tracing", "metrics", "caching", "async-runtime"]
rustelo-web = ["islands", "streaming", "hydration", "prerendering"]
rustelo-auth = ["oauth2", "jwt", "session", "2fa", "social-login"]
rustelo-content = ["search", "cms", "multilang", "versioning"]
rustelo-analytics = ["tracking", "events", "reporting", "dashboards"]
rustelo-realtime = ["websockets", "sse", "notifications", "collaboration"]

# Asset management configuration
[assets]
source = "local"
download_location = ".rustelo-assets/"

[assets.remote]
base_url = "https://raw.githubusercontent.com/your-org/rustelo/main/templates"
template_variant = "basic"
cache_enabled = true
cache_ttl = "24h"
cache_directory = ".rustelo-cache"
fallback_to_embedded = true

[assets.local]
framework_path = "{{framework_path}}"
implementation_templates = "templates"
framework_assets = "framework-assets"
watch_changes = {{dev_mode}}
auto_sync = {{dev_mode}}

[development]
enabled = {{dev_mode}}
auto_detect_changes = true
auto_sync_assets = {{dev_mode}}
validate_assets = true
hot_reload = true

# Update and maintenance configuration
[update]
policy = "conservative"
backup = true
backup_dir = ".rustelo-backups"

[update.automation]
enabled = {{automation_enabled}}
check_frequency = "{{check_frequency}}"
check_targets = ["framework", "dependencies", "features"]
notify_methods = {{notify_methods}}
auto_update_policy = "notify_only"
fail_on_critical_updates = false
update_log_file = ".rustelo/update-history.log"

# Files safe to regenerate during updates
regenerate = [
    "justfile",
    "package.json", 
    "unocss.config.ts",
    "rustelo.toml"
]

# Protected files (never overwritten)
protected = [
    "src/**/*.rs",
    "content/**/*",
    "public/**/*",
    "local-tasks.just",
    "unocss.local.ts",
    "rustelo.local.toml",
    ".env*"
]

# Contribution detection and sharing
[contributions]
enabled = {{contributions_enabled}}
scan_frequency = "monthly"
detect_types = ["improvements", "bug_fixes", "new_features", "documentation"]
confidence_threshold = 0.7
auto_package = false
package_directory = ".rustelo/contributions"
notify_methods = ["log", "file"]

# Notification preferences
[notifications]
enabled = true

[notifications.channels]
console = { enabled = true, level = "info" }
file = { 
    enabled = {{file_notifications}}, 
    path = ".rustelo/notifications.json"
}

# CI/CD integration
[ci_cd]
enabled = {{ci_cd_enabled}}
exit_codes = true
cache_results = true
cache_key = "rustelo-jpl-website-0.1.0"

# Template-specific configuration
[template.basic]
# Basic template doesn't require additional configuration
content_types = ["blog", "pages"]
ui_framework = "unocss"
build_system = "vite"