# CI Configuration - Nickel Format # Auto-generated by dev-system CI installer # # This file is managed by TypeDialog using nickel-roundtrip. # Edit via: .typedialog/ci/configure.sh # Or manually edit and validate with: nickel typecheck config.ncl # # Documentation: nickel doc config.ncl { # CI namespace - all configuration lives under 'ci' ci = { # Project Information # Detected languages and primary language for this project project = { # Project name name = "", # Project description description = "", # Project website or documentation site URL site_url = "", # Project repository URL (GitHub, GitLab, etc.) repo_url = "", # Languages detected in codebase (auto-detected by installer) detected_languages = [ "rust", "markdown", "nickel" ], # Primary language (determines default tooling) primary_language = "rust", }, # CI Tools Configuration # Each tool can be enabled/disabled and configured here tools = { # Taplo - TOML formatter and linter taplo = { enabled = true, install_method = "cargo", }, # YAMLlint - YAML formatter and linter yamllint = { enabled = true, install_method = "pip", }, # Clippy - Rust linting tool clippy = { enabled = true, install_method = "cargo", deny_warnings = true, }, # Cargo Audit - Security vulnerability scanner audit = { enabled = true, install_method = "cargo", }, # Cargo Deny - Dependency checker deny = { enabled = true, install_method = "cargo", }, # Cargo SBOM - Software Bill of Materials sbom = { enabled = true, install_method = "cargo", }, # LLVM Coverage - Code coverage tool llvm-cov = { enabled = true, install_method = "cargo", }, # Shellcheck - Bash/shell script linter shellcheck = { enabled = true, install_method = "brew", }, # Shfmt - Shell script formatter shfmt = { enabled = true, install_method = "brew", }, # Markdownlint - Markdown linter markdownlint = { enabled = true, install_method = "npm", }, # Vale - Prose linter vale = { enabled = true, install_method = "brew", }, # Nickel - Configuration language type checker nickel = { enabled = true, install_method = "brew", check_all = true, }, # NuShell - Shell script validator nushell = { enabled = true, install_method = "builtin", check_all = true, }, # Ruff - Fast Python linter ruff = { enabled = true, install_method = "pip", }, # Black - Python code formatter black = { enabled = true, install_method = "pip", }, # Mypy - Python static type checker mypy = { enabled = false, install_method = "pip", }, # Pytest - Python testing framework pytest = { enabled = true, install_method = "pip", }, # Golangci-lint - Go linter aggregator "golangci-lint" = { enabled = true, install_method = "brew", }, # Gofmt - Go code formatter gofmt = { enabled = true, install_method = "builtin", }, # Staticcheck - Go static analysis staticcheck = { enabled = true, install_method = "brew", }, # Gosec - Go security checker gosec = { enabled = false, install_method = "brew", }, # ESLint - JavaScript linter eslint = { enabled = true, install_method = "npm", }, # Prettier - Code formatter prettier = { enabled = true, install_method = "npm", }, # TypeScript - Type checking typescript = { enabled = false, install_method = "npm", }, # Jest - JavaScript testing framework jest = { enabled = true, install_method = "npm", }, }, # CI Features # High-level feature flags for CI behavior features = { enable_ci_cd = true, enable_pre_commit = true, generate_taplo_config = true, generate_contributing = true, generate_security = true, generate_code_of_conduct = true, generate_dockerfiles = true, enable_cross_compilation = true, }, # CI Provider Configurations # Settings for GitHub Actions, Woodpecker, GitLab CI, etc. ci_providers = { # GitHub Actions github_actions = { enabled = true, branches_push = "main,develop", branches_pr = "main", }, # Woodpecker CI woodpecker = { enabled = true, }, }, # CI Settings settings = { parallel_jobs = 1, job_timeout_minutes = 1, require_status_checks = true, run_on_draft_prs = true, }, }, }