Skip to main content

Programming Languages

Complete reference of programming languages supported by DgiDgi AI agents.

Script Execution

Languages that agents can execute directly via script tools.

Fully Supported

LanguageTool IDRuntimeFeatures
Pythonscript.pythonPython 3.xVirtual env, pip, poetry
JavaScriptscript.nodeNode.js 20+ESM, CommonJS
TypeScriptscript.nodeNode.js + ts-nodeType checking
Shell/Bashscript.shellbash/shUnix scripting
PowerShellscript.shellpwshWindows scripting
Goscript.gogo 1.21+go run, go build
Rustscript.rustrustc/cargocargo 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

LanguageServerFeatures
TypeScripttsserverDefinitions, references, hover, symbols
JavaScripttsserverDefinitions, references, hover, symbols
Pythonpylsp/pyrightDefinitions, references, hover, type info
GogoplsDefinitions, references, hover, implementations
Rustrust-analyzerDefinitions, references, hover, implementations
JavajdtlsDefinitions, references, hover
C/C++clangdDefinitions, references, hover

LSP Tools

ToolDescription
lsp.go_to_definitionJump to where symbol is defined
lsp.find_referencesFind all usages across codebase
lsp.hoverGet type info, docs, JSDoc
lsp.document_symbolsList all symbols in file
lsp.workspace_symbolsSearch symbols across project
lsp.go_to_implementationFind interface implementations
lsp.incoming_callsWhat calls this function
lsp.outgoing_callsWhat this function calls

Debugging (DAP)

Debug Adapter Protocol support for step debugging.

LanguageAdapterFeatures
Node.jsnode-debugBreakpoints, stepping, variables
PythondebugpyBreakpoints, stepping, variables
GodelveBreakpoints, stepping, variables
RustlldbBreakpoints, stepping, variables
Javajava-debugBreakpoints, stepping, variables
C++cppdbgBreakpoints, 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

ManagerLanguageCommands
npmNode.jsinstall, run, build, test
pnpmNode.jsinstall, run, build, test
yarnNode.jsinstall, run, build, test
pipPythoninstall, freeze
poetryPythoninstall, run, build
cargoRustbuild, run, test, publish
go modGoinit, tidy, download

Planned

ManagerLanguageStatus
composerPHPPlanned
gem/bundlerRubyPlanned
mavenJavaPlanned
gradleJava/KotlinPlanned
nugetC#/.NETPlanned
mixElixirPlanned
cabal/stackHaskellPlanned

Planned Language Additions

High Priority

LanguageUse CaseNotes
PHPWeb developmentLaravel, WordPress, Drupal
RubyWeb developmentRails, scripting
JavaEnterpriseSpring, Android
C#Enterprise.NET, Unity

Medium Priority

LanguageUse CaseNotes
RData scienceStatistics, visualization
JuliaScientificHigh-performance computing
ScalaBig dataSpark, Akka
KotlinMobileAndroid, JVM

Future Consideration

LanguageUse CaseNotes
PerlText processingLegacy systems
LuaEmbeddedGame scripting
ElixirDistributedPhoenix, real-time
ClojureFunctionalJVM Lisp
HaskellFunctionalType-safe
OCamlFunctionalCompiler development
ZigSystemsC replacement
NimSystemsPython-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

FrameworkLanguageStatus
ReactTypeScript/JavaScriptSupported
VueTypeScript/JavaScriptSupported
AngularTypeScriptSupported
SvelteTypeScript/JavaScriptSupported
Next.jsTypeScript/JavaScriptSupported
NuxtTypeScript/JavaScriptSupported
ExpressJavaScriptSupported
FastifyTypeScriptSupported
DjangoPythonSupported
FlaskPythonSupported
FastAPIPythonSupported
GinGoSupported
EchoGoSupported
ActixRustSupported
AxumRustSupported

Planned Frameworks

FrameworkLanguageStatus
LaravelPHPPlanned
SymfonyPHPPlanned
RailsRubyPlanned
Spring BootJavaPlanned
ASP.NETC#Planned
PhoenixElixirPlanned