A shared space where we build, learn, and grow together — one project at a time.
JS-Projects is a collaborative monorepo where a group of developers come together to build JavaScript/Node.js projects, sharpen their skills, and learn from each other. Every project lives in its own dedicated folder inside this repo.
Whether you're building a CLI tool, a web scraper, a REST API, a game, or any creative idea — there's a folder here waiting for you.
JS-Projects/
│
├── cli_utility_toolKit/ ✅ CLI Toolkit (by @wasiif)
│ ├── index.js
│ ├── package.json
│ └── README.md
│
├── your-project-name/ ← Your next project goes here!
│ ├── index.js
│ ├── package.json
│ └── README.md
│
├── package.json ← Root package (shared dependencies)
└── README.md ← You are here
📌 Rule #1: Every project gets its own folder. Never drop files in the root of the repo.
| # | Project | Description | Author | Status |
|---|---|---|---|---|
| 1 | cli_utility_toolKit |
A collection of useful CLI utilities built with Node.js | @wasiif | 🟢 Active |
| — | Your Project | Add yours! | — | — |
git clone https://github.com/wasiif/JS-Projects.git
cd JS-Projectsnpm installmkdir my-awesome-project
cd my-awesome-project
npm init -yName your folder in kebab-case:
todo-cli,weather-app,quiz-game✅
Not like:MyProject,myproject,my project❌
Every project folder must have its own README.md that explains:
- What the project does
- How to install and run it
- Any dependencies it needs
We follow a simple feature branch workflow:
main ← stable, production-ready code only
└── feature/your-name-project-name ← your work-in-progress
# Always branch off from the latest main
git checkout main
git pull origin main
# Create your feature branch
git checkout -b feature/wasiif-cli-toolkit| Type | Pattern | Example |
|---|---|---|
| New project | feature/name-project |
feature/ali-weather-app |
| Bug fix | fix/name-issue |
fix/sara-login-bug |
| Improvement | improve/name-what |
improve/wasiif-cli-colors |
Write clear, meaningful commit messages. We follow Conventional Commits:
git add .
git commit -m "feat(cli-toolkit): add file renaming command"type(scope): short description
| Type | When to use |
|---|---|
feat |
Adding a new feature |
fix |
Fixing a bug |
docs |
Updating documentation |
refactor |
Code cleanup (no functionality change) |
chore |
Config, tooling, misc updates |
style |
Formatting, spacing (not CSS) |
✅
feat(weather-app): add 5-day forecast support
❌updated stuff/fix/changes
git push origin feature/your-branch-name- Go to github.com/wasiif/JS-Projects
- Click "Compare & pull request"
- Fill in the PR template:
- Title: What does this PR add/fix?
- Description: Brief explanation of your work
- Screenshots (if applicable)
- Request a review from at least one teammate
- Wait for approval before merging ✅
- ❌ Never merge your own PR without a review
- ❌ Never push directly to
main - ✅ Keep PRs small and focused — one feature/fix per PR
- ✅ Delete your branch after merging
Before pushing, always sync with main to avoid conflicts:
# While on your feature branch
git fetch origin
git rebase origin/main
# Or using merge (simpler for beginners)
git pull origin mainIf there are merge conflicts, resolve them file by file, then:
git add .
git rebase --continue # if using rebase
# OR
git commit # if using merge| ❌ Don't | ✅ Do Instead |
|---|---|
Push node_modules/ |
Add it to .gitignore |
Push .env files |
Add it to .gitignore, share a .env.example |
Push directly to main |
Always use a feature branch |
| Write vague commit messages | Be descriptive and use the convention |
| Edit someone else's project folder | Open an issue and discuss first |
| Leave broken code in a PR | Test locally before opening a PR |
Make sure your project folder has (or inherits) these ignores:
node_modules/
.env
.DS_Store
dist/
*.logLooking for inspiration? Here are some ideas:
- 🔧 CLI Tools — file organizer, password generator, todo app
- 🌐 Mini APIs — Express REST API, JSON server
- 🎮 Terminal Games — number guesser, hangman, quiz
- 📦 Automation Scripts — rename files, scrape data, send emails
- 🧠 Algorithms — sorting visualizer, pathfinding, data structures
1. One folder per project
2. Always branch from main
3. Use conventional commit messages
4. PR must be reviewed before merge
5. Never push node_modules or .env
6. Add a README to your project folder
7. Be kind, review others' PRs, and give feedback
| Name | GitHub | Project |
|---|---|---|
| Wasiif | @wasiif | cli_utility_toolKit |
| You? | — | Coming soon |
Stuck on something? Here's how to get help:
- 💬 Open a GitHub Issue — describe your problem clearly
- 🔀 Leave a comment on a PR — ask questions inline
- 📣 Reach out to the team — use your shared group chat
Built with 💛 by the JS-Projects Team
Keep shipping. Keep learning. Keep collaborating.