
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
prompt-language-shell
Advanced tools
Your personal command-line concierge. Ask politely, and it gets things done.
Your personal command-line concierge. Ask politely, and it gets things done.
npm install -g prompt-language-shell
On first run, pls walks you through a quick setup.
Your settings will be saved to ~/.plsrc.
Type pls followed by your request in natural language.
To see what pls can do, start by listing available capabilities:
$ pls list skills
Here's what I can help with:
- Introspect - list available capabilities and skills
- Configure - manage and configure system settings
- Answer - respond to questions and provide information
- Execute - run shell commands and process operations
Skills are custom workflows you can define to teach pls about your specific
projects and commands. Once defined, you can use them naturally:
$ pls convert video.mp4
Here's my plan.
- Compress video.mp4 with H.264 codec
You can provide multiple requests at once:
$ pls backup photos, compress and upload
Here's what I'll do.
- Copy photos to backup folder
- Create zip archive
- Upload to cloud storage
When pls needs clarification, it will present options to choose from:
$ pls deploy
Let me clarify.
→ Choose which environment to deploy to:
- Deploy to staging
- Deploy to production
Run pls without arguments to see the welcome screen.
When you make a request, pls interprets your intent and creates a structured
plan breaking down the work into individual tasks. You'll see this schedule
displayed in your terminal before anything executes.
After reviewing the schedule, you can confirm to proceed or cancel if something
doesn't look right. Once confirmed, pls executes each task sequentially and
shows real-time progress and results.
If you've defined custom skills, pls uses them to understand your
project-specific workflows and translate high-level requests into the exact
commands your environment requires.
Your configuration is stored in ~/.plsrc as a YAML file:
# Mandatory
anthropic:
key: sk-ant-...
model: claude-...
# Optional
settings:
memory: 1024 # Child process memory limit (MB)
debug: none # none | info | verbose
# Custom
project:
path: ~/projects/app
Skills can define their own configuration properties via a Config section. When
a skill requires config values that don't exist, pls prompts you to provide
them before execution. See Skills for details.
Press Shift+Tab during execution to cycle through debug levels
(none → info → verbose).
Logs are saved to ~/.pls/logs/ when debug is info or verbose.
~/.plsrc # Configuration
~/.pls/skills/ # Custom skills
~/.pls/logs/ # Debug logs
Skills let you teach pls about your project-specific workflows. Create
markdown files in ~/.pls/skills/ to define custom operations that
pls can understand and execute.
The easiest way to create a new skill is with the guided walkthrough:
$ pls learn
Creating a new skill...
Skill name (e.g., "Deploy Project"):
> Build Frontend
Description (min 20 characters):
> Build the frontend application using npm
Step 1 - What does this step do?
> Install dependencies
How should this step be executed?
> shell command
Enter the shell command:
> npm install
Add another step?
> yes
...
The walkthrough guides you through defining:
Skills are saved to ~/.pls/skills/ as markdown files. File names use
kebab-case (e.g., "Build Frontend" becomes build-frontend.md).
For complete documentation, see docs/SKILLS.md.
Each skill file uses a simple markdown format:
Here's a skill for building a product from source:
### Name
Build Product
### Description
Build a product from source. Handles the full compilation pipeline.
The company maintains two product lines:
- Stable: the flagship product
- Beta: the experimental product
If the user says "just compile" or "recompile", dependency installation and
tests MUST be skipped. Tests MUST also be skipped if the user says "without
tests". Deployment MUST only run if the user explicitly asks. Compile and
package steps are MANDATORY.
### Steps
- Navigate to the project directory
- Install build dependencies
- Run the test suite
- Compile source code
- Package build artifacts
- Deploy to server
### Execution
- [ Navigate To Project ]
- ./configure && make deps
- make test
- make build
- make package
- ./scripts/deploy.sh
The [ Navigate To Project ] reference invokes another skill by name. When pls
plans this workflow, it expands the reference inline, inserting that skill's
execution steps at this position. This lets you compose complex workflows from
simpler, reusable skills. Here's what that skill might look like:
### Name
Navigate To Project
### Description
The company maintains two product lines:
- Stable: the flagship product
- Beta: the experimental product
### Aliases
- go to project
- navigate to repo
### Config
project:
stable:
path: string
beta:
path: string
### Steps
- Navigate to project directory
### Execution
- cd {project.PRODUCT.path}
The {project.PRODUCT.path} placeholder uses config values from ~/.plsrc. The
PRODUCT is matched from user intent (e.g., "build stable" resolves to
project.stable.path).
The Description tells pls when to skip optional steps. This lets you say:
$ pls build stable
- Navigate to the Stable directory
- Install build dependencies
- Run the test suite
- Compile source code
- Package build artifacts
Here "stable" matches the PRODUCT, so pls looks up project.stable.path in your
config. All steps run except deploy (not requested). When iterating quickly:
$ pls just recompile experimental
- Navigate to the Beta directory
- Compile source code
- Package build artifacts
Now "experimental" resolves to project.beta.path. And when you're ready to ship:
$ pls build and deploy main
- Navigate to the Stable directory
- Install build dependencies
- Run the test suite
- Compile source code
- Package build artifacts
- Deploy to server
The same skill handles all cases based on your intent, something an alias or script can't do. Skills are fully dynamic: you can add new variants, change step conditions, or introduce new options anytime by editing the markdown file - no code changes required.
See CLAUDE.md for development guidelines and architecture.
FAQs
Your personal command-line concierge. Ask politely, and it gets things done.
We found that prompt-language-shell 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
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.