ExfilGuardian
Getting Started

IDE Setup

Configure your development environment

VS Code / Cursor Extensions

Install these extensions for the best development experience:

ExtensionPurpose
rust-analyzerRust language support with IntelliSense
BiomeFast linter and formatter for JavaScript/TypeScript
C/C++C++ language support for native modules
Even Better TOMLSyntax 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-toml

Rust 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 to src/*
  • 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}"
    }
  ]
}

On this page