mirror of
https://github.com/Heretek-AI/AetherTable.git
synced 2026-11-07 10:45:58 -10:00
Project verified registered on SonarCloud (Heretek-AI_TTRPG, autoscan active against main). sonar-project.properties with verified keys + all six crates/py/ts source roots; scanner workflow fails loudly without SONAR_TOKEN rather than silently no-oping. ci.yml gains a hard clippy -D warnings gate and vitest gate with honest skip conditions. Operator-only remainder: set the SONAR_TOKEN secret. Co-Authored-By: Claude <[email protected]>
59 lines
2.5 KiB
Properties
59 lines
2.5 KiB
Properties
# SonarQube Cloud (SonarCloud) scanner configuration — AetherTable
|
|
#
|
|
# Project is REGISTERED on SonarCloud:
|
|
# Organization : heretek-ai (https://sonarcloud.io/organizations/heretek-ai)
|
|
# Project key : Heretek-AI_TTRPG (display name "AetherTable")
|
|
# Bound ALM : GitHub, repo Heretek-AI/AetherTable (this repository was renamed
|
|
# from TTRPG; the SonarCloud binding already points at the new name,
|
|
# so no operator action is required for the rename).
|
|
# Autoscan : ENABLED ("ciName: Autoscan") — the org's automatic analysis runs
|
|
# today. The explicit workflow in .github/workflows/sonar.yml makes
|
|
# analysis deterministic and PR-gated instead of best-effort.
|
|
#
|
|
# Verified live on the SonarCloud API on 2026-08-25:
|
|
# GET /api/components/search_projects?organization=heretek-ai -> key Heretek-AI_TTRPG
|
|
# GET /api/project_branches/list?project=Heretek-AI_TTRPG -> main (LONG), autoscan
|
|
#
|
|
# Operator prerequisites (one-time):
|
|
# 1. Create a project analysis token at
|
|
# https://sonarcloud.io/account/security (scope: "Analysis").
|
|
# 2. Add it as the repository secret SONAR_TOKEN
|
|
# (Settings > Secrets and variables > Actions).
|
|
#
|
|
# Coverage note: sonar.sources below deliberately includes only first-party code.
|
|
# compendium/ holds imported SRD content and docs/ holds design prose — both are
|
|
# excluded so issues stay actionable.
|
|
|
|
sonar.projectKey=Heretek-AI_TTRPG
|
|
sonar.organization=heretek-ai
|
|
|
|
sonar.projectName=AetherTable
|
|
|
|
# --- Source roots -----------------------------------------------------------
|
|
# Comma-separated list is the canonical form; SonarCloud's Rust analyzer is
|
|
# community-grade (syntax + smells only — no taint analysis), Python and
|
|
# TypeScript are full analyzers.
|
|
sonar.sources=crates/vtt-core/src,\
|
|
crates/vtt-spatial/src,\
|
|
crates/vtt-wfc/src,\
|
|
crates/vtt-crdt-sync/src,\
|
|
crates/vtt-scripting/src,\
|
|
crates/vtt-server/src,\
|
|
python/vtt_orchestrator,\
|
|
client/src
|
|
|
|
sonar.language=rs,py,ts
|
|
|
|
# --- Exclusions -------------------------------------------------------------
|
|
sonar.exclusions=**/*.min.js,**/__snapshots__/**,**/*.d.ts
|
|
|
|
# --- Tests ------------------------------------------------------------------
|
|
# Test sources are listed so coverage reports can be attached later; they are
|
|
# not themselves scanned for code smells.
|
|
sonar.tests=crates/vtt-core/tests,\
|
|
crates/vtt-spatial/tests,\
|
|
crates/vtt-server/tests,\
|
|
python/tests,\
|
|
client/src
|
|
sonar.test.inclusions=**/*.py,**/*.test.ts,**/*.test.tsx,**/tests/**/*.rs
|