description = "Interactive configuration for continuous integration and code quality tools"
display_mode = "complete"
locales_path = ""
name = "CI Configuration Form"

[[elements]]
border_bottom = true
border_top = true
name = "project_header"
title = "📦 Project Information"
type = "section_header"

[[elements]]
help = "Name of the project"
name = "project_name"
nickel_path = [
    "ci",
    "project",
    "name",
]
placeholder = "my-project"
prompt = "Project name"
required = true
type = "text"

[[elements]]
help = "Optional description"
name = "project_description"
nickel_path = [
    "ci",
    "project",
    "description",
]
placeholder = "Brief description of what this project does"
prompt = "Project description"
required = false
type = "text"

[[elements]]
default = ""
help = "Project website or documentation site URL"
name = "project_site_url"
nickel_path = [
    "ci",
    "project",
    "site_url",
]
placeholder = "https://example.com"
prompt = "Project Site URL"
required = false
type = "text"

[[elements]]
default = ""
help = "Project repository URL (GitHub, GitLab, etc.)"
name = "project_repo_url"
nickel_path = [
    "ci",
    "project",
    "repo_url",
]
placeholder = "https://github.com/user/repo"
prompt = "Project Repo URL"
required = false
type = "text"

[[elements]]
border_bottom = true
border_top = true
name = "languages_header"
title = "🔍 Detected Languages"
type = "section_header"

[[elements]]
default = "rust"
display_mode = "grid"
help = "Select all languages detected or used in the project"
min_selected = 1
name = "detected_languages"
nickel_path = [
    "ci",
    "project",
    "detected_languages",
]
prompt = "Which languages are used in this project?"
required = true
searchable = true
type = "multiselect"

[[elements.options]]
value = "rust"
label = "🦀 Rust"

[[elements.options]]
value = "nushell"
label = "🐚 NuShell"

[[elements.options]]
value = "nickel"
label = "⚙️  Nickel"

[[elements.options]]
value = "bash"
label = "🔧 Bash/Shell"

[[elements.options]]
value = "markdown"
label = "📝 Markdown/Documentation"

[[elements]]
help = "Main language used for defaults (e.g., in GitHub Actions workflows)"
name = "primary_language"
nickel_path = [
    "ci",
    "project",
    "primary_language",
]
options_from = "detected_languages"
prompt = "Primary language"
required = true
type = "select"
default = "rust"

[[elements.options]]
value = "rust"
label = "🦀 Rust"

[[elements.options]]
value = "nushell"
label = "🐚 NuShell"

[[elements.options]]
value = "nickel"
label = "⚙️  Nickel"

[[elements.options]]
value = "bash"
label = "🔧 Bash"

[[elements.options]]
value = "markdown"
label = "📝 Markdown"

[[elements]]
includes = ["fragments/rust-tools.toml"]
name = "rust_tools_group"
type = "group"
when = "rust in detected_languages"

[[elements]]
includes = ["fragments/nushell-tools.toml"]
name = "nushell_tools_group"
type = "group"
when = "nushell in detected_languages"

[[elements]]
includes = ["fragments/nickel-tools.toml"]
name = "nickel_tools_group"
type = "group"
when = "nickel in detected_languages"

[[elements]]
includes = ["fragments/bash-tools.toml"]
name = "bash_tools_group"
type = "group"
when = "bash in detected_languages"

[[elements]]
includes = ["fragments/markdown-tools.toml"]
name = "markdown_tools_group"
type = "group"
when = "markdown in detected_languages"

[[elements]]
includes = ["fragments/general-tools.toml"]
name = "general_tools_group"
type = "group"

[[elements]]
border_bottom = true
border_top = true
name = "ci_cd_header"
title = "🔄 CI/CD Configuration"
type = "section_header"

[[elements]]
default = "true"
help = "Set up continuous integration and deployment pipelines"
name = "enable_ci_cd"
nickel_path = [
    "ci",
    "features",
    "enable_ci_cd",
]
prompt = "Enable CI/CD integration?"
type = "confirm"

[[elements]]
includes = ["fragments/ci-providers.toml"]
name = "ci_providers_group"
type = "group"
when = "enable_ci_cd == true"

[[elements]]
includes = ["fragments/ci-settings.toml"]
name = "ci_settings_group"
type = "group"
when = "enable_ci_cd == true"

[[elements]]
includes = ["fragments/build-deployment.toml"]
name = "build_deployment_group"
type = "group"
when = "enable_ci_cd == true"

[[elements]]
includes = ["fragments/documentation.toml"]
name = "documentation_group"
type = "group"

[[elements]]
border_bottom = true
border_top = true
name = "confirmation_header"
title = "✅ Ready to Install"
type = "section_header"

[[elements]]
content = "Review your configuration above. After confirming, the CI system will be installed with your chosen settings."
name = "confirmation_footer"
type = "footer"
