Getting Started
This page takes you from a clean machine to a running daslang program, with editor support and AI-assistant tooling wired in.
Build the compiler
You need git, CMake, and a C++ compiler for your platform (MSVC, clang, or gcc):
git clone https://github.com/GaijinEntertainment/daScript
cd daScript
cmake -B build
cmake --build build --config Release -j
The compiler lands at bin/Release/daslang.exe (Windows / MSVC
multi-config), or bin/daslang / build/daslang (Make and Ninja
single-config layouts). The rest of this page writes daslang for
whichever of those you have; adding it to PATH or a shell alias
makes that literal.
Hello, world
options gen2
[export]
def main() {
print("hello, world\n")
}
Save as hello_world.das and run:
daslang hello_world.das
The [export] annotation makes main callable from outside the
compiled context — entry points need it. options gen2 selects the
current syntax generation; all documentation and new code use it.
From here the fastest tour of the language is the tutorial series — start at Tutorials and read in order, or jump straight to the reference manual and the standard library.
Editor support: VSCode
The best supported editor is VSCode with the
daScript language support
extension — language server, linting, debugging, and snippets.
Install it from the marketplace and point
dascript.compiler at your daslang binary. If autocompletion seems
unresponsive, raise the dascript.server.connectTimeout setting
(10 s, or 20 s for a Debug-build compiler).
AI assistants: MCP server
The daslang MCP server gives AI coding assistants (Claude Code and any other Model Context Protocol client) compiler-backed tools: compile checks, go-to-definition, find-references, parse-aware grep, AST dumps, test running, live-reload control, and more.
Configure it in .mcp.json at the project root:
{
"mcpServers": {
"daslang": {
"command": "bin/Release/daslang.exe",
"args": ["utils/mcp/main.das"],
"defer_loading": false
}
}
}
(on Linux/macOS point command at your binary, e.g.
bin/daslang), or add it via the CLI:
claude mcp add daslang -- bin/Release/daslang.exe utils/mcp/main.das
The assistant starts and stops the server automatically with each session. The full tool table, C++-side search tools, and Windows/MSVC environment notes are in MCP Server — AI Tool Integration.
AI assistants: LSP server
The daslang LSP server complements the MCP tools
with push diagnostics: after every edit of a .das file the
compiler (and the lint passes) report errors and warnings into the
assistant’s context automatically — no explicit tool call — plus
native definition / references / hover / symbols / call hierarchy /
implementation navigation. It needs only the daslang binary and
Python 3.
Claude Code sessions started at the repository root (or an installed
SDK root) load it automatically via the checked-in
.claude/skills/daslang-lsp/ plugin manifest. From any other
directory:
claude --plugin-dir /abs/path/to/daScript/utils/lsp/plugin
Any other stdio LSP client can spawn it directly as
python3 utils/lsp/lsp_supervisor.py. Configuration options and
architecture notes are in LSP Server — Editor & AI Diagnostics.
Next steps
Tutorials — runnable, self-contained walkthroughs from hello-world to macros and C++ integration.
Reference manual — the language, embedding, and tooling documentation.
Standard library — every builtin and daslib module.