
Security News
vlt 1.5.0 Adds Agent Skills Management
vlt 1.5.0 links skills from JavaScript dependencies to coding agents, with lockfile versioning and Socket data to filter out known malicious packages.
Post and delete tweets from the terminal using the official X API v2 with OAuth 1.0a user tokens.
Commands:
x-postx-deletenpm install -g x-api-cli
x-post --help
x-delete --help
brew tap eliaseffects/tap
brew install x-api-cli
git clone https://github.com/eliaseffects/x-api-cli.git
cd x-api-cli
npm install
npm link
You need an X developer app with read/write access and user access tokens (OAuth 1.0a). Get them from the X Developer Portal: https://developer.x.com/en/portal/dashboard
export X_API_KEY="your-consumer-key"
export X_API_SECRET="your-consumer-secret"
export X_ACCESS_TOKEN="your-access-token"
export X_ACCESS_SECRET="your-access-token-secret"
All 4 variables must be set together.
Create a JSON file with:
{
"consumerKey": "your-consumer-key",
"consumerSecret": "your-consumer-secret",
"accessToken": "your-access-token",
"accessTokenSecret": "your-access-token-secret"
}
Then use one of these options:
# Explicit path
x-post --config ./secrets/x-api.json "hello from config"
# Or env var
export X_API_CONFIG="./secrets/x-api.json"
Search order for config files:
--config <path>$X_API_CONFIG./x-api.json./.x-api.json~/.config/x-api.jsonOptional legacy support (only if you set X_API_USE_LEGACY_PATHS=1):
~/.clawdbot/secrets/x-api.json# Post
x-post "Hello world from CLI"
# Reply
x-post "Replying to this" --reply-to 1234567890
# Quote by tweet ID
x-post "Read this thread" --quote 1234567890
# Quote by URL
x-post "Read this thread" --quote-url https://x.com/user/status/1234567890
# Delete one or many
x-delete 1234567890
x-delete 1234567890 2345678901 3456789012
# Text that begins with a dash
x-post -- "--not-a-flag"
# Help
x-post --help
x-delete --help
--help always exits with status 0 and no API requests.1 and clear usage guidance.x-delete exits non-zero when any deletion fails.No credentials found
Set the env vars or create one of the supported config files.403/401 from X API
Your app/tokens likely lack write permissions, are expired, or are from a different app.Invalid tweet ID
Tweet IDs must be numeric. Use --quote-url if you have a URL.npm test
Tests cover parsing, credential resolution, and edge cases in test/x-cli-common.test.mjs.
x-api.json and .x-api.json are ignored by default.Releasing (SemVer tags):
npm version patch
git push origin HEAD --follow-tags
GitHub Actions runs .github/workflows/release.yml and publishes to npm.
Trusted publishing:
eliaseffects/x-api-cli with workflow release.yml.NPM_TRUSTED_PUBLISHING=trueNPM_TOKEN after bootstrap.MIT
FAQs
Node.js CLI for posting and deleting tweets with X API v2 using OAuth 1.0a.
We found that x-api-cli 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
vlt 1.5.0 links skills from JavaScript dependencies to coding agents, with lockfile versioning and Socket data to filter out known malicious packages.

Security News
Rust 1.100 will add opt-in dependency cooldowns to Cargo, giving security scanners and maintainers time to catch malicious crate releases.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.