Getting Started
IDE Setup
Configure your development environment
VS Code / Cursor Extensions
Install these extensions for the best development experience:
| Extension | Purpose |
|---|---|
| rust-analyzer | Rust language support with IntelliSense |
| Biome | Fast linter and formatter for JavaScript/TypeScript |
| C/C++ | C++ language support for native modules |
| Even Better TOML | Syntax highlighting for Cargo.toml |
Install Command
code --install-extension rust-lang.rust-analyzer
code --install-extension biomejs.biome
code --install-extension ms-vscode.cpptools
code --install-extension tamasfe.even-better-tomlRust Toolchain
The project uses rust-toolchain.toml to pin the Rust version:
[toolchain]
channel = "stable"
components = ["rustfmt", "clippy"]This ensures all developers use the same Rust version. The toolchain is automatically installed when you run any cargo command.
Workspace Settings
Create .vscode/settings.json with recommended settings:
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "biomejs.biome",
"[rust]": {
"editor.defaultFormatter": "rust-lang.rust-analyzer",
"editor.formatOnSave": true
},
"[toml]": {
"editor.defaultFormatter": "tamasfe.even-better-toml"
},
"rust-analyzer.checkOnSave": true,
"rust-analyzer.check.command": "clippy",
"files.watcherExclude": {
"**/target/**": true,
"**/node_modules/**": true,
"**/.next/**": true
}
}TypeScript Settings
The project includes tsconfig.json with strict type checking. Ensure your editor recognizes it:
- Path aliases:
@/*maps tosrc/* - Strict mode enabled
- Next.js plugin configured
Debugging
VS Code Launch Configurations
Create .vscode/launch.json:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Next.js Dev",
"runtimeExecutable": "bun",
"runtimeArgs": ["run", "dev"],
"console": "integratedTerminal"
},
{
"type": "lldb",
"request": "launch",
"name": "Debug Rust API",
"cargo": {
"args": ["build", "-p", "exfil-api"],
"filter": {
"name": "exfil-api",
"kind": "bin"
}
},
"cwd": "${workspaceFolder}"
}
]
}