AGENTS.md
AGENTS.md
Generally speaking, you should browse the codebase to figure out what is going on.
Task Completion Requirements
- All of
bun format,bun lint, andbun typecheckmust pass before considering tasks completed. Testing can be narrowed where appropriate based on the diff. - Never run
bun test, usebun run testfor all testing (runs Vitest).
Project Snapshot
ATLANTIS is a large-scale network telemetry visualization platform.
This repository is WIP. Proposing sweeping changes that improve long-term maintainability is encouraged.
Core Priorities
- Performance first.
- Reliability first.
- Simple code first.
If a trade-off is required, choose correctness and robustness over short-term convenience.
Avoide complex type assertions, needless casts, and extreme robustness. No "legacy fallbacks" or excessive try catch blocks.
Maintainability
Long-term maintainability is a core priority. If you add new functionality, first check if there are shared logic that can be extracted to a separate module. Duplicate logic across multiple files is a code smell and should be avoided. Don't be afraid to change existing code. Don't take shortcuts by just adding local logic to solve a problem.
Package Roles
tools/netflow-db: Manages NetFlow databaseapps/web: Data visualization dashboard frontendapps/landing: App landing page for SEO, discoverability, and marketingvendor/*: Git submodules containing compiled binaries for network analysisscripts: One-off scripts or migrationsplans: Generated plansdocs: Maintainer/Admin facing documentation
Svelte
$effect
Never update state inside of an effect, effects are an escape hatch and should NEVER be used.
- If you need to sync state to an external library, it is often neater to use {@attach ...}
- If you need to run some code in response to user interaction, put the code directly in an event handler or use a function binding as appropriate
- If you need to log values for debugging purposes, use $inspect
- If you need to observe something external to Svelte, use createSubscriber
References
- Skills: use ~/.agents/skills/find-skills to locate relevant skills wherever possible