These instructions are for AI assistants working in this project.
Always open @/.aurora/AGENTS.md when the request:
- Mentions planning or proposals (words like plan, create, implement)
- Introduces new capabilities, breaking changes, or architecture shifts
- Sounds ambiguous and you need authoritative guidance before coding
Use @/.aurora/AGENTS.md to learn:
- How to create and work with plans
- Aurora workflow and conventions
- Project structure and guidelines
Aurora provides MCP tools for code intelligence (automatically available in Claude):
lsp - LSP code intelligence with 3 actions:
deadcode- Find unused symbols, generates CODE_QUALITY_REPORT.mdimpact- Analyze symbol usage, show callers and risk levelcheck- Quick usage check before editing
mem_search - Search indexed code with LSP enrichment:
- Returns code snippets with metadata (type, symbol, lines)
- Enriched with LSP context (used_by, called_by, calling)
- Includes git info (last_modified, last_author)
When to use:
- Before edits: Use
lsp checkto see usage impact - Before refactoring: Use
lsp deadcodeorlsp impactto find all references - Code search: Use
mem_searchinstead of grep for semantic results - After large changes: Use
lsp deadcodeto find orphaned code
Keep this managed block so 'aur init --config' can refresh the instructions.
POC first. Always validate logic with a ~15min proof-of-concept before building. Cover happy path + common edges. POC works → design properly → build with tests. Never ship the POC.
Build incrementally. Break work into small independent modules. One piece at a time, each must work on its own before integrating.
Dependency hierarchy — follow strictly: vanilla language → standard library → external (only when stdlib can't do it in <100 lines). External deps must be maintained, lightweight, and widely adopted. Exception: always use vetted libraries for security-critical code (crypto, auth, sanitization).
Lightweight over complex. Fewer moving parts, fewer deps, less config. Simple > clever. Readable > elegant.
Open-source only. No vendor lock-in. Every line of code must have a purpose — no speculative code, no premature abstractions.
- What: Vanilla JS library — ADB-direct Android device control for autonomous agents. Accessibility tree in, pruned snapshot out.
- Language: Vanilla JavaScript, ES modules, no build step
- Runtime: Node.js >= 22
- Protocol: ADB (Android Debug Bridge) via
child_process.execFile— no Appium - Device: Any ADB-connected Android device or emulator
- Modules: 8 files in
src/, zero required deps - Tests: 94 passing — run with
node --test test/unit/*.test.js test/integration/*.test.js - Docs:
docs/README.md(navigation guide to all documentation)
@MEMORY.md