Feeding BrassCoders Output to Any AI Coding Assistant
BrassCoders writes .brass/ai_instructions.yaml — plain YAML, no proprietary encoding. Here's how to use that file as context in Claude Code, Cursor, and Continue.
BrassCoders writes .brass/ai_instructions.yaml after every scan — plain YAML, no proprietary encoding, no plugin required. Claude Code picks it up automatically in the project directory. Cursor and Continue users can reference it as a context file. The format is the same in all three cases: severity-sorted findings, each with a file path, line number, and remediation note.
One scan, one file, three editors.
What the YAML-First Pattern Is
BrassCoders scans your Python codebase, runs 12 static-analysis scanners, and writes a severity-sorted findings file to .brass/ai_instructions.yaml; the file is plain text with no encoding or proprietary structure, so any AI assistant that can read a local file can consume it as context.
The pattern is: scan before you open the editor, point the editor at the file, triage what the scanner found. The AI assistant reads the severity order, the line numbers, and the remediation notes — and starts at confirmation rather than discovery. This works across editors because the format doesn’t depend on any editor-specific feature. It’s a file. The editors read files.
Claude Code: Automatic Project Context
BrassCoders writes .brass/ai_instructions.yaml to the project directory, and Claude Code reads files in the project directory as context automatically; no additional configuration puts the findings in front of the model.
Run brasscoders --offline scan /path/to/project, then open Claude Code in the same directory. The .brass/ai_instructions.yaml file is available as project context for the session. Ask Claude Code to address the findings or triage them and it reads the file, identifies the critical-severity entries first, and works through them in severity order.
The findings file persists between sessions. The next time you open Claude Code in the same directory, the file is still there unless you’ve re-scanned and fixed the flagged issues. Unlike a chat prompt, the findings don’t reset when you close the editor.
Cursor: The @file Reference
Cursor supports @file references that add a local file’s contents to the AI context for a chat session; pointing it at .brass/ai_instructions.yaml gives the Cursor AI the same severity-sorted findings queue that Claude Code reads automatically.
In a Cursor chat session, type @file .brass/ai_instructions.yaml to include the findings as context. The Cursor AI reads the file as a structured findings list, can address the highest-severity findings first, and carries line numbers it can use to navigate to the flagged locations. This is the same pattern as the Claude Code workflow — the difference is that you add the context reference manually rather than the editor picking it up automatically.
One practical note: re-run brasscoders --offline scan before opening a new Cursor session after fixing findings. The .brass file doesn’t update automatically. A fixed finding stays in the file until the scan reruns and overwrites it.
Continue: Context in the Chat
Continue supports @file references in its chat panel, which lets you include any local file as context for a question; .brass/ai_instructions.yaml works the same way — type @file in the Continue chat and navigate to the findings file.
For teams where Continue is the shared AI assistant in VS Code, this makes the BrassCoders findings shareable across the session without re-running the scan on each machine. One person runs brasscoders --offline scan, commits the .brass/ai_instructions.yaml file to the branch, and the team references it in their Continue sessions. The findings are consistent for everyone working on the same branch.
Check Continue’s documentation for the current @file syntax in your version, as context-provider behavior has evolved across releases.
What’s Consistent Across All Three
The structure is the same regardless of which editor consumes it: severity ordering, line anchors, remediation directions. BrassCoders sorts critical findings above high findings above medium findings before writing the file. Every editor that reads the file inherits that priority order.
The line number field works the same way in all three: the AI assistant reads the flagged line number, pulls source context from that location, and decides whether the finding is real given the actual code. The file path field works the same way: it’s a relative path from the project root, readable by any tool that operates in the project directory.
The remediation field is the same in all three: a fix direction written before any tool reads the file, based on the pattern the scanner matched. The AI assistant reads the remediation, reads the code, and either generates the fix or dismisses the finding as a false positive.
One scan. One file. Any editor that reads files.
pip install brasscoders
brasscoders --offline scan /path/to/your/project Frequently Asked Questions
Does BrassCoders have a Cursor plugin?
No plugin is needed. BrassCoders writes .brass/ai_instructions.yaml to the project directory after a scan. In Cursor, you can reference this file with @file to add it as context for your AI session. No installation beyond pip install brasscoders is required.
Does BrassCoders work with Continue?
BrassCoders produces a plain-text YAML file that Continue can read. In Continue, you can reference local files as context by typing @file in the chat and selecting .brass/ai_instructions.yaml. No additional configuration is required for basic usage.
Does the .brass file change between scans?
Yes. BrassCoders regenerates the findings file on every scan. If you fix a finding and re-scan, it no longer appears. The file reflects the current state of the codebase at scan time, not a running log.
Which fields does the .brass file carry for each finding?
Each finding entry in .brass/ai_instructions.yaml carries an id, severity (critical/high/medium/low/info), file path, line number, title, description, and remediation field. The file is sorted severity-first so the most dangerous findings appear at the top.