
Research
/Security News
OpenAPI React Query Codegen Compromised in Mini Shai-Hulud npm Supply Chain Attack
Ten malicious OpenAPI React Query Codegen versions were published to npm in the Mini Shai-Hulud attack, all with valid provenance.
opencode-ddev
Advanced tools
DDEV Plugin for OpenCode - Detects DDEV availability and provides optional container execution guidance.
ddev describe -j for structured JSON outputddev exec exampleddev exec when you need container contextddev_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:
ddev_logs when a DDEV project is detectedIf you need a command to run inside the container, execute it manually:
ddev exec --dir="/var/www/html" bash -c "composer install"The --dir value in the context message reflects your current working directory mapped into the container.
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.
The plugin ships with a bundled DDEV agent skill in skills/ddev/. It teaches the AI agent how to work with DDEV projects, including:
ddev composer, ddev npm, ddev wp, ddev drush, ddev artisan, ddev console, etc.ddev exec --dir for targeting specific container pathswp-content/plugins/my-plugin inside a WordPress site)The skill includes a resolve-ddev-root.sh script that walks up the directory tree to find the DDEV project root and computes the matching container path. It is excluded from the npm package via .npmignore.
The 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
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.

Research
/Security News
Ten malicious OpenAPI React Query Codegen versions were published to npm in the Mini Shai-Hulud attack, all with valid provenance.

Security News
Socket joins more than 100 technology, cybersecurity, and financial organizations calling for a global surge in cyber defense.

Product
Enterprise security teams can now detect malware, credential theft, suspicious network activity, and risky updates across Microsoft Edge extensions.