astro-check
Astro Check Tool Analysis
Overview
Astro Check is Astro’s built-in type checking command that provides TypeScript
diagnostics for .astro files including frontmatter scripts, component props, and
template expressions. This analysis compares Lintro’s wrapper with core astro check
behavior.
Core Tool Capabilities
- TypeScript type checking for
.astrofiles - Frontmatter script validation
- Component prop type checking
- Template expression type checking
- Config discovery:
astro.config.mjs,astro.config.ts,astro.config.js - Integration with project’s
tsconfig.json - Watch mode for development (
--watch)
Lintro Implementation Analysis
Preserved Features
- Invokes
astro checkfor type checking - Respects native
astro.configandtsconfig.json - Intelligent command fallback: direct
astro->bunx astro->npx astro - Parses astro check output into structured
ToolResultwith file/line/column/code - Auto-install support for Node.js dependencies
Limited / Missing
Watch Mode:
- No
--watchmode (continuous type checking)
Build Features:
- No build mode or output generation
- Type checking only (no production builds)
Advanced Features:
- No telemetry control (—telemetry flags)
- No sync mode (—sync flag)
- No experimental features
Enhancements
- Safe timeout handling (default 120s) with structured timeout result
- Auto config discovery for astro.config files
- Normalized
ToolResultwith parsed issues fromastro_check_parser - Priority 83, tool type
LINTER | TYPE_CHECKER - Graceful handling when astro is not installed with helpful install hints
- Dependency error detection with helpful suggestions
- Auto-install support for Node.js dependencies
Usage Comparison
# Core astro check
astro check
# Core astro check with specific root
astro check --root ./packages/web
# Lintro wrapper - check Astro files
lintro check src/ --tools astro-check
# Lintro wrapper - with specific root
lintro check . --tools astro-check --tool-options "astro-check:root=./packages/web"
# Lintro wrapper - auto-install dependencies
lintro check src/ --tools astro-check --auto-install
Configuration Strategy
- Config inherited: All settings from
astro.configandtsconfig.jsonare preserved - No config injection: Lintro cannot modify astro.config settings; tool is “Native only”
- Tool options available:
astro-check:root(string) - root directory for the Astro projectastro-check:timeout(int) - execution timeout in seconds (default: 120)
- Config display:
lintro config -vshows detected astro.config file
Priority and Conflicts
- Priority: 83 (runs after tsc, same priority as svelte-check and vue-tsc)
- Tool Type: LINTER | TYPE_CHECKER
- Conflicts: None
- Complements: oxlint, oxfmt, prettier (formatting/linting)
Recommendations
- Use Lintro when you want quick type checking integrated into a multi-tool workflow with normalized output and timeout safety.
- Use core astro check directly when you need:
- Watch mode for development (
astro check --watch) - Build integration
- Sync mode for content collections
- Fine-grained control over astro-specific features
- Watch mode for development (