
Security News
pnpm 12’s Rust Rewrite Cuts Install Times by Up to 90%
pnpm 12 rewrites the package manager in Rust, cutting install times by up to 90% while preserving pnpm 11 workflows and lockfiles.
opencode-ddev
Advanced tools
DDEV Plugin for OpenCode - Automatically detects DDEV availability and wraps bash commands to execute inside the DDEV container.
ddev describe -j for structured JSON outputddev exec for container executionddev_logs tool for retrieving logs from DDEV servicesAdd to your opencode.json or ~/.config/opencode/opencode.json:
{
"plugin": ["opencode-ddev"]
}
OpenCode auto-installs plugins on startup.
Force update to latest:
rm -rf ~/.cache/opencode
Then restart OpenCode.
Once installed, the plugin will:
Example commands that will be automatically wrapped:
ls -la → ddev exec --dir="/var/www/html" bash -c "ls -la"npm install → ddev exec --dir="/var/www/html" bash -c "npm install"Host paths in commands are automatically converted to container-compatible paths before wrapping with ddev exec:
| Input | Output | Notes |
|---|---|---|
mkdir /Users/foo/project/src | ddev exec ... "mkdir src" | Current dir path → relative |
cd /Users/foo/project && ls | ddev exec ... "ls" | Redundant cd removed |
cat /Users/foo/project/themes/style.css | ddev exec ... "cat /var/www/html/themes/style.css" | Other paths → container paths |
The plugin checks DDEV status using ddev describe -j to determine if a project exists and whether it's running. Results are cached for 2 minutes when DDEV is running to avoid repeated checks. Stopped or unavailable states are not cached and will be re-checked on every bash command to detect when DDEV starts.
Bash tool commands that run on host (not wrapped):
gitghdockerddevThe plugin provides custom tools that are registered when a DDEV project is detected:
ddev_logs ToolRetrieve logs from DDEV services for debugging and monitoring.
Arguments:
service (optional): Service to get logs from (e.g., 'web', 'db'). Defaults to 'web'.follow (optional): Follow logs in real-time (stream as they appear). Cannot be used with tail.tail (optional): Number of lines to show from the end of logs. Defaults to 50 lines if not specified. Mutually exclusive with follow.time (optional): Add timestamps to log output.Default Behavior:
follow nor tail is specified, returns the last 50 lines to prevent context pollution.Examples:
// Get last 50 lines from web service (default)
ddev_logs()
// Get last 100 lines from database service
ddev_logs({ service: "db", tail: 100 })
// Follow web service logs in real-time with timestamps
ddev_logs({ follow: true, time: true })
FAQs
Adds context about ddev setup and improves command calling
The npm package opencode-ddev receives a total of 12 weekly downloads. As such, opencode-ddev popularity was classified as not popular.
We found that opencode-ddev demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
pnpm 12 rewrites the package manager in Rust, cutting install times by up to 90% while preserving pnpm 11 workflows and lockfiles.

Security News
Socket CTO Ahmad Nassri joins AppSec leaders at Black Hat to discuss active malware, package manager risks, and software supply chain defense.

Research
/Security News
Thirteen malicious Packagist themes expose visitors on unpatched iPhones to a WebKit-to-kernel exploit chain that steals device data and wallet seeds.