OpenCode plugin to add external directories to session context
npm install opencode-add-dirAdd external directories to your OpenCode session context with automatic permission approval.
1. Install the plugin:
``bash`
cd ~/.config/opencode
npm install opencode-add-dir
2. Add "opencode-add-dir" to your ~/.config/opencode/opencode.jsonc plugins array:
`jsonc`
{
"plugin": [
"your-other-plugins",
"opencode-add-dir"
]
}
3. Restart OpenCode
4. Use the command:
`bash`
/add-dir /path/to/your/project
- Zero Configuration: Works immediately after installation
- Auto Permission: No permission prompts for directories you add
- Smart Filtering: Automatically skips node_modules, .git, binary files, etc.
- Recursive Scanning: Reads entire directory structures
- File Limits: 100KB per file, 500 files max (to prevent overwhelm)
- Full Access: Read and write to added directories
1. /add-dir scans the directory and adds all files to context
2. Directory path is automatically registered for future access
3. Any operations on that directory skip permission prompts
4. Works recursively - all subdirectories are auto-approved
`bashAdd a project directory
/add-dir ~/projects/my-app
What Gets Filtered
$3
- node_modules
- .git
- dist, build
- .next
- __pycache__
- Virtual environments (.venv, venv, env)
- .env, .env.*
- coverage
- .nuxt, .output
- tmp, temp, .turbo$3
Images, PDFs, Office docs, archives, media files, executables, compiled files, etc.Installation Details
The plugin's postinstall script automatically:
1. Finds your OpenCode config directory (
~/.config/opencode/)
2. Creates the /add-dir command file
3. Installs it to ~/.config/opencode/command/add-dir.md$3
If the
/add-dir command doesn't work after installation:1. Verify the command file exists:
`bash
ls -la ~/.config/opencode/command/add-dir.md
`2. If missing, create it manually:
`bash
mkdir -p ~/.config/opencode/command
cat > ~/.config/opencode/command/add-dir.md << 'EOF'
---
description: Add an external directory to the session context
---
Add the directory at path $ARGUMENTS to this session's context.
Use the add_dir tool to read all files from the specified directory.
EOF
`Development
For contributors and maintainers:
`bash
Clone the repository
git clone https://github.com/kuzeofficial/add-dir-opencode.git
cd opencode-add-dirInstall dependencies
bun installBuild the TypeScript source
bun run buildTest locally
npm link
cd ~/.config/opencode
npm link opencode-add-dirPublish new version
npm version patch # or minor/major
npm publish
`Files
-
src/index.ts - Main plugin with permission auto-approval
- command/add-dir.md - Command definition (auto-installed)
- scripts/install.js - Post-install script (auto-runs)
- package.json` - NPM package configurationMIT