veto scan command discovers tools in your codebase and checks which ones have policy rules defined.
Syntax
Description
Scans your codebase to:- Discover tools from source code (TypeScript, Python)
- Load policy rules from
veto/rules/ - Match tools to rules and identify coverage gaps
- Suggest policies for uncovered tools (optional)
- Report coverage as text or JSON
Options
Fail on Uncovered
Suggest Policies
Include Examples
examples/ directory in tool discovery.
Example:
Include Tests
test/, tests/, __tests__/ directories in tool discovery.
Example:
Format
text- Human-readable (default)json- Machine-readable JSON
Directory
Examples
Basic Scan
Scan with Suggestions
JSON Output
CI/CD Gate
Scan Specific Directory
How It Works
1. Tool Discovery
Scans source code for tool definitions: TypeScript:2. Policy Loading
Loads rules fromveto/rules/:
3. Coverage Matching
Matches tools to rules:- ✅ COVERED: Tool has specific rule or global rule applies
- ❌ UNCOVERED: Tool has no rules
4. Suggestions (Optional)
Generates policy suggestions based on tool name heuristics:transfer,payment→ @veto/financialemail,message→ @veto/communicationnavigate,click→ @veto/browser-automationquery,database→ @veto/data-accessshell,exec→ @veto/coding-agentdeploy,release→ @veto/deployment
Use Cases
Pre-Commit Hook
CI Pipeline
Weekly Coverage Report
Find Uncovered Tools
Coverage Reasons
tool-rule
Tool has a specific rule targeting it:global-rule
Tool is covered by a global rule (notools: field):
none
Tool has no matching rules:Troubleshooting
No Tools Discovered
- Check that you’re using supported tool libraries (LangChain, Vercel AI, etc.)
- Verify tool definitions follow standard patterns
- Use
--include-testsor--include-examplesif tools are there
Low Coverage
False Positives
Scan detects non-tool functions: Solution:- Exclude directories: Don’t use
--include-testsor--include-examples - Tools must follow standard naming patterns
- Report false positives as bugs
Best Practices
1. Scan Regularly
2. Use in CI
3. Track Coverage Over Time
4. Generate Suggestions
Next Steps
- Generate Policies - Create rules for uncovered tools
- Apply Policies - Deploy generated policies
- Launch Studio - Interactive coverage view
- Guard Check - Test individual tools

