아홉 마리 새가하나의 그래프로.

Swift, Kotlin, Dart, DB, Go, Rust, TypeScript, Python. 언어마다 한 마리가 코드베이스를 질의할 수 있는 의존성 그래프로 바꾸고, 왜가리 isthmus가 언어 사이의 경계를 잇습니다.

배경 애니메이션: 해 질 녘 하늘에서 새 떼가 군무를 추다가 아홉 종으로 갈라져 각자의 노드에 모이고, 여덟 노드가 가운데 왜가리 노드로 이어지는 그래프가 됩니다.

그래프가 결과물이고, 나머지는 그 위의 쿼리입니다

도구마다 리포트를 따로 만들지 않습니다. 그래프를 한 번 만들고, 궁금한 것을 쿼리로 묻습니다.

지워도 되는 코드는 어디 있나요?
아무도 부르지 않는 선언을 찾고, 안 쓰여 보여도 남겨야 하는 이유가 있으면 근거와 함께 따로 보여 줍니다.
어디서 서로 물고 있나요?
모듈과 패키지 사이의 순환 의존을 찾습니다.
이걸 바꾸면 어디까지 흔들리나요?
한 선언이나 테이블에 기대는 곳을 거슬러 올라가 영향 범위를 봅니다.
레이어 규칙을 어긴 곳은요?
아키텍처 규칙을 쿼리로 적어 두고 위반을 찾습니다.
언어 경계 너머는요?
isthmus가 Dart와 Swift, 앱과 서버, 코드와 DB 사이를 이어 그래프 하나로 봅니다.

도감

아홉 마리의 서식지와 하는 일입니다. 이름을 누르면 GitHub 저장소로 갑니다.

isthmus 마스코트, 노란 부리의 회색 왜가리

가운데 서는 새

isthmus

서식지
언어와 언어 사이의 경계
하는 일
언어별 그래프가 멈추는 곳을 잇습니다. Dart에서 부른 Swift·Kotlin 메서드, React Native 브리지 호출, 앱이 부르는 서버 라우트, 코드가 쓰는 DB 스키마까지 한 그래프로 봅니다.
마스코트
왜가리

TypeScriptMIT

cartograph 마스코트, 주황색 칼새

cartograph

서식지
Swift, iOS
하는 일
IndexStoreDB로 만든 그래프에서 죽은 코드, 순환 의존, 아키텍처 지표, 레이어 규칙을 쿼리로 확인합니다.
마스코트
칼새

SwiftMIT

kartograph 마스코트, 보라색 볏이 있는 새

kartograph

서식지
Kotlin, Android
하는 일
설명 가능한 의존성 그래프와 죽은 코드 분석. ProGuard·R8 keep 규칙처럼 ‘안 쓰여 보여도 지우면 안 되는 것’을 근거로 함께 읽습니다.

KotlinMIT

dartograph 마스코트 Scout, 적갈색 새

dartograph

서식지
Dart, Flutter
하는 일
Dart·Flutter 코드베이스의 의존성을 근거와 함께 분석합니다.
마스코트
Scout

DartMIT

schemagraph 마스코트, 남색 올빼미

schemagraph

서식지
DB 카탈로그, SQL
하는 일
카탈로그와 SQL 본문에서 데이터베이스 객체 사이의 의존성을 그래프로 만듭니다. 영향 분석, 순환 탐지, 아키텍처 규칙.
마스코트
올빼미

RustApache-2.0

gartograph 마스코트, 하늘색 새

gartograph

서식지
Go
하는 일
순환, 죽은 코드, 레이어 규칙을 그래프 위 쿼리로 봅니다.

GoMIT

rustograph 마스코트, 갈고리 부리의 적갈색 새

rustograph

서식지
Rust, Cargo 워크스페이스
하는 일
순환, 죽은 코드, 영향 분석을 쿼리로 봅니다.

RustMIT

tsograph 마스코트, 파란 물총새

tsograph

서식지
TypeScript, JavaScript(Node) 서비스
하는 일
Next.js, Express, Fastify, NestJS 같은 서비스의 HTTP 라우트, OpenAPI 계약, ORM 관계, 호출 그래프를 isthmus에 넘깁니다.
마스코트
물총새

TypeScriptMIT

pythograph 마스코트, 노랑과 파랑의 푸른박새

pythograph

서식지
Python 서비스
하는 일
Django·DRF·Flask 라우트, Django·SQLAlchemy 관계, 호출 그래프를 isthmus에 넘깁니다. 코드를 import하지 않고 ast로만 읽습니다.
마스코트
푸른박새

PythonMIT

왜가리가 서는 네 곳

언어별 도구가 멈추는 경계마다 isthmus가 양쪽 그래프를 잇습니다.

Flutter 플랫폼 채널

MethodChannel·Pigeon 호출

Dart
isthmus
SwiftKotlin

React Native 브리지

JS에서 네이티브 모듈 호출

JavaScript
isthmus
SwiftKotlin

HTTP

앱의 클라이언트 호출과 서버 라우트

앱 클라이언트
isthmus
Node 라우트Python 라우트

영속성

코드가 읽고 쓰는 DB 스키마

애플리케이션 코드
isthmus
DB 스키마