stemedb/aphoria.toml
jordan c65066fd1c feat(aphoria): implement ignore & exclusion system (Phase 16)
Reduces scan noise by 96% through proper exclusion of test fixtures,
demo apps, and intentional vulnerabilities.

Phase 16.1 - Glob Pattern Matching:
- Replace starts_with() with globset for ** and * patterns
- Backwards compatible with legacy prefix patterns
- Add walker/mod.rs tests for glob exclusions

Phase 16.2 - .aphoriaignore File:
- Create walker/ignore_file.rs for gitignore-style parsing
- Merge with aphoria.toml excludes
- Support # comments and whitespace trimming

Phase 16.3 - Inline Ignore Comments:
- Create extractors/ignore_comments.rs parser
- Support // aphoria:ignore, // aphoria:ignore-next-line
- Support // aphoria:ignore-block / // aphoria:end-ignore
- Multiple comment styles: //, #, /*, --, <!--
- Integrate with ExtractorRegistry.extract_all()

Phase 16.4 - Ack Export/Import:
- Create ack_file.rs for TOML serialization
- Add 'aphoria ack add' subcommand
- Add 'aphoria ack export' to .aphoria/acks.toml
- Add 'aphoria ack import' from .aphoria/acks.toml
- Preserve expiry and reason fields

Also configures stemedb with:
- aphoria.toml with glob excludes for vulnbank, extractors, fixtures
- .aphoriaignore for dashboard, community, latent, SDK examples

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-07 17:28:50 -07:00

54 lines
1.3 KiB
TOML

# Aphoria Configuration for StemeDB
#
# This configures the code-level truth linter for the StemeDB project.
[project]
name = "stemedb"
[scan]
# Exclude patterns (supports globs)
exclude = [
# Build outputs
"target/**",
"node_modules/**",
".git/**",
# Intentionally vulnerable demo app
"docs/demo/vulnbank/**",
# Test fixtures (intentionally insecure patterns)
"**/uat/fixtures/**",
"**/test_fixtures/**",
# Extractor source files (contain detection patterns as test strings, not real issues)
"applications/aphoria/src/extractors/**",
# Report modules (contain example output, not real issues)
"applications/aphoria/src/report/**",
# Learning modules (contain pattern examples)
"applications/aphoria/src/learning/**",
# Community modules (contain anonymization examples)
"applications/aphoria/src/community/**",
]
# Include test files in scan (we'll use inline ignores for specific patterns)
include_tests = false
# Max file size to scan (1MB)
max_file_size = 1048576
[extractors]
# All extractors enabled by default
[corpus]
# Include all corpus sources
include_hardcoded = true
include_rfc = true
include_owasp = true
[aliases]
# Auto-create aliases when conflicts are detected
auto_create_aliases = true