https://github.com/christulsi/portfolio
· scanned 2026-06-17 01:48 UTC (1 month, 1 week ago)
39 raw signals (0 security + 39 graph)
Last scanned 1 month, 1 week ago · v2 · last Δ +13.2 (diff) · 12 actionable findings from 1 signal source. 27 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 230 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 |
|---|---|---|---|
localStorageMock |
software | healthy | vitest.setup.ts:localStorageMock |
initThreeHero |
software | healthy | src/scripts/three/index.ts:initThreeHero |
projectCursor |
software | healthy | src/scripts/three/index.ts:projectCursor |
updateNodes |
software | healthy | src/scripts/three/index.ts:updateNodes |
updateLinks |
software | healthy | src/scripts/three/index.ts:updateLinks |
syncColors |
software | healthy | src/scripts/three/index.ts:syncColors |
render |
software | healthy | src/scripts/three/index.ts:render |
animate |
software | healthy | src/scripts/three/index.ts:animate |
renderStaticFrame |
software | healthy | src/scripts/three/index.ts:renderStaticFrame |
start |
software | healthy | src/scripts/three/index.ts:start |
stop |
software | healthy | src/scripts/three/index.ts:stop |
onResize |
software | healthy | src/scripts/three/index.ts:onResize |
onVisibilityChange |
software | healthy | src/scripts/three/index.ts:onVisibilityChange |
onToggle |
software | healthy | src/scripts/three/index.ts:onToggle |
dispose |
software | healthy | src/scripts/three/index.ts:dispose |
generateNodes |
software | healthy | src/scripts/three/particles.ts:generateNodes |
createPointsGeometry |
software | healthy | src/scripts/three/particles.ts:createPointsGeometry |
createPointsMaterial |
software | healthy | src/scripts/three/particles.ts:createPointsMaterial |
createLineBuffers |
software | healthy | src/scripts/three/particles.ts:createLineBuffers |
createLineMaterial |
software | healthy | src/scripts/three/particles.ts:createLineMaterial |
computeLinks |
software | healthy | src/scripts/three/particles.ts:computeLinks |
define |
software | healthy | src/scripts/three/utils.test.ts:define |
defaultMatchMedia |
software | healthy | src/scripts/three/utils.test.ts:defaultMatchMedia |
initializeInteractionState |
software | healthy | src/scripts/three/controls.ts:initializeInteractionState |
createPointerMoveHandler |
software | healthy | src/scripts/three/controls.ts:createPointerMoveHandler |
createPointerLeaveHandler |
software | healthy | src/scripts/three/controls.ts:createPointerLeaveHandler |
updateScrollProgress |
software | healthy | src/scripts/three/controls.ts:updateScrollProgress |
createScrollHandler |
software | healthy | src/scripts/three/controls.ts:createScrollHandler |
createRenderer |
software | healthy | src/scripts/three/core.ts:createRenderer |
createScene |
software | healthy | src/scripts/three/core.ts:createScene |
createCamera |
software | healthy | src/scripts/three/core.ts:createCamera |
getVisibleHalfExtents |
software | healthy | src/scripts/three/core.ts:getVisibleHalfExtents |
handleResize |
software | healthy | src/scripts/three/core.ts:handleResize |
fieldFrom |
software | healthy | src/scripts/three/particles.test.ts:fieldFrom |
getColorScheme |
software | healthy | src/scripts/three/theme.ts:getColorScheme |
initializeColorState |
software | healthy | src/scripts/three/theme.ts:initializeColorState |
updateThemeColors |
software | healthy | src/scripts/three/theme.ts:updateThemeColors |
lerpColors |
software | healthy | src/scripts/three/theme.ts:lerpColors |
watchThemeChanges |
software | healthy | src/scripts/three/theme.ts:watchThemeChanges |
getCurrentTheme |
software | healthy | src/scripts/three/utils.ts:getCurrentTheme |
prefersReducedMotion |
software | healthy | src/scripts/three/utils.ts:prefersReducedMotion |
isDataSaverEnabled |
software | healthy | src/scripts/three/utils.ts:isDataSaverEnabled |
shouldEnablePointer |
software | healthy | src/scripts/three/utils.ts:shouldEnablePointer |
pickNodeCount |
software | healthy | src/scripts/three/utils.ts:pickNodeCount |
memory |
software | healthy | src/scripts/three/utils.ts:memory |
clamp |
software | healthy | src/scripts/three/utils.ts:clamp |
lerp |
software | healthy | src/scripts/three/utils.ts:lerp |
calculateScrollProgress |
software | healthy | src/scripts/three/utils.ts:calculateScrollProgress |
querySelector |
software | healthy | src/utils/dom.ts:querySelector |
querySelectorAll |
software | healthy | src/utils/dom.ts:querySelectorAll |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
vitest.config.ts |
software | healthy | vitest.config.ts |
.prettierrc.json |
software | healthy | .prettierrc.json |
tailwind.config.mjs |
software | healthy | tailwind.config.mjs |
playwright.config.ts |
software | healthy | playwright.config.ts |
package-lock.json |
software | healthy | package-lock.json |
README.md |
software | healthy | README.md |
astro.config.mjs |
software | healthy | astro.config.mjs |
.lintstagedrc.json |
software | healthy | .lintstagedrc.json |
postcss.config.mjs |
software | healthy | postcss.config.mjs |
vitest.setup.ts |
software | healthy | vitest.setup.ts |
package.json |
software | healthy | package.json |
eslint.config.js |
software | healthy | eslint.config.js |
commitlint.config.cjs |
software | healthy | commitlint.config.cjs |
tsconfig.json |
software | healthy | tsconfig.json |
generate-images.mjs |
software | healthy | scripts/generate-images.mjs |
CONTRIBUTING.md |
software | healthy | .github/CONTRIBUTING.md |
README.md |
software | healthy | .github/README.md |
ci.yml |
software | healthy | .github/workflows/ci.yml |
pr-checks.yml |
software | healthy | .github/workflows/pr-checks.yml |
dependency-review.yml |
software | healthy | .github/workflows/dependency-review.yml |
content.config.ts |
software | healthy | src/content.config.ts |
index.ts |
software | healthy | src/scripts/three/index.ts |
constants.ts |
software | healthy | src/scripts/three/constants.ts |
shaders.ts |
software | healthy | src/scripts/three/shaders.ts |
particles.ts |
software | healthy | src/scripts/three/particles.ts |
utils.test.ts |
software | healthy | src/scripts/three/utils.test.ts |
controls.ts |
software | healthy | src/scripts/three/controls.ts |
core.ts |
software | healthy | src/scripts/three/core.ts |
particles.test.ts |
software | healthy | src/scripts/three/particles.test.ts |
types.ts |
software | healthy | src/scripts/three/types.ts |
theme.ts |
software | healthy | src/scripts/three/theme.ts |
utils.ts |
software | healthy | src/scripts/three/utils.ts |
index.ts |
software | healthy | src/utils/index.ts |
animation.test.ts |
software | healthy | src/utils/animation.test.ts |
dom.ts |
software | healthy | src/utils/dom.ts |
constants.ts |
software | healthy | src/utils/constants.ts |
storage.ts |
software | healthy | src/utils/storage.ts |
storage.test.ts |
software | healthy | src/utils/storage.test.ts |
form.test.ts |
software | healthy | src/utils/form.test.ts |
animation.ts |
software | healthy | src/utils/animation.ts |
toast.test.ts |
software | healthy | src/utils/toast.test.ts |
theme.test.ts |
software | healthy | src/utils/theme.test.ts |
theme.ts |
software | healthy | src/utils/theme.ts |
form.ts |
software | healthy | src/utils/form.ts |
toast.ts |
software | healthy | src/utils/toast.ts |
index.ts |
software | healthy | src/schemas/index.ts |
data.schema.ts |
software | healthy | src/schemas/data.schema.ts |
form.schema.test.ts |
software | healthy | src/schemas/form.schema.test.ts |
form.schema.ts |
software | healthy | src/schemas/form.schema.ts |
data.ts |
software | healthy | src/types/data.ts |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
scripts |
software | healthy | scripts |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
scripts |
software | healthy | src/scripts |
three |
software | healthy | src/scripts/three |
utils |
software | healthy | src/utils |
schemas |
software | healthy | src/schemas |
types |
software | healthy | src/types |
content |
software | healthy | src/content |
experiences |
software | healthy | src/content/experiences |
testimonials |
software | healthy | src/content/testimonials |
certifications |
software | healthy | src/content/certifications |
skills |
software | healthy | src/content/skills |
projects |
software | healthy | src/content/projects |
styles |
software | healthy | src/styles |
e2e |
software | healthy | e2e |
| Label | Layer | Status | Path |
|---|---|---|---|
code-quality |
cicd | healthy | .github/workflows/ci.yml |
unit-tests |
cicd | healthy | .github/workflows/ci.yml |
build |
cicd | healthy | .github/workflows/ci.yml |
e2e-tests |
cicd | healthy | .github/workflows/ci.yml |
deploy |
cicd | healthy | .github/workflows/ci.yml |
pr-title |
cicd | healthy | .github/workflows/pr-checks.yml |
changed-files |
cicd | healthy | .github/workflows/pr-checks.yml |
conditional-tests |
cicd | healthy | .github/workflows/pr-checks.yml |
size-report |
cicd | healthy | .github/workflows/pr-checks.yml |
dependency-review |
cicd | healthy | .github/workflows/dependency-review.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
to |
software | healthy | src/utils/dom.ts:to |
from |
software | healthy | src/utils/dom.ts:from |
on |
software | healthy | src/utils/dom.ts:on |
for |
software | healthy | src/utils/toast.test.ts:for |
ToastManager |
software | healthy | src/utils/toast.ts:ToastManager |
| Label | Layer | Status | Path |
|---|---|---|---|
postgresql |
data | healthy | src/content/experiences/ict-engineer.json |
mariadb |
data | healthy | src/content/experiences/ict-engineer.json |
mysql |
data | healthy | src/content/skills/backend-databases.json |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
gha::pr-checks |
cicd | healthy | .github/workflows/pr-checks.yml |
gha::dependency-review |
cicd | healthy | .github/workflows/dependency-review.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
christulsi__portfolio |
software | healthy | /data/fable5_failed_archive/christulsi__portfolio |
| Label | Layer | Status | Path |
|---|---|---|---|
nginx |
network | healthy | src/content/skills/devops-cloud.json |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | src/scripts/three/types.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/374fcbed-2ed7-47bb-8241-edbe174aab55/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/374fcbed-2ed7-47bb-8241-edbe174aab55/
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.