Configuration .atooxrc.yml
Le fichier .atooxrc.yml permet de personnaliser le comportement d'ATOOX pour votre projet.
Emplacement
| Fichier | Emplacement | Priorité |
|---|---|---|
| Projet | ./.atooxrc.yml |
Haute (prioritaire) |
| Utilisateur | ~/.atooxrc.yml |
Moyenne |
| Système | /etc/atoox/config.yml |
Basse |
Les configurations sont fusionnées, avec priorité au fichier projet.
Configuration minimale
# .atooxrc.yml
version: 1
defaults:
mode: auto
Configuration complète
# .atooxrc.yml - Configuration complète ATOOX
version: 1
# ============================================================
# Comportement par défaut
# ============================================================
defaults:
mode: auto # full | auto | economy
branch_prefix: feature/ # Préfixe des branches
commit_style: conventional # conventional | angular | simple
language: fr # fr | en
# ============================================================
# Skills
# ============================================================
skills:
# Skills à charger
enabled:
- atoox
- commit
- oneshot
- sonar
- test
- perf
- a11y
# Skills à désactiver
disabled: []
# Configuration par skill
config:
atoox:
auto_commit: true
auto_pr: false
sonar:
threshold: B # Score minimum accepté
fail_on: critical # critical | high | medium
test:
coverage_min: 80
fail_under: true
# ============================================================
# Validation
# ============================================================
validation:
# Lint
lint:
enabled: true
command: npm run lint # Commande personnalisée
fix: true # Auto-fix si possible
strict: false # 0 warning = échec
# Types
types:
enabled: true
command: npm run typecheck
strict: true # Mode strict TypeScript
# Tests
tests:
enabled: false # Désactivé par défaut
command: npm test
coverage:
enabled: true
min: 80
fail_under: true
watch: false
# Sécurité
security:
enabled: true
level: standard # minimal | standard | paranoid
ignore:
- CVE-2023-XXXX # Ignorer des CVEs
# Complexité
complexity:
enabled: true
max_cyclomatic: 10
max_lines_per_function: 50
# ============================================================
# Git & Commits
# ============================================================
git:
# Branches
branches:
main: main
develop: develop
prefixes:
feature: feature/
bugfix: bugfix/
hotfix: hotfix/
release: release/
# Commits
commits:
style: conventional # conventional | angular | simple
scope: true # Inclure le scope
emoji: false # Pas d'emoji
sign: false # GPG signing
template: |
{type}({scope}): {subject}
{body}
{footer}
# Hooks Git natifs
hooks:
pre_commit:
- npm run lint
- npm run typecheck
commit_msg: []
pre_push:
- npm test
# ============================================================
# Pull Requests
# ============================================================
pr:
auto_create: false # Créer automatiquement
draft: false # Créer en draft
template: |
## Summary
{summary}
## Changes
{changes}
## Test Plan
{test_plan}
labels:
- enhancement
reviewers: []
assignees: []
# ============================================================
# Experts (Centupling Engine)
# ============================================================
experts:
# Experts favoris (prioritaires)
preferred:
- Martin Fowler
- Kent Beck
- Robert C. Martin
# Experts à exclure
excluded: []
# Mode de sélection
selection:
max_experts: 3
domain_weighted: true
# ============================================================
# Intégrations
# ============================================================
integrations:
# GitHub
github:
enabled: true
auto_pr: true
required_checks:
- build
- test
- lint
# Jira (PRO)
jira:
enabled: false
host: ""
project: ""
# Slack (PRO)
slack:
enabled: false
channel: ""
events:
- pipeline_completed
- error
# CI/CD
ci:
provider: github-actions # github-actions | gitlab-ci | circleci
wait_for_checks: true
# ============================================================
# Performance
# ============================================================
performance:
# Mode économique
economy:
skip_optional_steps: true
minimal_validation: true
no_ideas_panel: true
no_learning_report: true
# Parallélisation (PRO)
parallel:
enabled: false
max_concurrent: 3
# Cache
cache:
enabled: true
ttl: 3600 # Secondes
# ============================================================
# Output & Rapports
# ============================================================
output:
# Verbosité
verbose: false
debug: false
# Format des rapports
reports:
format: markdown # markdown | json | html
output_dir: .atoox/reports
include_metrics: true
# Checkpoints de contexte
checkpoints:
enabled: true
after_steps:
- validate
- run-tests
- docs
# ============================================================
# Fonctionnalités
# ============================================================
features:
centupling: true # Moteur cognitif
ideas_panel: true # Panel d'experts créatifs
learning: true # Rapports d'apprentissage
telemetry: false # Aucune télémétrie
# ============================================================
# Chemins
# ============================================================
paths:
src: src
tests: tests
docs: docs
output: .atoox
# ============================================================
# Patterns à ignorer
# ============================================================
ignore:
files:
- "*.min.js"
- "*.bundle.js"
- "dist/**"
- "node_modules/**"
- ".git/**"
rules:
- no-console # Ignorer cette règle ESLint
Exemples par type de projet
Projet React/TypeScript
version: 1
defaults:
mode: auto
skills:
enabled:
- atoox
- commit
- oneshot
- sonar
- test
- perf
- a11y
validation:
lint:
command: npm run lint
types:
command: npm run typecheck
tests:
command: npm test
coverage:
min: 80
git:
commits:
style: conventional
scope: true
Projet Backend Node.js
version: 1
defaults:
mode: auto
skills:
enabled:
- atoox
- commit
- sonar
- test
- api-audit
- security
validation:
security:
level: paranoid
tests:
coverage:
min: 90
integrations:
ci:
provider: github-actions
wait_for_checks: true
Projet MVP rapide
version: 1
defaults:
mode: economy
performance:
economy:
skip_optional_steps: true
minimal_validation: true
validation:
tests:
enabled: false
security:
level: minimal
Variables d'environnement
# Remplacer des valeurs sensibles
export ATOOX_GITHUB_TOKEN=ghp_xxxx
export ATOOX_JIRA_TOKEN=xxx
export ATOOX_SLACK_WEBHOOK=https://...
Référencer dans le fichier :
integrations:
github:
token: ${ATOOX_GITHUB_TOKEN}
Validation de la configuration
# Valider le fichier de configuration
atoox config validate
# Afficher la configuration effective
atoox config show
# Afficher une valeur spécifique
atoox config get validation.lint.command