Table of Contents
Deder 🔗
Deder is a config-based, concurrent-first, client-server build tool for JVM projects (Java and Scala). It uses Pkl for configuration, providing type safety, IDE support, and powerful abstraction capabilities.
New here? Start with the Installation tutorial, then follow the Quickstart. Already set up? Browse the Cheatsheet for a quick command reference.
Key Concepts 🔗
Project is the root directory where your build configuration lives (usually the git repo root).
Modules are subprojects within your project (like common, frontend, backend, etc.). They can depend on each other, forming a directed acyclic graph (DAG).
Tasks are operations that can be performed on modules (like compile, run, test). Each module type has a predefined set of tasks available. They also form a directed acyclic graph (DAG).
Site Map 🔗
-
Tutorials — step-by-step guides to get things working
-
How Tos — goal-oriented recipes for specific tasks
-
Reference — complete descriptions of commands, config, and built-in tasks
-
Philosophy — design rationale and background reading
IDE setup 🔗
Run deder bsp install and then open with VSCode or IntelliJ (open as a BSP project).
Tips & Tricks 🔗
Generate an SVG of the dependency graph for a specific task:
deder plan -m common -t compileClasspath -f dot | dot -Tsvg > bla.svg
deder modules -f mermaid | mmdc -i - -o modules.svg