Files
iknowyou/.github/docs/how-it-works.md
2026-04-06 15:12:34 +02:00

37 lines
1.4 KiB
Markdown

# How it Works
```
Browser → POST /api/searches (target, type, profile)
Backend filters tools by:
· input type compatibility
· profile enabled/disabled rules
· required config fields (skips if missing)
All eligible tools run in parallel goroutines
Browser polls GET /api/searches/{id}
Results render progressively as tools complete
```
Each tool is a Go struct implementing a small interface: it declares what input types it accepts, what config it needs, and how to run. The engine handles the rest.
## Architecture
```
iknowyou/
├── back/ # Go backend
│ ├── cmd/
│ │ ├── server/ # Main HTTP server
│ │ └── gendocs/ # Doc generator
│ ├── config/ # YAML config models & builtin profiles
│ └── internal/
│ ├── api/ # Chi router + handlers
│ ├── search/ # Parallel search orchestration
│ └── tools/ # Tool interface + implementations
└── front/ # Astro + Svelte frontend
└── src/
├── pages/ # / · /tools · /profiles · /search/[id] · /cheatsheets · /help
└── components/ # Svelte interactive components
```