Skip to content

Language & Manifest Coverage

Code Languages

Language Parser Extracts
Python stdlib ast Functions, classes, params, return types, docstrings
JavaScript / TypeScript tree-sitter Functions, arrow fns, classes, JSDoc
Go tree-sitter Funcs, methods, structs, interfaces, GoDoc
Java tree-sitter Classes, methods, constructors, Javadoc
Rust tree-sitter Fns, structs, enums, traits, impl blocks, ///
Swift tree-sitter Classes, structs, enums, protocols, generics, methods, properties, doc comments
Kotlin tree-sitter Classes, data classes, objects, enums, interfaces, generics, functions, constructor params
Ruby tree-sitter Defs, classes, modules, # comments
C tree-sitter Functions, structs with /** doc comments
C++ tree-sitter Functions, classes, structs, methods with /// doc comments
C# tree-sitter Classes, methods, top-level functions
SQL tree-sitter Tables, views, functions, indexes, types, triggers with preceding --//* */ comments
YAML PyYAML (multi-doc) Multi-document YAML, body_extra.yaml_doc preserved for domain classification

Domain Classification

YAML files can be re-classified using data-driven rule sets. See domain-classification.md.

Manifest / Build Files

Format Parser Extracts
requirements.txt regex pip package names + version constraints
pyproject.toml tomllib PEP 621 deps + optional-dependencies + Poetry legacy
package.json json npm/Node dependencies + devDependencies
Cargo.toml tomllib Rust crate deps + dev/build-dependencies
Cargo.lock tomllib Rust lockfile — pinned versions from [[package]] entries
yarn.lock regex Yarn lockfile (v1) — package name + pinned versions
pnpm-lock.yaml yaml pnpm lockfile — package name + version + dev flag
go.mod regex Go module deps + // indirect flag
go.sum regex Go checksum lockfile — deduplicated module versions
poetry.lock tomllib Python Poetry lockfile — [[package]] with dev category detection
composer.json json PHP packages (skips php/ext-* platform entries)
pom.xml xml.etree.ElementTree Maven dependencies + test/provided scope => dev
Gemfile regex Ruby gems + group :test/:development => dev
build.gradle / .kts regex Gradle deps (Groovy + Kotlin DSL) + testImplementation => dev
Package.swift regex SwiftPM packages from .package(url:from:)
project.clj regex Clojars deps + :dev profile
mix.exs regex Hex packages + only: :dev/:test => dev
Dockerfile / Containerfile regex Base images from FROM, pip packages from RUN pip install
docker-compose.yml yaml Service images from image:, inter-service links from depends_on:

Architectural Query Examples

The dependency cross-referencing across all 17 formats enables queries that would otherwise require grepping multiple build systems:

Find every microservice depending on a deprecated Rust crate

# List all Rust dependencies across the entire monorepo
okf lookup --type Dependency --tag ecosystem:cargo --compact

# Check if any service pins an outdated version
okf lookup --type Dependency openssl

Track a vulnerable Python package across all services

# Find all pip dependencies named "requests"
okf lookup --type Dependency --tag ecosystem:pip requests

# See which modules depend on it
okf lookup --type Dependency requests --json | jq '.[].called_by'

Audit npm transitive dependencies

# All npm packages across every service
okf lookup --type Dependency --tag ecosystem:npm --compact

# Filter by version constraint
okf lookup --type Dependency --tag ecosystem:npm express

Cross-ecosystem queries

The bundle indexes all ecosystems into a unified format, so you can ask questions across language boundaries:

# All external dependencies, grouped by ecosystem
okf lookup --type Dependency --compact

# Which dev dependencies are we using across all projects?
okf lookup --type Dependency --tag dev:true --compact

CI/CD integration

Automate these queries in your CI pipeline:

# Fail the build if any dependency is deprecated
okf lookup --type Dependency --tag deprecated:true --compact
if [ $? -eq 0 ]; then echo "Deprecated deps found!"; exit 1; fi