https://github.com/antoinelespine-dev/kampo
· scanned 2026-06-17 01:33 UTC (1 month, 2 weeks ago)
78 raw signals (0 security + 78 graph)
Last scanned 1 month, 2 weeks ago · v2 · last Δ -14.6 (diff) · 73 actionable findings from 1 signal source. 5 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 944 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 |
|---|---|---|---|
AuthenticatedApp |
software | healthy | src/App.jsx:AuthenticatedApp |
App |
software | healthy | src/App.jsx:App |
toDb |
software | healthy | src/api/supabaseClient.js:toDb |
fromDb |
software | healthy | src/api/supabaseClient.js:fromDb |
fromDbList |
software | healthy | src/api/supabaseClient.js:fromDbList |
parseOrderBy |
software | healthy | src/api/supabaseClient.js:parseOrderBy |
makeEntity |
software | healthy | src/api/supabaseClient.js:makeEntity |
throwOn |
software | healthy | src/api/supabaseClient.js:throwOn |
ext |
software | healthy | src/api/supabaseClient.js:ext |
createPageUrl |
software | healthy | src/utils/index.ts:createPageUrl |
useIsMobile |
software | healthy | src/hooks/use-mobile.jsx:useIsMobile |
onChange |
software | healthy | src/hooks/use-mobile.jsx:onChange |
PWAInstallPrompt |
software | healthy | src/components/PWAInstallPrompt.jsx:PWAInstallPrompt |
handler |
software | healthy | src/components/PWAInstallPrompt.jsx:handler |
handleDismiss |
software | healthy | src/components/PWAInstallPrompt.jsx:handleDismiss |
handleInstall |
software | healthy | src/components/PWAInstallPrompt.jsx:handleInstall |
CommentThread |
software | healthy | src/components/CommentThread.jsx:CommentThread |
loadComments |
software | healthy | src/components/CommentThread.jsx:loadComments |
handleSubmit |
software | healthy | src/components/CommentThread.jsx:handleSubmit |
EmnifyDeviceLinker |
software | healthy | src/components/EmnifyDeviceLinker.jsx:EmnifyDeviceLinker |
load |
software | healthy | src/components/EmnifyDeviceLinker.jsx:load |
filtered |
software | healthy | src/components/EmnifyDeviceLinker.jsx:filtered |
QuoteEditor |
software | healthy | src/components/QuoteEditor.jsx:QuoteEditor |
set |
software | healthy | src/components/QuoteEditor.jsx:set |
updateRow |
software | healthy | src/components/QuoteEditor.jsx:updateRow |
addRow |
software | healthy | src/components/QuoteEditor.jsx:addRow |
removeRow |
software | healthy | src/components/QuoteEditor.jsx:removeRow |
DipSwitch |
software | healthy | src/components/DipSwitchEditor.jsx:DipSwitch |
StandardDipPanel |
software | healthy | src/components/DipSwitchEditor.jsx:StandardDipPanel |
getColor |
software | healthy | src/components/DipSwitchEditor.jsx:getColor |
handleToggle |
software | healthy | src/components/DipSwitchEditor.jsx:handleToggle |
ModDipPanel |
software | healthy | src/components/DipSwitchEditor.jsx:ModDipPanel |
colorFor |
software | healthy | src/components/DipSwitchEditor.jsx:colorFor |
DipSwitchEditor |
software | healthy | src/components/DipSwitchEditor.jsx:DipSwitchEditor |
handleChange |
software | healthy | src/components/DipSwitchEditor.jsx:handleChange |
handleCopy |
software | healthy | src/components/DipSwitchEditor.jsx:handleCopy |
MobileBottomNav |
software | healthy | src/components/MobileBottomNav.jsx:MobileBottomNav |
CopyableField |
software | healthy | src/components/CopyableField.jsx:CopyableField |
handleCopy |
software | healthy | src/components/CopyableField.jsx:handleCopy |
Layout |
software | healthy | src/components/Layout.jsx:Layout |
SidebarContent |
software | healthy | src/components/Layout.jsx:SidebarContent |
SavNotesThread |
software | healthy | src/components/SavNotesThread.jsx:SavNotesThread |
reload |
software | healthy | src/components/SavNotesThread.jsx:reload |
handleEdit |
software | healthy | src/components/SavNotesThread.jsx:handleEdit |
handleCancel |
software | healthy | src/components/SavNotesThread.jsx:handleCancel |
handleSaveEdit |
software | healthy | src/components/SavNotesThread.jsx:handleSaveEdit |
handleDelete |
software | healthy | src/components/SavNotesThread.jsx:handleDelete |
initial |
software | healthy | src/components/SavNotesThread.jsx:initial |
ProjectGantt |
software | healthy | src/components/ProjectGantt.jsx:ProjectGantt |
InlineTaskForm |
software | healthy | src/components/InlineTaskForm.jsx:InlineTaskForm |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
postcss.config.js |
software | healthy | postcss.config.js |
package-lock.json |
software | healthy | package-lock.json |
README.md |
software | healthy | README.md |
package.json |
software | healthy | package.json |
eslint.config.js |
software | healthy | eslint.config.js |
jsconfig.json |
software | healthy | jsconfig.json |
index.html |
software | healthy | index.html |
tailwind.config.js |
software | healthy | tailwind.config.js |
vite.config.js |
software | healthy | vite.config.js |
components.json |
software | healthy | components.json |
hooks.json |
software | healthy | .cursor/hooks.json |
auto-git-sync.sh |
software | healthy | .cursor/hooks/auto-git-sync.sh |
App.jsx |
software | healthy | src/App.jsx |
main.jsx |
software | healthy | src/main.jsx |
index.css |
software | healthy | src/index.css |
base44Client.js |
software | healthy | src/api/base44Client.js |
supabaseClient.js |
software | healthy | src/api/supabaseClient.js |
index.ts |
software | healthy | src/utils/index.ts |
use-mobile.jsx |
software | healthy | src/hooks/use-mobile.jsx |
PWAInstallPrompt.jsx |
software | healthy | src/components/PWAInstallPrompt.jsx |
CommentThread.jsx |
software | healthy | src/components/CommentThread.jsx |
EmnifyDeviceLinker.jsx |
software | healthy | src/components/EmnifyDeviceLinker.jsx |
QuoteEditor.jsx |
software | healthy | src/components/QuoteEditor.jsx |
DipSwitchEditor.jsx |
software | healthy | src/components/DipSwitchEditor.jsx |
MobileBottomNav.jsx |
software | healthy | src/components/MobileBottomNav.jsx |
CopyableField.jsx |
software | healthy | src/components/CopyableField.jsx |
Layout.jsx |
software | healthy | src/components/Layout.jsx |
SavNotesThread.jsx |
software | healthy | src/components/SavNotesThread.jsx |
ProjectGantt.jsx |
software | healthy | src/components/ProjectGantt.jsx |
InlineTaskForm.jsx |
software | healthy | src/components/InlineTaskForm.jsx |
ViewToolbar.jsx |
software | healthy | src/components/ViewToolbar.jsx |
ProjectSavSummary.jsx |
software | healthy | src/components/ProjectSavSummary.jsx |
BoitiersPanel.jsx |
software | healthy | src/components/BoitiersPanel.jsx |
ProjectMap.jsx |
software | healthy | src/components/ProjectMap.jsx |
CalendarScheduler.jsx |
software | healthy | src/components/CalendarScheduler.jsx |
AttachedPdfField.jsx |
software | healthy | src/components/AttachedPdfField.jsx |
TaskIndicator.jsx |
software | healthy | src/components/TaskIndicator.jsx |
ProtectedRoute.jsx |
software | healthy | src/components/ProtectedRoute.jsx |
TaskFormDialog.jsx |
software | healthy | src/components/TaskFormDialog.jsx |
ProjectDrivePanel.jsx |
software | healthy | src/components/ProjectDrivePanel.jsx |
PurchaseRequestsPanel.jsx |
software | healthy | src/components/PurchaseRequestsPanel.jsx |
SavClotureDialog.jsx |
software | healthy | src/components/SavClotureDialog.jsx |
CreateCustomerInline.jsx |
software | healthy | src/components/CreateCustomerInline.jsx |
QuickAddFAB.jsx |
software | healthy | src/components/QuickAddFAB.jsx |
ProjectCalendarScheduler.jsx |
software | healthy | src/components/ProjectCalendarScheduler.jsx |
ProjectStatusBreadcrumb.jsx |
software | healthy | src/components/ProjectStatusBreadcrumb.jsx |
MultiDayCalendarScheduler.jsx |
software | healthy | src/components/MultiDayCalendarScheduler.jsx |
BulkActionsBar.jsx |
software | healthy | src/components/BulkActionsBar.jsx |
EmnifyLiveStatus.jsx |
software | healthy | src/components/EmnifyLiveStatus.jsx |
SearchableSelect.jsx |
software | healthy | src/components/SearchableSelect.jsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
App |
frontend | healthy | src/App.jsx |
PWAInstallPrompt |
frontend | healthy | src/components/PWAInstallPrompt.jsx |
CommentThread |
frontend | healthy | src/components/CommentThread.jsx |
EmnifyDeviceLinker |
frontend | healthy | src/components/EmnifyDeviceLinker.jsx |
QuoteEditor |
frontend | healthy | src/components/QuoteEditor.jsx |
DipSwitchEditor |
frontend | healthy | src/components/DipSwitchEditor.jsx |
MobileBottomNav |
frontend | healthy | src/components/MobileBottomNav.jsx |
CopyableField |
frontend | healthy | src/components/CopyableField.jsx |
Layout |
frontend | healthy | src/components/Layout.jsx |
SavNotesThread |
frontend | healthy | src/components/SavNotesThread.jsx |
ProjectGantt |
frontend | healthy | src/components/ProjectGantt.jsx |
InlineTaskForm |
frontend | healthy | src/components/InlineTaskForm.jsx |
ViewToolbar |
frontend | healthy | src/components/ViewToolbar.jsx |
ProjectSavSummary |
frontend | healthy | src/components/ProjectSavSummary.jsx |
BoitiersPanel |
frontend | healthy | src/components/BoitiersPanel.jsx |
ProjectMap |
frontend | healthy | src/components/ProjectMap.jsx |
CalendarScheduler |
frontend | healthy | src/components/CalendarScheduler.jsx |
AttachedPdfField |
frontend | healthy | src/components/AttachedPdfField.jsx |
TaskIndicator |
frontend | healthy | src/components/TaskIndicator.jsx |
ProtectedRoute |
frontend | healthy | src/components/ProtectedRoute.jsx |
TaskFormDialog |
frontend | healthy | src/components/TaskFormDialog.jsx |
ProjectDrivePanel |
frontend | healthy | src/components/ProjectDrivePanel.jsx |
PurchaseRequestsPanel |
frontend | healthy | src/components/PurchaseRequestsPanel.jsx |
SavClotureDialog |
frontend | healthy | src/components/SavClotureDialog.jsx |
CreateCustomerInline |
frontend | healthy | src/components/CreateCustomerInline.jsx |
QuickAddFAB |
frontend | healthy | src/components/QuickAddFAB.jsx |
ProjectCalendarScheduler |
frontend | healthy | src/components/ProjectCalendarScheduler.jsx |
ProjectStatusBreadcrumb |
frontend | healthy | src/components/ProjectStatusBreadcrumb.jsx |
MultiDayCalendarScheduler |
frontend | healthy | src/components/MultiDayCalendarScheduler.jsx |
BulkActionsBar |
frontend | healthy | src/components/BulkActionsBar.jsx |
EmnifyLiveStatus |
frontend | healthy | src/components/EmnifyLiveStatus.jsx |
SearchableSelect |
frontend | healthy | src/components/SearchableSelect.jsx |
CreateProjectInline |
frontend | healthy | src/components/CreateProjectInline.jsx |
ProjectTemplateSelector |
frontend | healthy | src/components/ProjectTemplateSelector.jsx |
ProjectNotesPanel |
frontend | healthy | src/components/ProjectNotesPanel.jsx |
X1ConnectionsEditor |
frontend | healthy | src/components/X1ConnectionsEditor.jsx |
M1ConnectionsEditor |
frontend | healthy | src/components/M1ConnectionsEditor.jsx |
UserNotRegisteredError |
frontend | healthy | src/components/UserNotRegisteredError.jsx |
SavStatusBreadcrumb |
frontend | healthy | src/components/SavStatusBreadcrumb.jsx |
StatCard |
frontend | healthy | src/components/StatCard.jsx |
V1ConnectionsEditor |
frontend | healthy | src/components/V1ConnectionsEditor.jsx |
ModIdentifierEditor |
frontend | healthy | src/components/ModIdentifierEditor.jsx |
OdooQuotePicker |
frontend | healthy | src/components/OdooQuotePicker.jsx |
BoitierChangelogPanel |
frontend | healthy | src/components/BoitierChangelogPanel.jsx |
ProjectsMapView |
frontend | healthy | src/components/ProjectsMapView.jsx |
PageHeader |
frontend | healthy | src/components/PageHeader.jsx |
X1SlotConfigurator |
frontend | healthy | src/components/X1SlotConfigurator.jsx |
StatusBadge |
frontend | healthy | src/components/StatusBadge.jsx |
OfflineBanner |
frontend | healthy | src/components/OfflineBanner.jsx |
ResolutionTimer |
frontend | healthy | src/components/ResolutionTimer.jsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
.cursor |
software | healthy | .cursor |
hooks |
software | healthy | .cursor/hooks |
src |
software | healthy | src |
api |
software | healthy | src/api |
utils |
software | healthy | src/utils |
hooks |
software | healthy | src/hooks |
components |
software | healthy | src/components |
ui |
software | healthy | src/components/ui |
pages |
software | healthy | src/pages |
lib |
software | healthy | src/lib |
base44 |
software | healthy | base44 |
functions |
software | healthy | base44/functions |
odooDebugProjects |
software | healthy | base44/functions/odooDebugProjects |
syncCalendarEvents |
software | healthy | base44/functions/syncCalendarEvents |
odooQuotes |
software | healthy | base44/functions/odooQuotes |
emnifyStatus |
software | healthy | base44/functions/emnifyStatus |
odooAutoSync |
software | healthy | base44/functions/odooAutoSync |
suggestMultiDaySlots |
software | healthy | base44/functions/suggestMultiDaySlots |
createDriveFolders |
software | healthy | base44/functions/createDriveFolders |
odooSync |
software | healthy | base44/functions/odooSync |
createCalendarEvent |
software | healthy | base44/functions/createCalendarEvent |
createMultiDayCalendarEvents |
software | healthy | base44/functions/createMultiDayCalendarEvents |
suggestCalendarSlots |
software | healthy | base44/functions/suggestCalendarSlots |
googleDrive |
software | healthy | base44/functions/googleDrive |
docs |
software | healthy | docs |
supabase |
software | healthy | supabase |
functions |
software | healthy | supabase/functions |
odooDebugProjects |
software | healthy | supabase/functions/odooDebugProjects |
odooQuotes |
software | healthy | supabase/functions/odooQuotes |
emnifyStatus |
software | healthy | supabase/functions/emnifyStatus |
_shared |
software | healthy | supabase/functions/_shared |
odooSync |
software | healthy | supabase/functions/odooSync |
migrations |
software | healthy | supabase/migrations |
.claude |
software | healthy | .claude |
public |
software | healthy | public |
| Label | Layer | Status | Path |
|---|---|---|---|
/CustomerDetail |
frontend | healthy | src/pages/CustomerDetail.jsx |
/DistributorDetail |
frontend | healthy | src/pages/DistributorDetail.jsx |
/BoitierDetail |
frontend | healthy | src/pages/BoitierDetail.jsx |
/ProjectDetail |
frontend | healthy | src/pages/ProjectDetail.jsx |
/Distributors |
frontend | healthy | src/pages/Distributors.jsx |
/Terrain |
frontend | healthy | src/pages/Terrain.jsx |
/Dashboard |
frontend | healthy | src/pages/Dashboard.jsx |
/OdooSync |
frontend | healthy | src/pages/OdooSync.jsx |
/Customers |
frontend | healthy | src/pages/Customers.jsx |
/Tasks |
frontend | healthy | src/pages/Tasks.jsx |
/SavDetail |
frontend | healthy | src/pages/SavDetail.jsx |
/Sav |
frontend | healthy | src/pages/Sav.jsx |
/Projects |
frontend | healthy | src/pages/Projects.jsx |
/Boitiers |
frontend | healthy | src/pages/Boitiers.jsx |
/ |
frontend | healthy | src/App.jsx |
/clients |
frontend | healthy | src/App.jsx |
/clients/:id |
frontend | healthy | src/App.jsx |
/distributeurs |
frontend | healthy | src/App.jsx |
/distributeurs/:id |
frontend | healthy | src/App.jsx |
/projets |
frontend | healthy | src/App.jsx |
/projets/:id |
frontend | healthy | src/App.jsx |
/sav |
frontend | healthy | src/App.jsx |
/sav/:id |
frontend | healthy | src/App.jsx |
/boitiers |
frontend | healthy | src/App.jsx |
/boitiers/:id |
frontend | healthy | src/App.jsx |
/taches |
frontend | healthy | src/App.jsx |
/terrain |
frontend | healthy | src/App.jsx |
/odoo |
frontend | healthy | src/App.jsx |
* |
frontend | healthy | src/App.jsx |
| Label | Layer | Status | Path |
|---|---|---|---|
profiles |
data | healthy | supabase/migrations/0001_init.sql |
customers |
data | healthy | supabase/migrations/0001_init.sql |
distributors |
data | healthy | supabase/migrations/0001_init.sql |
projects |
data | healthy | supabase/migrations/0001_init.sql |
boitiers |
data | healthy | supabase/migrations/0001_init.sql |
boitier_changelogs |
data | healthy | supabase/migrations/0001_init.sql |
sav_tickets |
data | healthy | supabase/migrations/0001_init.sql |
tasks |
data | healthy | supabase/migrations/0001_init.sql |
comments |
data | healthy | supabase/migrations/0001_init.sql |
parts |
data | healthy | supabase/migrations/0001_init.sql |
purchase_requests |
data | healthy | supabase/migrations/0001_init.sql |
project_notes |
data | healthy | supabase/migrations/0001_init.sql |
project_templates |
data | healthy | supabase/migrations/0001_init.sql |
odoo_records |
data | healthy | supabase/migrations/0001_init.sql |
odoo_sync_logs |
data | healthy | supabase/migrations/0001_init.sql |
sync_state |
data | healthy | supabase/migrations/0001_init.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
0001_init.sql |
data | healthy | supabase/migrations/0001_init.sql |
0003_storage_policies.sql |
data | healthy | supabase/migrations/0003_storage_policies.sql |
0002_unique_odoo_ids.sql |
data | healthy | supabase/migrations/0002_unique_odoo_ids.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::base44/functions/googleDrive/entry.ts |
security | healthy | base44/functions/googleDrive/entry.ts |
auth::supabase/functions/README.md |
security | healthy | supabase/functions/README.md |
auth::base44/functions/createDriveFolders/entry.ts |
security | healthy | base44/functions/createDriveFolders/entry.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
antoinelespine-dev__kampo |
software | healthy | /data/fable5_failed_archive/antoinelespine-dev__kampo |
| Label | Layer | Status | Path |
|---|---|---|---|
ErrorBoundary |
software | healthy | src/pages/Dashboard.jsx:ErrorBoundary |
| Label | Layer | Status | Path |
|---|---|---|---|
postgres |
data | healthy | src/api/supabaseClient.js |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::droplet |
hardware | healthy | src/components/X1ConnectionsEditor.jsx |
This page is publicly accessible at:
https://repobility.com/scan/0dcb3e61-325a-4b0a-b86c-fecea73f2c94/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/0dcb3e61-325a-4b0a-b86c-fecea73f2c94/
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.