Melt through your microservice dependencies. Interactive TUI for scanning Maven-based Java services, extracting integration configs, and visualizing the dependency graph.
- Interactive TUI — browse services, drill into dependencies, fuzzy search
- Dependency graph — outbound integrations + reverse dependency tracking
- Version staleness — detects when integration specs drift from target service versions
- Navigation history — drill through linked services with full back-navigation
- Multiple outputs — TUI, table, JSON, Graphviz DOT
- Configurable — JSON config for repo prefixes, standalone repos, scan paths
- Theme-aware — uses ANSI 0-15 colors, adapts to your terminal theme (base16/Tinty)
go install github.com/CheeziCrew/fondue@latestOr grab a binary from Releases.
fondue # Interactive TUI (default path)
fondue ~/code/myproject # Scan specific directory
fondue --list # Table output
fondue --json | jq '.[] | select(.dependencies | length > 5)'
fondue --dot | dot -Tpng -o graph.png && open graph.png # requires graphviz| Flag | Short | Description |
|---|---|---|
--list |
-l |
Print services as a table |
--json |
-j |
Export as JSON |
--dot |
-d |
Export as Graphviz DOT |
--version |
-v |
Print version |
--help |
-h |
Show help |
List view:
| Key | Action |
|---|---|
↑/↓ j/k |
Navigate |
/ |
Fuzzy search |
Enter |
Open service detail |
q Ctrl+C |
Quit |
Detail view:
| Key | Action |
|---|---|
↑/↓ j/k |
Navigate dependencies |
Enter |
Jump to linked service |
Esc |
Back (pops history stack) |
q |
Quit |
Works out of the box — defaults scan ~/code/scit/ for repos prefixed with api-service-* and pw-*.
To override, drop a .fondue.json in your scan directory or next to the binary. All fields are optional, only specify what you want to change:
{
"scanPath": "~/code/other-project/",
"repoPrefixes": ["my-svc-", "backend-"],
"standaloneRepos": {
"my-proxy": "proxy"
}
}| Field | Default | Description |
|---|---|---|
scanPath |
~/code/scit/ |
Where to look for service repos |
repoPrefixes |
["api-service-", "pw-"] |
Directory prefixes to scan (prefix is stripped to derive service name) |
standaloneRepos |
See config.go |
Map of dirName → serviceName for repos that don't follow prefix conventions |
| What | Required | Why |
|---|---|---|
| Maven-based Java services | Yes | Fondue scans pom.xml and src/main/java integration packages |
| Go 1.25+ | Only for go install |
Not needed if using a prebuilt binary |
| Graphviz | Only for --dot piping |
Provides the dot command (brew install graphviz) |
- Globs for directories matching configured prefixes
- Verifies each has
src/main/java(Maven service marker) - Walks
integration/packages forCLIENT_ID/INTEGRATION_NAMEconstants - Parses
pom.xml(XML) for project version and<inputSpec>references - Reads OpenAPI spec headers for integration version matching
- Builds bidirectional dependency graph
- Renders everything in a Bubbletea TUI
Theo the Cat — moral support department, head of naps division.
