Programming Languages
Complete reference of programming languages supported by DgiDgi One agents.
Script Execution
Languages that agents can execute directly via script tools.
Fully Supported
| Language | Tool ID | Runtime | Features |
|---|---|---|---|
| Python | script.python | Python 3.x | Virtual env, pip, poetry |
| JavaScript | script.node | Node.js 20+ | ESM, CommonJS |
| TypeScript | script.node | Node.js + ts-node | Type checking |
| Shell/Bash | script.shell | bash/sh | Unix scripting |
| PowerShell | script.shell | pwsh | Windows scripting |
| Go | script.go | go 1.21+ | go run, go build |
| Rust | script.rust | rustc/cargo | cargo run, cargo build |
Cross-Platform Execution
All script executors handle cross-platform differences:
// Windows: Scripts/python.exe
// Unix: bin/python
const binDir = isWindows ? "Scripts" : "bin";
// Windows: PowerShell default
// Unix: bash default
const defaultShell = isWindows ? "powershell" : "bash";
Code Intelligence (LSP)
Full IDE-like features via Language Server Protocol.
Supported Languages
| Language | Server | Features |
|---|---|---|
| TypeScript | tsserver | Definitions, references, hover, symbols |
| JavaScript | tsserver | Definitions, references, hover, symbols |
| Python | pylsp/pyright | Definitions, references, hover, type info |
| Go | gopls | Definitions, references, hover, implementations |
| Rust | rust-analyzer | Definitions, references, hover, implementations |
| Java | jdtls | Definitions, references, hover |
| C/C++ | clangd | Definitions, references, hover |
LSP Tools
| Tool | Description |
|---|---|
lsp.go_to_definition | Jump to where symbol is defined |
lsp.find_references | Find all usages across codebase |
lsp.hover | Get type info, docs, JSDoc |
lsp.document_symbols | List all symbols in file |
lsp.workspace_symbols | Search symbols across project |
lsp.go_to_implementation | Find interface implementations |
lsp.incoming_calls | What calls this function |
lsp.outgoing_calls | What this function calls |
Debugging (DAP)
Debug Adapter Protocol support for step debugging.
| Language | Adapter | Features |
|---|---|---|
| Node.js | node-debug | Breakpoints, stepping, variables |
| Python | debugpy | Breakpoints, stepping, variables |
| Go | delve | Breakpoints, stepping, variables |
| Rust | lldb | Breakpoints, stepping, variables |
| Java | java-debug | Breakpoints, stepping, variables |
| C++ | cppdbg | Breakpoints, stepping, variables |
Syntax Highlighting
Code parsing and syntax highlighting for display.
Fully Supported
typescript, javascript, python, java, go, rust, c, cpp, csharp,
ruby, php, swift, kotlin, scala, shell, bash, powershell,
sql, html, css, scss, less, json, yaml, xml, markdown,
dockerfile, makefile, toml, ini, graphql
Package Managers
Supported
| Manager | Language | Commands |
|---|---|---|
| npm | Node.js | install, run, build, test |
| pnpm | Node.js | install, run, build, test |
| yarn | Node.js | install, run, build, test |
| pip | Python | install, freeze |
| poetry | Python | install, run, build |
| cargo | Rust | build, run, test, publish |
| go mod | Go | init, tidy, download |
Planned
| Manager | Language | Status |
|---|---|---|
| composer | PHP | Planned |
| gem/bundler | Ruby | Planned |
| maven | Java | Planned |
| gradle | Java/Kotlin | Planned |
| nuget | C#/.NET | Planned |
| mix | Elixir | Planned |
| cabal/stack | Haskell | Planned |
Planned Language Additions
High Priority
| Language | Use Case | Notes |
|---|---|---|
| PHP | Web development | Laravel, WordPress, Drupal |
| Ruby | Web development | Rails, scripting |
| Java | Enterprise | Spring, Android |
| C# | Enterprise | .NET, Unity |
Medium Priority
| Language | Use Case | Notes |
|---|---|---|
| R | Data science | Statistics, visualization |
| Julia | Scientific | High-performance computing |
| Scala | Big data | Spark, Akka |
| Kotlin | Mobile | Android, JVM |
Future Consideration
| Language | Use Case | Notes |
|---|---|---|
| Perl | Text processing | Legacy systems |
| Lua | Embedded | Game scripting |
| Elixir | Distributed | Phoenix, real-time |
| Clojure | Functional | JVM Lisp |
| Haskell | Functional | Type-safe |
| OCaml | Functional | Compiler development |
| Zig | Systems | C replacement |
| Nim | Systems | Python-like syntax |
File Type Detection
Automatic language detection by file extension.
const languageMap = {
".ts": "typescript",
".tsx": "typescript",
".js": "javascript",
".jsx": "javascript",
".mjs": "javascript",
".cjs": "javascript",
".py": "python",
".java": "java",
".go": "go",
".rs": "rust",
".c": "c",
".cpp": "cpp",
".cc": "cpp",
".h": "c",
".hpp": "cpp",
".cs": "csharp",
".rb": "ruby",
".php": "php",
".swift": "swift",
".kt": "kotlin",
".scala": "scala",
".sh": "shell",
".bash": "shell",
".ps1": "powershell",
".sql": "sql",
".html": "html",
".css": "css",
".scss": "scss",
".json": "json",
".yaml": "yaml",
".yml": "yaml",
".xml": "xml",
".md": "markdown",
".dockerfile": "dockerfile",
".makefile": "makefile",
};
Framework Support
Web Frameworks
| Framework | Language | Status |
|---|---|---|
| React | TypeScript/JavaScript | Supported |
| Vue | TypeScript/JavaScript | Supported |
| Angular | TypeScript | Supported |
| Svelte | TypeScript/JavaScript | Supported |
| Next.js | TypeScript/JavaScript | Supported |
| Nuxt | TypeScript/JavaScript | Supported |
| Express | JavaScript | Supported |
| Fastify | TypeScript | Supported |
| Django | Python | Supported |
| Flask | Python | Supported |
| FastAPI | Python | Supported |
| Gin | Go | Supported |
| Echo | Go | Supported |
| Actix | Rust | Supported |
| Axum | Rust | Supported |
Planned Frameworks
| Framework | Language | Status |
|---|---|---|
| Laravel | PHP | Planned |
| Symfony | PHP | Planned |
| Rails | Ruby | Planned |
| Spring Boot | Java | Planned |
| ASP.NET | C# | Planned |
| Phoenix | Elixir | Planned |