mirror of
https://github.com/anotherhadi/iknowyou.git
synced 2026-04-11 16:37:25 +02:00
init
This commit is contained in:
36
.github/docs/how-it-works.md
vendored
Normal file
36
.github/docs/how-it-works.md
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
# 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
|
||||
```
|
||||
Reference in New Issue
Block a user