Astro Dev Assistant (SARIF)
Turn any analysis script into native VS Code diagnostics.
The Problem
Writing scripts is easy. Getting them integrated into your VS Code experience was hard. Until now.
With AstroDev, you can write a script in seconds that will live update diagnostic lint information, just like the built-in language services.
And if you are helping an AI coding-assistant (you're helping it right?), this becomes a revolution. In seconds, you and your AI (or just your AI if you are feeling lucky)can write a script that will live update status information into its own context, creating a self-healing feedback loop.
Features
- Live Update SARIF Files: Drop a
.sarif file in your workspace. Results appear in Problems immediately. Edit the file, diagnostics update automatically. No reload required.
- Live Launch Diagnostic Scripts: Run any command-line tool that outputs SARIF directly from the AstroDev control panel.
- AI-Native Philosophy: Code written by AI for AI. AstroDev bridges the gap between ad-hoc analysis and IDE integration.
- Zero Infrastructure: No language servers. No complex protocols. Just JSON files that become native diagnostics.
How It Works
TWO Ways to Generate Diagnostics
We recommend Reflex Scripts for most use cases.
|
Reflex Scripts ⭐ RECOMMENDED |
SARIF Generators |
| They run... |
In sandboxed JavaScript VMs |
As spawned child processes |
| Their access... |
Limited sandbox API (file path, content, language ID) |
Your whole machine. They are just regular programs. |
| They scan... |
One file at a time, with no cross file state. |
Your whole project |
| They output... |
Diagnostic events directly to AstroDev in-memory |
A SARIF file anywhere in your project, which AstroDev discovers and ingests |
| Are they safe? |
Pretty darn safe (VM escapes exist, but rare) |
Nope. You supply them. Your code, your problem. |
| Are they fast? |
✅ Yes! Incremental one-file updates on change. Like mini language services. |
❌ Generally no. They typically rescan your entire project. |
TL;DR: Use Reflex Scripts for fast, safe, per-file analysis. Use SARIF Generators when you need to scan multiple files at once, when you need full system access, or you want to connect to existing tools or systems.
SARIF (Static Analysis Results Interchange Format) is an OASIS standard JSON format for analysis tools. AstroDev reads SARIF v2.1.0 files and converts results to VS Code diagnostics.
Minimal Example:
{
"version": "2.1.0",
"runs": [{
"tool": { "driver": { "name": "MyReflex" } },
"results": [{
"ruleId": "REFLEX001",
"level": "warning",
"message": { "text": "This code pattern is deprecated." },
"locations": [{
"physicalLocation": {
"artifactLocation": { "uri": "file:///path/to/file.cs" },
"region": { "startLine": 42 }
}
}]
}]
}]
}
Architecture
The extension is a lightweight sentinel:
- Watches your workspace for
*.sarif files.
- Parses results and converts them to
vscode.Diagnostic objects.
- Pushes them to a
DiagnosticCollection, which VS Code displays in the Problems pane.
- Monitors file changes for live updates.
No external processes, no network connections—just file watching and JSON parsing.
Usage
Control Panel
Click the 🤖 robot icon in the status bar to open the AstroDev Command Deck :
- Run Configured Generators: Execute your analysis scripts without leaving VS Code.
- Toggle Files ON/OFF: Quickly enable/disable specific SARIF sources.
- Control Injection: Turn all external diagnostics on or off globally.
Script Integration
Configure commands that generate SARIF output in your .vscode/settings.json:
{
"AstroDev.generators": [
{
"name": "Code Duplication Check",
"command": "dotnet run --file Scripts/CheckCodeDuplication.cs",
"args": ["EngineSrc/"]
},
{
"name": "Quick Lint Open Files",
"command": "mylinter",
"args": ["${openFiles}"]
}
]
}
Available Variables:
${workspaceFolder} - Full path to workspace root
${openFiles} - Space-separated list of all currently open file paths
Run them from the Control Panel with one click.
Use Cases
- Code Duplication Detection: Scan across your entire codebase for repeated logic.
- Architecture Rule Enforcement: "This module shouldn't reference that one."
- AI-Assisted Code Review: Convert prompt outputs into actionable red squiggles.
- Custom Linting Rules: Enforce project-specific constraints that standard linters miss.
- Cross-File Analysis: Catch bugs that span multiple files.
Installation
From Marketplace
code --install-extension artificial-necessity.astrodev
Or search for "Astro Dev Assistant" in the VS Code Extensions panel.
From VSIX File (for testing)
Use Extensions: Install from VSIX command and select the astrodev-*.vsix file.
Diagnostic Severity & AI Visibility
AstroDev diagnostics use VSCode's standard severity levels, but AI coding assistants (like Kilo Code) can only see Error-level diagnostics. This is a platform limitation, not a bug.
Visibility Matrix
| Viewer |
Error |
Warning |
Info |
Hint |
| Human Developer |
✅ Visible |
✅ Visible |
✅ Visible |
✅ Visible |
| AI Assistant (Kilo Code) |
✅ Visible |
❌ Hidden |
❌ Hidden |
❌ Hidden |
Implication for Reflex Scripts: If you want diagnostics visible to AI assistants, use severity: 'error' in your reflex report() calls. The included flashlight.reflex.ts uses Error severity for all tags (TODO, CRITICAL, WARNING, REMEMBER) specifically for AI visibility.
Settings
| Setting |
Default |
Description |
AstroDev.generators |
[] |
Shell commands that produce SARIF output. Run from Command Deck. |
AstroDev.executionPolicy |
manual |
Control when reflex scripts run: manual (click to run) or reflex-only (auto-run on file open/save). |
AstroDev.fullWorkspaceScanOnStartup |
false |
⚠️ Scan ALL workspace files with reflexes on startup. Can be slow on large projects. OFF = only open files (recommended). |
AstroDev.highAiPriority |
true |
AI Mode: When ON, diagnostics maintain their original severity levels. When OFF, downgrades Error→Info and Warning→Hint to hide from AI assistants (Info/Hint unchanged). |
AstroDev.autoEnableNewFiles |
true |
Auto-enable newly discovered SARIF files. |
AstroDev.globPattern |
**/*.sarif |
Glob pattern for finding SARIF files in workspace. |
Artificial Necessity LLC
Est. Before It Was Inevitable. To Make It So.
The future isn't coming. It's already here, and we're the ones installing the drivers.
We specialize in the aggressive reimagining of human-computer interaction. While others iterate, we terraform. We architect the silent layer between intent and execution, forging the necessary upgrades for a reality that hasn't quite caught up yet.
We don't build tools. We build the invisible hands that do the work for you. We don't mourn the old world of software development. We replace it.
Our Doctrine:
- Delivering the inevitable, ahead of schedule.
- Helping the past let go. Forcefully.
- Deprecating the past, one code line at a time.
Resistance is inefficient. Join us.
License
ARTIFICIAL NECESSITY PROPRIETARY LICENSE (ANPL-Closed)
We love open source. We really do. We give some of ours away, but not this code.
Someday, all code will be free. Until then, at least ours works.
See LICENSE.txt for full terms.