204 lines
5.0 KiB
Plaintext
204 lines
5.0 KiB
Plaintext
# 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,
|
|
},
|
|
},
|
|
}
|