🤝 Contribute

Help build the best free Twitter toolkit

XActions is open source (MIT license) and community-driven. Every contribution matters.

⭐ Star on GitHub

🎯 Why Contribute?

Learn cutting-edge tech — browser automation, MCP protocol, AI integration, Puppeteer, Express.js, Prisma.
Get credited — every contributor is credited in the changelog and README.
Build your portfolio — contribute to a project used by thousands of people worldwide.
Shape the product — your features and ideas go directly into the next release.

🛠️ Ways to Contribute

🐛

Report Bugs

Found something broken? Open an issue.

💡

Request Features

Have an idea? We'd love to hear it.

🔧

Submit Code

Fix bugs, add features, improve tests.

📝

Improve Docs

Tutorials, examples, translations.

🎨

Design & UI

Enhance the dashboard and extension.

📢

Spread the Word

Star, share, tweet, write about it.

🔧 Submit a Pull Request

1

Fork & Clone

Fork github.com/nirholas/XActions and clone your fork locally.

2

Create a Branch

git checkout -b feature/your-feature — use descriptive branch names.

3

Install & Develop

npm installcp .env.example .envnpx prisma generatenpm run dev

4

Make Changes

Write clear code with comments. Follow existing patterns: const over let, async/await, data-testid selectors.

5

Submit PR

Push your branch and open a Pull Request. Link related issues. Maintainers aim to respond within 48 hours.

🏷️ Good First Issues

New to the project? Start with issues labeled "good first issue" — they're beginner-friendly tasks hand-picked by maintainers.

Browse Good First Issues →

📁 Project Structure

xactions/
├── src/           → Core scripts, automation, MCP server, CLI
├── api/           → Express.js backend (routes, services, middleware)
├── dashboard/     → Static HTML frontend (dark theme, Twitter-style)
├── scripts/       → Standalone utility scripts (40+)
├── skills/        → 31 Agent Skill definitions
├── docs/          → Documentation, examples, tutorials
├── prisma/        → Database schema (PostgreSQL)
├── extension/     → Browser extension (Chrome/Edge)
├── bin/           → CLI entry point (xactions)
└── tests/         → Test suite

🎨 Code Style

  • const over let, async/await over callbacks
  • Prefer data-testid selectors for DOM queries
  • Use emojis in console.log messages (🚀, ✅, ❌, ⏳)
  • Author credit: // by nichxbt
  • Small, focused PRs — one feature or fix per PR
  • Include 1–3 second delays in any automation scripts