How devonfw/ideasy works
IDEasy is a project-centric development-environment manager: a developer creates or selects a project, then IDEasy applies project settings and installs or manages the configured tools. The CLI commandlet registry routes operations, while tool commandlets handle installation, versions, and execution; configuration can involve Git repositories and expressions. The GUI provides project/workspace selection and runs CLI commandlets with console and task feedback. The graph reflects documented product capabilities and the sampled sources; some CLI and tool-internal wiring is not shown where its caller was not sampled.
Main entry points: CommandletManagerImpl.java Commandlet registry · CreateCommandlet.java Project creation · ToolCommandlet.java Tool commandlets · NativePackageManager.java Native packages
Components 22
CLI orchestration
- IDEasy CLI
cli/src/main/java/com/devonfw/tools/ide/cli/Ideasy.java - Commandlet registry
cli/src/main/java/com/devonfw/tools/ide/commandlet/CommandletManagerImpl.java
Project setup
- Project creation
cli/src/main/java/com/devonfw/tools/ide/commandlet/CreateCommandlet.java - Git operations
cli/src/main/java/com/devonfw/tools/ide/git/GitContextImpl.java - Repository settings
cli/src/main/java/com/devonfw/tools/ide/git/repository/RepositoryCommandlet.java - Config expressions
cli/src/main/java/com/devonfw/tools/ide/expression/ExpressionFunctionManager.java
Tool management
- Tool installation
cli/src/main/java/com/devonfw/tools/ide/commandlet/InstallCommandlet.java - Tool commandlets
cli/src/main/java/com/devonfw/tools/ide/tool/ToolCommandlet.java - Native packages
cli/src/main/java/com/devonfw/tools/ide/tool/NativePackageManager.java - Version management
cli/src/main/java/com/devonfw/tools/ide/commandlet/VersionCommandlet.java - Environment updates
cli/src/main/java/com/devonfw/tools/ide/commandlet/update/UpdateCommandlet.java - Code rewriting
cli/src/main/java/com/devonfw/tools/ide/commandlet/RewriteCommandlet.java
Runtime services
- Environment resolution
cli/src/main/java/com/devonfw/tools/ide/environment/EnvironmentVariablesResolved.java - Process execution
cli/src/main/java/com/devonfw/tools/ide/process/ProcessContextImpl.java
Desktop GUI
- GUI application
gui/src/main/java/com/devonfw/ide/gui/App.java - Project/workspace state
gui/src/main/java/com/devonfw/ide/gui/core/context/GuiStateManager.java - GUI command runner
gui/src/main/java/com/devonfw/ide/gui/core/service/CommandletService.java - Task console
gui/src/main/java/com/devonfw/ide/gui/core/mainwindow/console/ConsoleController.java - Localization
gui/src/main/java/com/devonfw/ide/gui/core/service/NlsService.java
Other components
- Developer
- Package sources
- Operating system
Connections 22
- Developer → IDEasy CLI: invokes
- IDEasy CLI → Commandlet registry: dispatches
- Commandlet registry → Project creation: resolves command
- Project creation → Git operations: uses Git
- Project creation → Repository settings: applies settings
- Repository settings → Config expressions: resolves expressions
- Commandlet registry → Tool installation: resolves command
- Tool installation → Tool commandlets: installs tools
- Tool commandlets → Native packages: uses package manager
- Native packages → Operating system: runs package commands
- Native packages → Package sources: fetches packages
- Commandlet registry → Version management: resolves command
- Commandlet registry → Environment updates: resolves command
- Commandlet registry → Code rewriting: resolves command
- Tool commandlets → Process execution: runs processes
- Process execution → Environment resolution: uses variables
- Developer → GUI application: opens
- GUI application → Project/workspace state: creates state
- Project/workspace state → GUI command runner: provides context
- GUI command runner → Commandlet registry: resolves and runs
- GUI command runner → Task console: sends output
- Project/workspace state → Localization: creates service