Scan timing: clone 3.68s · analysis 10.34s · 10.2 MB · GitHub API rate-limit (preflight)
https://github.com/typst/typst
· scanned 2026-06-05 10:30 UTC (5 days, 14 hours ago)
· 10 languages
120 raw signals (52 security + 68 graph) 38th percentile · Rust · large (100-500K LoC) System graph score 82 (lower by 18)
Last scanned 5 days, 14 hours ago · v2 · 60 actionable findings from 2 signal sources. 26 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 |
67.8 | 0.25 | 16.95 |
testing_score |
22.0 | 0.20 | 4.40 |
documentation_score |
88.0 | 0.15 | 13.20 |
practices_score |
97.0 | 0.15 | 14.55 |
code_quality |
61.6 | 0.10 | 6.16 |
| Overall | 1.00 | 64.3 |
All 691 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 |
|---|---|---|---|
clippy.toml |
software | healthy | clippy.toml |
Cargo.toml |
software | healthy | Cargo.toml |
README.md |
software | healthy | README.md |
rustfmt.toml |
software | healthy | rustfmt.toml |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
Dockerfile |
software | healthy | Dockerfile |
Cargo.toml |
software | healthy | tests/Cargo.toml |
README.md |
software | healthy | tests/README.md |
Cargo.toml |
software | healthy | tests/fuzz/Cargo.toml |
lib.rs |
software | healthy | tests/fuzz/src/lib.rs |
typst.toml |
software | healthy | tests/packages/future-0.1.0/typst.toml |
typst.toml |
software | healthy | tests/packages/reader-0.1.0/typst.toml |
typst.toml |
software | healthy | tests/packages/adder-0.1.0/typst.toml |
Cargo.toml |
software | healthy | tests/wrapper/Cargo.toml |
main.rs |
software | healthy | tests/wrapper/src/main.rs |
collect.rs |
software | healthy | tests/src/collect.rs |
git.rs |
software | healthy | tests/src/git.rs |
args.rs |
software | healthy | tests/src/args.rs |
world.rs |
software | healthy | tests/src/world.rs |
notes.rs |
software | healthy | tests/src/notes.rs |
logger.rs |
software | healthy | tests/src/logger.rs |
run.rs |
software | healthy | tests/src/run.rs |
pdftags.rs |
software | healthy | tests/src/pdftags.rs |
custom.rs |
software | healthy | tests/src/custom.rs |
tests.rs |
software | healthy | tests/src/tests.rs |
output.rs |
software | healthy | tests/src/output.rs |
html.rs |
software | healthy | tests/src/report/html.rs |
report.css |
software | healthy | tests/src/report/report.css |
mod.rs |
software | healthy | tests/src/report/mod.rs |
report.js |
software | healthy | tests/src/report/report.js |
diff.rs |
software | healthy | tests/src/report/diff.rs |
Cargo.toml |
software | healthy | docs/Cargo.toml |
README.md |
software | healthy | docs/README.md |
typst.toml |
software | healthy | docs/typst.toml |
docs.css |
software | healthy | docs/assets/docs.css |
docs.js |
software | healthy | docs/assets/docs.js |
base.css |
software | healthy | docs/assets/base.css |
architecture.md |
software | healthy | docs/dev/architecture.md |
live.rs |
software | healthy | docs/src/live.rs |
reflect.rs |
software | healthy | docs/src/reflect.rs |
args.rs |
software | healthy | docs/src/args.rs |
world.rs |
software | healthy | docs/src/world.rs |
main.rs |
software | healthy | docs/src/main.rs |
search.rs |
software | healthy | docs/src/search.rs |
example.rs |
software | healthy | docs/src/example.rs |
Cargo.toml |
software | healthy | crates/typst-timing/Cargo.toml |
lib.rs |
software | healthy | crates/typst-timing/src/lib.rs |
Cargo.toml |
software | healthy | crates/typst/Cargo.toml |
lib.rs |
software | healthy | crates/typst/src/lib.rs |
Cargo.toml |
software | healthy | crates/typst-library/Cargo.toml |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
fuzz |
software | healthy | tests/fuzz |
src |
software | healthy | tests/fuzz/src |
packages |
software | healthy | tests/packages |
future-0.1.0 |
software | healthy | tests/packages/future-0.1.0 |
reader-0.1.0 |
software | healthy | tests/packages/reader-0.1.0 |
adder-0.1.0 |
software | healthy | tests/packages/adder-0.1.0 |
wrapper |
software | healthy | tests/wrapper |
src |
software | healthy | tests/wrapper/src |
src |
software | healthy | tests/src |
report |
software | healthy | tests/src/report |
docs |
software | healthy | docs |
assets |
software | healthy | docs/assets |
dev |
software | healthy | docs/dev |
src |
software | healthy | docs/src |
crates |
software | healthy | crates |
typst-timing |
software | healthy | crates/typst-timing |
src |
software | healthy | crates/typst-timing/src |
typst |
software | healthy | crates/typst |
src |
software | healthy | crates/typst/src |
typst-library |
software | healthy | crates/typst-library |
src |
software | healthy | crates/typst-library/src |
layout |
software | healthy | crates/typst-library/src/layout |
grid |
software | healthy | crates/typst-library/src/layout/grid |
text |
software | healthy | crates/typst-library/src/text |
font |
software | healthy | crates/typst-library/src/text/font |
foundations |
software | healthy | crates/typst-library/src/foundations |
content |
software | healthy | crates/typst-library/src/foundations/content |
introspection |
software | healthy | crates/typst-library/src/introspection |
loading |
software | healthy | crates/typst-library/src/loading |
model |
software | healthy | crates/typst-library/src/model |
pdf |
software | healthy | crates/typst-library/src/pdf |
visualize |
software | healthy | crates/typst-library/src/visualize |
image |
software | healthy | crates/typst-library/src/visualize/image |
math |
software | healthy | crates/typst-library/src/math |
ir |
software | healthy | crates/typst-library/src/math/ir |
typst-syntax |
software | healthy | crates/typst-syntax |
src |
software | healthy | crates/typst-syntax/src |
typst-render |
software | healthy | crates/typst-render |
src |
software | healthy | crates/typst-render/src |
typst-eval |
software | healthy | crates/typst-eval |
src |
software | healthy | crates/typst-eval/src |
typst-pdf |
software | healthy | crates/typst-pdf |
src |
software | healthy | crates/typst-pdf/src |
tags |
software | healthy | crates/typst-pdf/src/tags |
util |
software | healthy | crates/typst-pdf/src/tags/util |
resolve |
software | healthy | crates/typst-pdf/src/tags/resolve |
tree |
software | healthy | crates/typst-pdf/src/tags/tree |
context |
software | healthy | crates/typst-pdf/src/tags/context |
typst-html |
software | healthy | crates/typst-html |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
filterDiffs |
software | healthy | tests/src/report/report.js:filterDiffs |
changeGlobalDiffFormat |
software | healthy | tests/src/report/report.js:changeGlobalDiffFormat |
reportFileTabChanged |
software | healthy | tests/src/report/report.js:reportFileTabChanged |
currentReportFileTab |
software | healthy | tests/src/report/report.js:currentReportFileTab |
changeGlobalDiffMode |
software | healthy | tests/src/report/report.js:changeGlobalDiffMode |
fileDiffTabChanged |
software | healthy | tests/src/report/report.js:fileDiffTabChanged |
currentFileDiffTab |
software | healthy | tests/src/report/report.js:currentFileDiffTab |
changeGlobalSourceVisibility |
software | healthy | tests/src/report/report.js:changeGlobalSourceVisibility |
onViewportIntersectionChanged |
software | healthy | tests/src/report/report.js:onViewportIntersectionChanged |
changeGlobalImageMode |
software | healthy | tests/src/report/report.js:changeGlobalImageMode |
imageModeChanged |
software | healthy | tests/src/report/report.js:imageModeChanged |
disableImageControls |
software | healthy | tests/src/report/report.js:disableImageControls |
imageDiffChanged |
software | healthy | tests/src/report/report.js:imageDiffChanged |
redrawImageDiff |
software | healthy | tests/src/report/report.js:redrawImageDiff |
drawImage |
software | healthy | tests/src/report/report.js:drawImage |
horizontalAlignImage |
software | healthy | tests/src/report/report.js:horizontalAlignImage |
verticalAlignImage |
software | healthy | tests/src/report/report.js:verticalAlignImage |
currentImageMode |
software | healthy | tests/src/report/report.js:currentImageMode |
currentImageAlignX |
software | healthy | tests/src/report/report.js:currentImageAlignX |
currentImageAlignY |
software | healthy | tests/src/report/report.js:currentImageAlignY |
main |
software | healthy | docs/assets/docs.js:main |
setUpKeyboardNavigation |
software | healthy | docs/assets/docs.js:setUpKeyboardNavigation |
setUpCollapsingSidebar |
software | healthy | docs/assets/docs.js:setUpCollapsingSidebar |
handleWindowClick |
software | healthy | docs/assets/docs.js:handleWindowClick |
finallyHide |
software | healthy | docs/assets/docs.js:finallyHide |
hide |
software | healthy | docs/assets/docs.js:hide |
show |
software | healthy | docs/assets/docs.js:show |
setUpFoldingNav |
software | healthy | docs/assets/docs.js:setUpFoldingNav |
setUpAccordion |
software | healthy | docs/assets/docs.js:setUpAccordion |
setUpAccordionItem |
software | healthy | docs/assets/docs.js:setUpAccordionItem |
toggleFactory |
software | healthy | docs/assets/docs.js:toggleFactory |
expandFactory |
software | healthy | docs/assets/docs.js:expandFactory |
handler |
software | healthy | docs/assets/docs.js:handler |
collapseFactory |
software | healthy | docs/assets/docs.js:collapseFactory |
setUpOnThisPage |
software | healthy | docs/assets/docs.js:setUpOnThisPage |
update |
software | healthy | docs/assets/docs.js:update |
setUpTooltips |
software | healthy | docs/assets/docs.js:setUpTooltips |
setUpTooltip |
software | healthy | docs/assets/docs.js:setUpTooltip |
setUpPreviewSplits |
software | healthy | docs/assets/docs.js:setUpPreviewSplits |
setUpPreviewCopy |
software | healthy | docs/assets/docs.js:setUpPreviewCopy |
setUpSymbolFlyouts |
software | healthy | docs/assets/docs.js:setUpSymbolFlyouts |
setUpSymbolFlyout |
software | healthy | docs/assets/docs.js:setUpSymbolFlyout |
closeFlyout |
software | healthy | docs/assets/docs.js:closeFlyout |
windowClickHandler |
software | healthy | docs/assets/docs.js:windowClickHandler |
populateFlyout |
software | healthy | docs/assets/docs.js:populateFlyout |
nameListener |
software | healthy | docs/assets/docs.js:nameListener |
shorthandListener |
software | healthy | docs/assets/docs.js:shorthandListener |
codepointListener |
software | healthy | docs/assets/docs.js:codepointListener |
setUpGlobalSearch |
software | healthy | docs/assets/docs.js:setUpGlobalSearch |
search |
software | healthy | docs/assets/docs.js:search |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
005.268.066.358 |
network | healthy | tests/src/report/html.rs |
29.481.812.778 |
network | healthy | tests/src/report/html.rs |
286.179.468.429 |
network | healthy | tests/src/report/html.rs |
57.692.19.493 |
network | healthy | tests/src/report/html.rs |
1.905.115.043 |
network | healthy | tests/src/report/html.rs |
33.067.833.257 |
network | healthy | tests/src/report/html.rs |
1.165.669.177 |
network | healthy | tests/src/report/html.rs |
22.303.501.314 |
network | healthy | tests/src/report/html.rs |
175.042.352.135 |
network | healthy | tests/src/report/html.rs |
732.732.084.747 |
network | healthy | tests/src/report/html.rs |
32.32.85.848 |
network | healthy | tests/src/report/html.rs |
4.435.423.424 |
network | healthy | tests/src/report/html.rs |
287.21.594.37 |
network | healthy | tests/src/report/html.rs |
224.094.33.33 |
network | healthy | tests/src/report/html.rs |
433.465.866.928 |
network | healthy | tests/src/report/html.rs |
1.04.021.193 |
network | healthy | tests/src/report/html.rs |
276.194.07.432 |
network | healthy | tests/src/report/html.rs |
1.504.21.01 |
network | healthy | tests/src/report/html.rs |
1.195.774.572 |
network | healthy | tests/src/report/html.rs |
1.393.287.564 |
network | healthy | tests/src/report/html.rs |
776.853.493.288 |
network | healthy | tests/src/report/html.rs |
1.107.288.475 |
network | healthy | tests/src/report/html.rs |
14.316.418.582 |
network | healthy | tests/src/report/html.rs |
28.266.723.43 |
network | healthy | tests/src/report/html.rs |
1.063.161.66 |
network | healthy | tests/src/report/html.rs |
742.225.3.222 |
network | healthy | tests/src/report/html.rs |
455.62.155.4 |
network | healthy | tests/src/report/html.rs |
3.85.884.884 |
network | healthy | tests/src/report/html.rs |
3.535.442.441 |
network | healthy | tests/src/report/html.rs |
1.371.685.685 |
network | healthy | tests/src/report/html.rs |
1.96.882.882 |
network | healthy | tests/src/report/html.rs |
25.133.544.153 |
network | healthy | tests/src/report/html.rs |
442.441.885.885 |
network | healthy | tests/src/report/html.rs |
932.934.443.441 |
network | healthy | tests/src/report/html.rs |
444.444.885.882 |
network | healthy | tests/src/report/html.rs |
934.934.441.441 |
network | healthy | tests/src/report/html.rs |
885.883.444.443 |
network | healthy | tests/src/report/html.rs |
883.884.442.442 |
network | healthy | tests/src/report/html.rs |
6.7.2.1 |
network | healthy | crates/typst-library/src/foundations/content/raw.rs |
13.1.2.5 |
network | healthy | crates/typst-html/src/encode.rs |
13.1.2.6 |
network | healthy | crates/typst-html/src/encode.rs |
3.2.5.2 |
network | healthy | crates/typst-html/src/tag.rs |
3.3.1.2 |
network | healthy | crates/typst-html/src/mathml.rs |
3.2.4.1 |
network | healthy | crates/typst-html/src/mathml.rs |
3.2.5.1 |
network | healthy | crates/typst-html/src/mathml.rs |
3.1.6.1 |
network | healthy | crates/typst-layout/src/inline/shaping.rs |
3.1.6.3 |
network | healthy | crates/typst-layout/src/inline/line.rs |
4.1.1.1 |
network | healthy | crates/typst-layout/src/inline/line.rs |
| Label | Layer | Status | Path |
|---|---|---|---|
build |
cicd | healthy | .github/workflows/docker-image.yml |
merge |
cicd | healthy | .github/workflows/docker-image.yml |
tests |
cicd | healthy | .github/workflows/ci.yml |
test-matrix |
cicd | healthy | .github/workflows/ci.yml |
checks |
cicd | healthy | .github/workflows/ci.yml |
docs |
cicd | healthy | .github/workflows/ci.yml |
min-version |
cicd | healthy | .github/workflows/ci.yml |
fuzz |
cicd | healthy | .github/workflows/ci.yml |
miri |
cicd | healthy | .github/workflows/ci.yml |
build-release |
cicd | healthy | .github/workflows/release.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
TYPST_BUILD_DATE |
cicd | healthy | — |
PLATFORM_PAIR |
cicd | healthy | — |
REGISTRY |
cicd | healthy | — |
IMAGE_NAME |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::docker-image |
cicd | healthy | .github/workflows/docker-image.yml |
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
gha::release |
cicd | healthy | .github/workflows/release.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
that |
software | healthy | docs/assets/docs.js:that |
TestHelper |
software | healthy | tools/test-helper/src/extension.ts:TestHelper |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-tnpoop8t |
software | healthy | /tmp/repobility-clone-tnpoop8t |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
This page is publicly accessible at:
https://repobility.com/scan/a505d54a-f679-46d4-852f-a0873e69bc1d/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/a505d54a-f679-46d4-852f-a0873e69bc1d/
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.