SuperAPI AI Directory

tauri-app-shell

Coding & development

View repository

Updated 10-16 07:53

About this skill

When to use this skill

ALWAYS use this skill when the user mentions:

  • Executing system commands from a Tauri app
  • Shell plugin permissions and command allowlists
  • Opening external URLs via shell (alternative to opener plugin)

Trigger phrases include:

  • "shell", "execute command", "spawn process", "allow-execute", "system command"

How to use this skill

  1. Install the shell plugin:
    cargo add tauri-plugin-shell
    
  2. Register the plugin in your Tauri builder:
    tauri::Builder::default()
        .plugin(tauri_plugin_shell::init())
    
  3. Configure strict allowlists in src-tauri/capabilities/default.json:
    {
      "permissions": [
        {
          "identifier": "shell:allow-execute",
          "allow": [{ "name": "git", "cmd": "git", "args": ["status"] }]
        },
        "shell:allow-open"
      ]
    }
    
  4. Execute commands from the frontend:
    import { Command } from '@tauri-apps/plugin-shell';
    const output = await Command.create('git', ['status']).execute();
    console.log('stdout:', output.stdout);
    
  5. CRITICAL: Apply strict allowlists -- the shell plugin is high-risk; never allow arbitrary command execution
  6. Use regex constraints on arguments when dynamic input is needed, and validate all user-provided args

Outputs

  • Shell plugin setup with strict command allowlists
  • Command execution pattern with output handling
  • Security-first configuration (this is a high-risk plugin)

References

Keywords

tauri shell, execute command, spawn process, allow-execute, system command, security