
Security News
TypeScript 6.0 Released: The Final JavaScript-Based Version
TypeScript 6.0 introduces new standard APIs, modern default settings, and deprecations as it prepares projects for the upcoming TypeScript 7.0 release.
Safe Coder is a configuration package for the [`pi` coding agent](https://github.com/badlogic/pi) that adds **safety guardrails** and **project-specific skills** to reduce risky operations while you code with an AI assistant.
Safe Coder is a configuration package for the pi coding agent that adds safety guardrails and project-specific skills to reduce risky operations while you code with an AI assistant.
This project is meant to be used as a dependency or a template: you point pi at this package, and it will load its extensions and skills automatically.
bash tool calls that look dangerous, such as:
rm -rf, recursive removesudo commandschmod / chown with 777read, write, edit) when they target paths outside the current working directory where pi was started, unless you explicitly allow them.~/), or ../-style traversal and asks for confirmation..env files (no read, write, or edit allowed via tools)..git/ and node_modules/.skills/skills.txt reference that documents how pi discovers and uses Agent Skills.package.json
safe-coder.pi to load from:
./extensions./skills./prompts./themesextensions/permission-gate.ts
pi extension that listens to tool_call events and:
ctx.ui.select to ask the user whether to allow or block the call.extensions/protected-paths.ts
pi extension that:
.env paths.write and edit tool calls into .git/ and node_modules/.skills/
skills.txt, which documents how Agent Skills work and how pi discovers and validates them.@mariozechner/pi-coding-agent).pnpm as package manager (see packageManager field in package.json).pi coding agent installed and available on your system.You can add this project to another workspace or clone it as a starting point.
git clone <this-repo-url> safe-coder
cd safe-coder
pnpm install # if you add dependencies later
Because this package primarily provides configuration, there are no runtime scripts defined apart from the default test placeholder.
piPoint pi at this project so it can load its extensions and skills. For example, from the project root:
cd /path/to/safe-coder
pi .
When pi starts:
pi.extensions entry in package.json and loads:
extensions/permission-gate.tsextensions/protected-paths.tspi.skills entry and any SKILL.md/skill files under skills/.You will then see:
extensions/permission-gate.ts to add or refine regex patterns for dangerous commands or external paths.extensions/protected-paths.ts and update the protectedPaths array or the .env handling logic.skills/ following the Agent Skills format (each with a SKILL.md file and optional scripts/docs).// @ts-nocheck for simplicity. You can progressively add types and strictness as needed.pi extension best practices to keep new skills and extensions small, focused, and easy to review for safety.FAQs
Safe Coder is a configuration package for the [`pi` coding agent](https://github.com/badlogic/pi) that adds **safety guardrails** and **project-specific skills** to reduce risky operations while you code with an AI assistant.
We found that safe-coder 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.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
TypeScript 6.0 introduces new standard APIs, modern default settings, and deprecations as it prepares projects for the upcoming TypeScript 7.0 release.

Security News
/Research
Newly published Trivy Docker images (0.69.4, 0.69.5, and 0.69.6) were found to contain infostealer IOCs and were pushed to Docker Hub without corresponding GitHub releases.

Research
/Security News
The worm-enabled campaign hit @emilgroup and @teale.io, then used an ICP canister to deliver follow-on payloads.