Scan timing: clone 6.14s · analysis 22.58s · 11.5 MB · GitHub preflight 411ms
https://github.com/affromero/flight-finder
· scanned 2026-06-05 18:21 UTC (4 days, 19 hours ago)
· 10 languages
389 raw signals (153 security + 236 graph) 44th percentile · Typescript · medium (20-100K LoC) System graph score 65 (higher by 2)
Last scanned 4 days, 19 hours ago · v2 · 205 actionable findings from 2 signal sources. 66 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
60.0 | 0.15 | 9.00 |
security_score |
32.4 | 0.25 | 8.10 |
testing_score |
95.0 | 0.20 | 19.00 |
documentation_score |
86.1 | 0.15 | 12.91 |
practices_score |
84.0 | 0.15 | 12.60 |
code_quality |
59.5 | 0.10 | 5.95 |
| Overall | 1.00 | 67.6 |
All 1435 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
register |
software | healthy | apps/web/src/instrumentation.ts:register |
verifyHmacToken |
software | healthy | apps/web/src/middleware.ts:verifyHmacToken |
middleware |
software | healthy | apps/web/src/middleware.ts:middleware |
portIsFree |
software | healthy | apps/web/src/test/llmock-setup.ts:portIsFree |
setup |
software | healthy | apps/web/src/test/llmock-setup.ts:setup |
teardown |
software | healthy | apps/web/src/test/llmock-setup.ts:teardown |
createMockPrisma |
software | healthy | apps/web/src/test/mocks/prisma.ts:createMockPrisma |
priorTurns |
software | healthy | apps/web/src/components/ClarificationCard.tsx:priorTurns |
ClarificationCard |
software | healthy | apps/web/src/components/ClarificationCard.tsx:Clarification… |
setAnswer |
software | healthy | apps/web/src/components/ClarificationCard.tsx:setAnswer |
handleSubmit |
software | healthy | apps/web/src/components/ClarificationCard.tsx:handleSubmit |
makeAmbiguities |
software | healthy | apps/web/src/components/ClarificationCard.test.tsx:makeAmbi… |
makePartial |
software | healthy | apps/web/src/components/ClarificationCard.test.tsx:makePart… |
PriceAlerts |
software | healthy | apps/web/src/components/PriceAlerts.tsx:PriceAlerts |
formatCurrency |
software | healthy | apps/web/src/components/PriceAlerts.tsx:formatCurrency |
DeleteTracker |
software | healthy | apps/web/src/components/DeleteTracker.tsx:DeleteTracker |
handleDelete |
software | healthy | apps/web/src/components/DeleteTracker.tsx:handleDelete |
flightKey |
software | healthy | apps/web/src/components/PriceHistorySection.tsx:flightKey |
formatScrapeTime |
software | healthy | apps/web/src/components/PriceHistorySection.tsx:formatScrap… |
ScrapeTime |
software | healthy | apps/web/src/components/PriceHistorySection.tsx:ScrapeTime |
flightName |
software | healthy | apps/web/src/components/PriceHistorySection.tsx:flightName |
timesLabel |
software | healthy | apps/web/src/components/PriceHistorySection.tsx:timesLabel |
stopsLabel |
software | healthy | apps/web/src/components/PriceHistorySection.tsx:stopsLabel |
buildPreviousMap |
software | healthy | apps/web/src/components/PriceHistorySection.tsx:buildPrevio… |
TrendCell |
software | healthy | apps/web/src/components/PriceHistorySection.tsx:TrendCell |
FlightRow |
software | healthy | apps/web/src/components/PriceHistorySection.tsx:FlightRow |
PriceHistorySection |
software | healthy | apps/web/src/components/PriceHistorySection.tsx:PriceHistor… |
snap |
software | healthy | apps/web/src/components/BestPrice.test.tsx:snap |
timeUntil |
software | healthy | apps/web/src/components/UsageStats.tsx:timeUntil |
UsageStats |
software | healthy | apps/web/src/components/UsageStats.tsx:UsageStats |
flight |
software | healthy | apps/web/src/components/FlightPicker.test.tsx:flight |
route |
software | healthy | apps/web/src/components/FlightPicker.test.tsx:route |
renderPicker |
software | healthy | apps/web/src/components/FlightPicker.test.tsx:renderPicker |
AggregatorPicker |
software | healthy | apps/web/src/components/AggregatorPicker.tsx:AggregatorPick… |
toggle |
software | healthy | apps/web/src/components/AggregatorPicker.tsx:toggle |
countryLabel |
software | healthy | apps/web/src/components/PriceHistory.tsx:countryLabel |
PriceHistory |
software | healthy | apps/web/src/components/PriceHistory.tsx:PriceHistory |
safeStorageGet |
software | healthy | apps/web/src/components/UpdateBanner.tsx:safeStorageGet |
safeStorageSet |
software | healthy | apps/web/src/components/UpdateBanner.tsx:safeStorageSet |
UpdateBanner |
software | healthy | apps/web/src/components/UpdateBanner.tsx:UpdateBanner |
statusLabel |
software | healthy | apps/web/src/components/ScrapeStatusDot.tsx:statusLabel |
timeAgo |
software | healthy | apps/web/src/components/ScrapeStatusDot.tsx:timeAgo |
ScrapeStatusDot |
software | healthy | apps/web/src/components/ScrapeStatusDot.tsx:ScrapeStatusDot |
SetupRedirect |
software | healthy | apps/web/src/components/SetupRedirect.tsx:SetupRedirect |
ForceScrapeButton |
software | healthy | apps/web/src/components/ForceScrapeButton.tsx:ForceScrapeBu… |
handleClick |
software | healthy | apps/web/src/components/ForceScrapeButton.tsx:handleClick |
ChartActions |
software | healthy | apps/web/src/components/ChartActions.tsx:ChartActions |
handleShare |
software | healthy | apps/web/src/components/ChartActions.tsx:handleShare |
handleExport |
software | healthy | apps/web/src/components/ChartActions.tsx:handleExport |
ScrapeInterval |
software | healthy | apps/web/src/components/ScrapeInterval.tsx:ScrapeInterval |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
docker-compose.test.yml |
software | healthy | docker-compose.test.yml |
README.md |
software | healthy | README.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
package.json |
software | healthy | package.json |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
docker-compose.vpn.yml |
software | healthy | docker-compose.vpn.yml |
Dockerfile |
software | healthy | Dockerfile |
docker-compose.test-vpn.yml |
software | healthy | docker-compose.test-vpn.yml |
package-lock.json |
software | healthy | package-lock.json |
docker-compose.prod.yml |
software | healthy | docker-compose.prod.yml |
MIGRATION.md |
software | healthy | MIGRATION.md |
.env.example |
software | healthy | .env.example |
Makefile |
software | healthy | Makefile |
AGENTS.md |
software | healthy | AGENTS.md |
CHANGELOG.md |
software | healthy | CHANGELOG.md |
docker-compose.yml |
software | healthy | docker-compose.yml |
docker-entrypoint.sh |
software | healthy | docker-entrypoint.sh |
tsconfig.base.json |
software | healthy | tsconfig.base.json |
package.json |
software | healthy | apps/web/package.json |
tsconfig.json |
software | healthy | apps/web/tsconfig.json |
vitest.config.ts |
software | warning | apps/web/vitest.config.ts |
manifest.json |
software | healthy | apps/web/public/manifest.json |
sw.js |
software | warning | apps/web/public/sw.js |
flight-finder-cli-flags.sh |
software | healthy | apps/web/public/flight-finder-cli-flags.sh |
install.sh |
software | healthy | apps/web/public/install.sh |
instrumentation.ts |
software | healthy | apps/web/src/instrumentation.ts |
middleware.ts |
software | healthy | apps/web/src/middleware.ts |
react-plotly.d.ts |
software | healthy | apps/web/src/types/react-plotly.d.ts |
setup-dom.ts |
software | warning | apps/web/src/test/setup-dom.ts |
setup.ts |
software | warning | apps/web/src/test/setup.ts |
llmock-setup.ts |
software | healthy | apps/web/src/test/llmock-setup.ts |
prisma.ts |
software | healthy | apps/web/src/test/mocks/prisma.ts |
ForceScrapeButton.module.css |
software | healthy | apps/web/src/components/ForceScrapeButton.module.css |
Footer.module.css |
software | healthy | apps/web/src/components/Footer.module.css |
SavedTrackers.module.css |
software | healthy | apps/web/src/components/SavedTrackers.module.css |
ClarificationCard.tsx |
software | healthy | apps/web/src/components/ClarificationCard.tsx |
ManualEntryForm.module.css |
software | healthy | apps/web/src/components/ManualEntryForm.module.css |
ClarificationCard.test.tsx |
software | healthy | apps/web/src/components/ClarificationCard.test.tsx |
PriceAlerts.tsx |
software | healthy | apps/web/src/components/PriceAlerts.tsx |
DeleteTracker.tsx |
software | healthy | apps/web/src/components/DeleteTracker.tsx |
PriceHistorySection.tsx |
software | healthy | apps/web/src/components/PriceHistorySection.tsx |
BestPrice.test.tsx |
software | healthy | apps/web/src/components/BestPrice.test.tsx |
PriceHistory.module.css |
software | healthy | apps/web/src/components/PriceHistory.module.css |
PriceAlerts.module.css |
software | healthy | apps/web/src/components/PriceAlerts.module.css |
TrackerLabel.module.css |
software | healthy | apps/web/src/components/TrackerLabel.module.css |
UsageStats.tsx |
software | healthy | apps/web/src/components/UsageStats.tsx |
FlightPicker.test.tsx |
software | healthy | apps/web/src/components/FlightPicker.test.tsx |
ConfirmationCard.module.css |
software | healthy | apps/web/src/components/ConfirmationCard.module.css |
UsageStats.module.css |
software | healthy | apps/web/src/components/UsageStats.module.css |
AggregatorPicker.tsx |
software | healthy | apps/web/src/components/AggregatorPicker.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
apps |
software | healthy | apps |
web |
software | healthy | apps/web |
public |
software | healthy | apps/web/public |
src |
software | healthy | apps/web/src |
types |
software | healthy | apps/web/src/types |
test |
software | healthy | apps/web/src/test |
mocks |
software | healthy | apps/web/src/test/mocks |
components |
software | healthy | apps/web/src/components |
analytics |
software | healthy | apps/web/src/components/analytics |
app |
software | healthy | apps/web/src/app |
settings |
software | healthy | apps/web/src/app/settings |
login |
software | healthy | apps/web/src/app/login |
api |
software | healthy | apps/web/src/app/api |
auth |
software | healthy | apps/web/src/app/api/auth |
logout |
software | healthy | apps/web/src/app/api/auth/logout |
login |
software | healthy | apps/web/src/app/api/auth/login |
me |
software | healthy | apps/web/src/app/api/auth/me |
analytics |
software | healthy | apps/web/src/app/api/analytics |
track |
software | healthy | apps/web/src/app/api/analytics/track |
event |
software | healthy | apps/web/src/app/api/analytics/event |
health |
software | healthy | apps/web/src/app/api/health |
test |
software | healthy | apps/web/src/app/api/test |
scrape |
software | healthy | apps/web/src/app/api/test/scrape |
vpn |
software | healthy | apps/web/src/app/api/vpn |
status |
software | healthy | apps/web/src/app/api/vpn/status |
parse |
software | healthy | apps/web/src/app/api/parse |
airports |
software | healthy | apps/web/src/app/api/airports |
preview |
software | healthy | apps/web/src/app/api/preview |
[id] |
software | healthy | apps/web/src/app/api/preview/[id] |
community |
software | healthy | apps/web/src/app/api/community |
ingest |
software | healthy | apps/web/src/app/api/community/ingest |
routes |
software | healthy | apps/web/src/app/api/community/routes |
[route] |
software | healthy | apps/web/src/app/api/community/routes/[route] |
register |
software | healthy | apps/web/src/app/api/community/register |
alerts |
software | healthy | apps/web/src/app/api/alerts |
admin |
software | healthy | apps/web/src/app/api/admin |
users |
software | healthy | apps/web/src/app/api/admin/users |
[id] |
software | healthy | apps/web/src/app/api/admin/users/[id] |
notifications |
software | healthy | apps/web/src/app/api/admin/notifications |
[id] |
software | healthy | apps/web/src/app/api/admin/notifications/[id] |
test |
software | healthy | apps/web/src/app/api/admin/notifications/[id]/test |
config |
software | healthy | apps/web/src/app/api/admin/config |
auth |
software | healthy | apps/web/src/app/api/admin/auth |
logout |
software | healthy | apps/web/src/app/api/admin/auth/logout |
analytics |
software | healthy | apps/web/src/app/api/admin/analytics |
query |
software | healthy | apps/web/src/app/api/admin/analytics/query |
aggregate |
software | healthy | apps/web/src/app/api/admin/analytics/aggregate |
insights |
software | healthy | apps/web/src/app/api/admin/insights |
providers |
software | healthy | apps/web/src/app/api/admin/providers |
seed-routes |
software | healthy | apps/web/src/app/api/admin/seed-routes |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | docker-compose.test.yml |
7.59.4.07 |
network | healthy | apps/web/src/app/page.tsx |
1.23.82.72 |
network | healthy | apps/web/src/app/page.tsx |
2.33.66.07 |
network | healthy | apps/web/src/app/page.tsx |
2.2.82.64 |
network | healthy | apps/web/src/app/page.tsx |
2.12.51.56 |
network | healthy | apps/web/src/app/page.tsx |
3.95.29.25 |
network | healthy | apps/web/src/app/page.tsx |
21.15.46.55 |
network | healthy | apps/web/src/app/page.tsx |
10.0.0.1 |
network | healthy | apps/web/src/app/api/auth/login/route.test.ts |
1.1.1.1 |
network | healthy | apps/web/src/app/api/auth/login/route.test.ts |
2.2.2.2 |
network | healthy | apps/web/src/app/api/auth/login/route.test.ts |
1.2.3.4 |
network | healthy | apps/web/src/app/api/analytics/track/route.test.ts |
203.0.113.50 |
network | healthy | apps/web/src/app/api/analytics/track/route.test.ts |
10.0.0.5 |
network | healthy | apps/web/src/app/api/parse/route.test.ts |
203.0.113.10 |
network | healthy | apps/web/src/app/api/preview/route.test.ts |
198.51.100.55 |
network | healthy | apps/web/src/app/api/preview/route.test.ts |
192.168.1.1 |
network | healthy | apps/web/src/app/api/preview/route.test.ts |
203.0.113.99 |
network | healthy | apps/web/src/app/api/preview/route.test.ts |
198.51.100.7 |
network | healthy | apps/web/src/app/api/preview/route.test.ts |
203.0.113.5 |
network | healthy | apps/web/src/app/api/community/register/route.test.ts |
198.51.100.1 |
network | healthy | apps/web/src/lib/preview-runner.test.ts |
203.0.113.9 |
network | healthy | apps/web/src/lib/preview-runner.test.ts |
203.0.113.11 |
network | healthy | apps/web/src/lib/preview-runner.test.ts |
203.0.113.13 |
network | healthy | apps/web/src/lib/preview-runner.test.ts |
203.0.113.14 |
network | healthy | apps/web/src/lib/preview-runner.test.ts |
203.0.113.7 |
network | healthy | apps/web/src/lib/trusted-ip.test.ts |
198.51.100.4 |
network | healthy | apps/web/src/lib/trusted-ip.test.ts |
3.3.3.3 |
network | healthy | apps/web/src/lib/trusted-ip.test.ts |
9.9.9.9 |
network | healthy | apps/web/src/lib/trusted-ip.test.ts |
169.254.169.254 |
network | healthy | apps/web/src/lib/notifications/notify.test.ts |
127.0.0.0 |
network | healthy | apps/web/src/lib/notifications/channels/config.ts |
10.1.2.3 |
network | healthy | apps/web/src/lib/notifications/channels/config.test.ts |
192.168.0.5 |
network | healthy | apps/web/src/lib/notifications/channels/config.test.ts |
172.16.9.9 |
network | healthy | apps/web/src/lib/notifications/channels/config.test.ts |
192.168.1.10 |
network | healthy | apps/web/src/lib/notifications/channels/config.test.ts |
172.16.0.1 |
network | healthy | apps/web/src/lib/notifications/channels/config.test.ts |
93.184.216.34 |
network | healthy | apps/web/src/lib/notifications/channels/senders.test.ts |
131.0.0.0 |
network | healthy | apps/web/src/lib/scraper/browser.ts |
130.0.0.0 |
network | healthy | apps/web/src/lib/scraper/browser.ts |
129.0.0.0 |
network | healthy | apps/web/src/lib/scraper/browser.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::docker-entrypoint.sh |
security | healthy | docker-entrypoint.sh |
password_literal::apps/web/src/test/setup.ts |
security | healthy | apps/web/src/test/setup.ts |
password_literal::apps/web/src/app/api/auth/login/route.tes… |
security | healthy | apps/web/src/app/api/auth/login/route.test.ts |
password_literal::apps/web/src/app/api/admin/users/route.te… |
security | healthy | apps/web/src/app/api/admin/users/route.test.ts |
password_literal::apps/web/src/app/api/admin/users/route.te… |
security | healthy | apps/web/src/app/api/admin/users/route.test.ts |
password_literal::apps/web/src/app/api/admin/users/route.te… |
security | healthy | apps/web/src/app/api/admin/users/route.test.ts |
password_literal::apps/web/src/app/api/admin/users/[id]/rou… |
security | healthy | apps/web/src/app/api/admin/users/[id]/route.test.ts |
password_literal::apps/web/src/app/api/admin/config/route.t… |
security | healthy | apps/web/src/app/api/admin/config/route.test.ts |
password_literal::apps/web/src/app/api/admin/auth/route.tes… |
security | healthy | apps/web/src/app/api/admin/auth/route.test.ts |
password_literal::apps/web/src/app/api/admin/auth/route.tes… |
security | healthy | apps/web/src/app/api/admin/auth/route.test.ts |
password_literal::apps/web/src/app/api/admin/auth/route.tes… |
security | healthy | apps/web/src/app/api/admin/auth/route.test.ts |
password_literal::apps/web/src/app/api/admin/multi-user/rou… |
security | healthy | apps/web/src/app/api/admin/multi-user/route.test.ts |
password_literal::apps/web/src/app/api/admin/multi-user/rou… |
security | healthy | apps/web/src/app/api/admin/multi-user/route.test.ts |
password_literal::apps/web/src/app/api/admin/multi-user/rou… |
security | healthy | apps/web/src/app/api/admin/multi-user/route.test.ts |
password_literal::apps/web/src/app/api/admin/multi-user/rou… |
security | healthy | apps/web/src/app/api/admin/multi-user/route.test.ts |
password_literal::apps/web/src/app/api/admin/multi-user/rou… |
security | healthy | apps/web/src/app/api/admin/multi-user/route.test.ts |
password_literal::apps/web/src/app/api/admin/multi-user/rou… |
security | healthy | apps/web/src/app/api/admin/multi-user/route.test.ts |
password_literal::apps/web/src/app/api/admin/multi-user/rou… |
security | healthy | apps/web/src/app/api/admin/multi-user/route.test.ts |
password_literal::apps/web/src/app/api/admin/multi-user/rou… |
security | healthy | apps/web/src/app/api/admin/multi-user/route.test.ts |
password_literal::apps/web/src/app/api/admin/multi-user/rou… |
security | healthy | apps/web/src/app/api/admin/multi-user/route.test.ts |
password_literal::apps/web/src/app/api/admin/multi-user/rou… |
security | healthy | apps/web/src/app/api/admin/multi-user/route.test.ts |
password_literal::apps/web/src/app/api/account/password/rou… |
security | healthy | apps/web/src/app/api/account/password/route.test.ts |
password_literal::apps/web/src/app/api/account/password/rou… |
security | healthy | apps/web/src/app/api/account/password/route.test.ts |
password_literal::apps/web/src/app/api/account/password/rou… |
security | healthy | apps/web/src/app/api/account/password/route.test.ts |
password_literal::apps/web/src/app/api/account/password/rou… |
security | healthy | apps/web/src/app/api/account/password/route.test.ts |
password_literal::apps/web/src/app/api/account/password/rou… |
security | healthy | apps/web/src/app/api/account/password/route.test.ts |
password_literal::apps/web/src/app/api/account/password/rou… |
security | healthy | apps/web/src/app/api/account/password/route.test.ts |
password_literal::apps/web/src/app/api/account/password/rou… |
security | healthy | apps/web/src/app/api/account/password/route.test.ts |
password_literal::apps/web/src/app/api/account/password/rou… |
security | healthy | apps/web/src/app/api/account/password/route.test.ts |
password_literal::apps/web/src/app/api/account/password/rou… |
security | healthy | apps/web/src/app/api/account/password/route.test.ts |
password_literal::apps/web/src/app/api/account/password/rou… |
security | healthy | apps/web/src/app/api/account/password/route.test.ts |
password_literal::apps/web/src/app/api/account/password/rou… |
security | healthy | apps/web/src/app/api/account/password/route.test.ts |
password_literal::apps/web/src/lib/admin-auth.test.ts |
security | healthy | apps/web/src/lib/admin-auth.test.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
/page.tsx |
frontend | healthy | apps/web/src/app/page.tsx |
/settings |
frontend | healthy | apps/web/src/app/settings/page.tsx |
/login |
frontend | healthy | apps/web/src/app/login/page.tsx |
/admin/(dashboard) |
frontend | healthy | apps/web/src/app/admin/(dashboard)/page.tsx |
/admin/(dashboard)/users |
frontend | healthy | apps/web/src/app/admin/(dashboard)/users/page.tsx |
/admin/(dashboard)/notifications |
frontend | healthy | apps/web/src/app/admin/(dashboard)/notifications/page.tsx |
/admin/(dashboard)/config |
frontend | healthy | apps/web/src/app/admin/(dashboard)/config/page.tsx |
/admin/(dashboard)/analytics |
frontend | healthy | apps/web/src/app/admin/(dashboard)/analytics/page.tsx |
/admin/(dashboard)/insights |
frontend | healthy | apps/web/src/app/admin/(dashboard)/insights/page.tsx |
/admin/(dashboard)/search |
frontend | healthy | apps/web/src/app/admin/(dashboard)/search/page.tsx |
/admin/(dashboard)/seed-routes |
frontend | healthy | apps/web/src/app/admin/(dashboard)/seed-routes/page.tsx |
/admin/(dashboard)/queries |
frontend | healthy | apps/web/src/app/admin/(dashboard)/queries/page.tsx |
/admin/(auth)/login |
frontend | healthy | apps/web/src/app/admin/(auth)/login/page.tsx |
/account |
frontend | healthy | apps/web/src/app/account/page.tsx |
/account/settings |
frontend | healthy | apps/web/src/app/account/settings/page.tsx |
/q/[id] |
frontend | healthy | apps/web/src/app/q/[id]/page.tsx |
/setup |
frontend | healthy | apps/web/src/app/setup/page.tsx |
/explore |
frontend | healthy | apps/web/src/app/explore/page.tsx |
/explore/[route] |
frontend | healthy | apps/web/src/app/explore/[route]/page.tsx |
/q/1 |
frontend | healthy | apps/web/src/app/api/analytics/track/route.test.ts |
/ |
frontend | healthy | apps/web/src/lib/admin-auth.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
port:5499 |
network | healthy | docker-compose.test.yml |
port:5432 |
network | healthy | docker-compose.test.yml |
port:6399 |
network | healthy | docker-compose.test.yml |
port:6379 |
network | healthy | docker-compose.test.yml |
port:3003 |
network | healthy | Dockerfile |
port:3005 |
network | healthy | docker-compose.test-vpn.yml |
port:5433 |
network | healthy | docker-compose.prod.yml |
port:6380 |
network | healthy | docker-compose.prod.yml |
port:587 |
network | healthy | apps/web/src/lib/notifications/channels/config.test.ts |
port:25 |
network | healthy | apps/web/src/lib/notifications/channels/senders.test.ts |
port:12 |
network | healthy | scripts/cli-runtime-test.sh |
port:3399 |
network | healthy | scripts/docker-integration-test.sh |
| Label | Layer | Status | Path |
|---|---|---|---|
Plot |
software | healthy | apps/web/src/types/react-plotly.d.ts:Plot |
AlreadyEnabledError |
software | healthy | apps/web/src/app/api/admin/multi-user/route.ts:AlreadyEnabl… |
UnauthorizedError |
software | healthy | apps/web/src/lib/user-auth.ts:UnauthorizedError |
ForbiddenError |
software | healthy | apps/web/src/lib/user-auth.ts:ForbiddenError |
MockRedis |
software | healthy | apps/web/src/lib/redis.test.ts:MockRedis |
via |
software | healthy | apps/web/src/lib/scraper/navigate.ts:via |
extends |
software | healthy | apps/web/src/lib/scraper/browser.ts:extends |
NoopVpnProvider |
software | healthy | apps/web/src/lib/scraper/vpn/noop-provider.ts:NoopVpnProvid… |
ExpressVpnProvider |
software | healthy | apps/web/src/lib/scraper/vpn/expressvpn-provider.ts:Express… |
| Label | Layer | Status | Path |
|---|---|---|---|
DEPLOY_USER |
cicd | healthy | — |
GITHUB_TOKEN |
cicd | healthy | — |
DEPLOY_HOST |
cicd | healthy | — |
DEPLOY_KEY |
cicd | healthy | — |
REPO_TOKEN |
cicd | healthy | — |
REGISTRY |
cicd | healthy | — |
DEPLOY_KNOWN_HOSTS |
cicd | healthy | — |
IMAGE_NAME |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
build |
cicd | healthy | .github/workflows/docker.yml |
merge |
cicd | healthy | .github/workflows/docker.yml |
ci |
cicd | healthy | .github/workflows/ci.yml |
install-smoke |
cicd | healthy | .github/workflows/ci.yml |
integration |
cicd | healthy | .github/workflows/ci.yml |
staging |
cicd | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
SettingsPage |
frontend | healthy | apps/web/src/app/settings/page.tsx |
NotificationsPage |
frontend | healthy | apps/web/src/app/admin/(dashboard)/notifications/page.tsx |
ConfigPage |
frontend | healthy | apps/web/src/app/admin/(dashboard)/config/page.tsx |
AdminSearchPage |
frontend | healthy | apps/web/src/app/admin/(dashboard)/search/page.tsx |
SetupPage |
frontend | healthy | apps/web/src/app/setup/page.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
redis |
data | healthy | docker-compose.test.yml |
postgres |
data | healthy | docker-compose.test-vpn.yml |
postgresql |
data | healthy | docker-compose.test-vpn.yml |
sqlite |
data | healthy | docker-compose.prod.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
db |
hardware | healthy | docker-compose.yml |
redis |
hardware | healthy | docker-compose.yml |
web |
hardware | healthy | docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
caddy |
network | healthy | .env.example |
nginx |
network | healthy | .env.example |
traefik |
network | healthy | .env.example |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::docker |
cicd | healthy | .github/workflows/docker.yml |
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-i8l_6bgz |
software | healthy | /tmp/repobility-clone-i8l_6bgz |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | apps/web/src/app/page.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::apps/web/public/install.sh |
security | healthy | apps/web/public/install.sh |
This page is publicly accessible at:
https://repobility.com/scan/4263941a-5707-49ef-a12e-62529e923b9c/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/4263941a-5707-49ef-a12e-62529e923b9c/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.