An open API service indexing awesome lists of open source software.

https://github.com/anchildress1/npm-nodejs-template

A plain npm template starter for JS, including 1️⃣ basic scaffold 2️⃣ Lefthook with Jira support 3️⃣ Prettier auto-format staged files 4️⃣ ESLint validations (strict) 5️⃣ CSpell checks
https://github.com/anchildress1/npm-nodejs-template

boilerplate-template documented-training es6-modules javascript npm volta

Last synced: 3 months ago
JSON representation

A plain npm template starter for JS, including 1️⃣ basic scaffold 2️⃣ Lefthook with Jira support 3️⃣ Prettier auto-format staged files 4️⃣ ESLint validations (strict) 5️⃣ CSpell checks

Awesome Lists containing this project

README

          

# 🚀 NodeCraft: The Ultimate NPM/Node.js Starter Kit

Shaping the Ultimate Starter Kit Together

> [!IMPORTANT]
> 🦄 Hack Time Update: Contest Mode Activated!
>
> I’m off chasing glory in a coding contest through the end of September, 2025, so this repo’s usual hustle is on a quick coffee break. I’ll ninja-drop updates whenever I can between rounds, but please hang tight while I duke it out on the leaderboard.
>
> Thanks for your patience - and may your builds always pass! 🏅✨

---

> [!WARN]
> This is a work in progress and may take a few weeks before I have anything truly useful, but feel free to use anything available as a starting point.
>
> 📝 I'm open to suggestions. Dive into the [Dev.to post](https://dev.to/anchildress11/calling-all-nodejs-wizards-what-would-you-add-to-the-ultimate-boilerplate-38aj) for more context!

---

## ✨ Repo Pulse: Badges, Stars & Fuel

If you find this project useful or want to support its development, consider sharing it, starring the repo, or even buying me a coffee! Your support keeps the code flowing and the caffeine strong 💪

> [!TIP]
> This list only includes what's already in the repo or tools used to build it, not what I plan to add later.

| Pulse Points | Badges |
|--------------|-------------|
| 🫶 Show Some Love | [![BuyMeACoffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-ffdd00?style=for-the-badge&logo=buy-me-a-coffee&logoColor=black)](https://www.buymeacoffee.com/anchildress1) [![dev.to Badge](https://img.shields.io/badge/dev.to-0A0A0A?logo=devdotto&logoColor=fff&style=for-the-badge)](https://dev.to/anchildress1) [![LinkedIn](https://img.shields.io/badge/linkedin-%230077B5.svg?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/anchildress1/) |
| 🛼 Recent Activity | ![GitHub commit activity](https://img.shields.io/github/commit-activity/t/anchildress1/npm-nodejs-template?style=for-the-badge&color=F054B2&cacheSeconds=3600) ![GitHub last commit](https://img.shields.io/github/last-commit/anchildress1/npm-nodejs-template?display_timestamp=author&style=for-the-badge&color=34A853&cacheSeconds=3600)
![GitHub Created At](https://img.shields.io/github/created-at/anchildress1/npm-nodejs-template?style=for-the-badge&color=EDC531) |
| 📊 At a Glance | [![JavaScript Badge](https://img.shields.io/badge/JavaScript-F7DF1E?logo=javascript&logoColor=000&style=for-the-badge)](https://developer.mozilla.org/en-US/docs/Web/JavaScript) [![Markdown Badge](https://img.shields.io/badge/Markdown-000?logo=markdown&logoColor=fff&style=for-the-badge)](https://www.markdownguide.org)
[![Project Type Badge](https://img.shields.io/badge/project_type-toy-blue?style=for-the-badge)](https://project-types.github.io/) [![GitHub License](https://img.shields.io/github/license/anchildress1/npm-nodejs-template?style=for-the-badge&cacheSeconds=3600)](https://github.com/anchildress1/npm-nodejs-template/blob/main/LICENSE)|
| 🧩 The Non-Negotiables | [![Volta Badge](https://img.shields.io/badge/Volta-3377CC.svg?style=for-the-badge)](https://volta.sh) [![NPM](https://img.shields.io/badge/NPM-%23CB3837.svg?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/) [![Node.js Badge](https://img.shields.io/badge/Node.js-5FA04E?logo=nodedotjs&logoColor=fff&style=for-the-badge)](https://nodejs.org/) |
| 🔧 Nerd Tools I Can't Live Without
- Dependencies | [![Conventional Commits Badge](https://img.shields.io/badge/Conventional%20Commits-FE5196?logo=conventionalcommits&logoColor=fff&style=for-the-badge)](https://conventionalcommits.org/) [![commitlint Badge](https://img.shields.io/badge/commitlint-000?logo=commitlint&logoColor=fff&style=for-the-badge)](https://commitlint.js.org/)
|
| 👾 Bots in the Basement
- Co-authored-by | [![GitHub Copilot Badge](https://img.shields.io/badge/GitHub%20Copilot-000?logo=githubcopilot&logoColor=fff&style=for-the-badge)](https://github.com/features/copilot) [![OpenAI Badge](https://img.shields.io/badge/OpenAI-412991?logo=openai&logoColor=fff&style=for-the-badge)](https://openai.com/chatgpt)|
| 💬 Meta Magic & Shiny Things
| [![Git](https://img.shields.io/badge/git-%23F05033.svg?style=for-the-badge&logo=git&logoColor=white)](https://git-scm.com/) [![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/) [![gitignore.io Badge](https://img.shields.io/badge/gitignore.io-204ECF?logo=gitignoredotio&logoColor=fff&style=for-the-badge)](https://www.toptal.com/developers/gitignore/api/node,dotenv,visualstudiocode,macos)
[![Shields.io Badge](https://img.shields.io/badge/Shields.io-000?logo=shieldsdotio&logoColor=fff&style=for-the-badge)](https://shields.io/badges/static-badge) ![Simple Icons Badge](https://img.shields.io/badge/Simple%20Icons-111?logo=simpleicons&logoColor=fff&style=for-the-badge)
[![VS Code Insiders](https://img.shields.io/badge/VS%20Code%20Insiders-35b393.svg?style=for-the-badge&logo=visual-studio-code&logoColor=white)](https://code.visualstudio.com/updates/v1_102) [![macOS](https://img.shields.io/badge/mac%20os-000000?style=for-the-badge&logo=macos&logoColor=F0F0F0)](https://www.apple.com/shop/buy-mac?afid=p240%7Cgo~cmp-21640797485~adg-171722772185~ad-756023446016_kwd-978205588~dev-c~ext-~prd-~mca-~nt-search&cid=aos-us-kwgo-mac-bts-launch-061725-) |

---

### 🎛️ Dependencies + Versions

This is a detailed list of the above dependencies, including their versions currently in use.

| **Dependencies** | **Dev Dependencies** |
| :---: | :---: |
| | ![@commitlint/cli dependency version](https://img.shields.io/github/package-json/dependency-version/anchildress1/npm-nodejs-template/dev/%40commitlint%2Fcli?style=for-the-badge&color=00BBF9)
![@commitlint/config-conventional dependency version](https://img.shields.io/github/package-json/dependency-version/anchildress1/npm-nodejs-template/dev/%40commitlint%2Fconfig-conventional?style=for-the-badge&color=00BBF9) |

---

### 📢 Shoutouts

I want to additionally thank the following communities and tools that have (often unknowingly) helped this project:

- [Ileriayo/markdown-badges](https://github.com/Ileriayo/markdown-badges/tree/master) - for the awesome badge collection
- [Simple Badges](https://badges.pages.dev/) - for the incredible list of searchable, copy-paste badges
- [Project Types](https://project-types.github.io/) - for the great overview of how to properly categorize your repo
- [GitHub Wiki - Design and Implementation](https://github.com/practicalseries/GitHub-Wiki-Design-and-Implementation/wiki) - for the expert-level digging to figure this thing out before me (seriously, I owe you one!)

> [!IMPORTANT]
> If you want to start using badges in your own projects, I highly recommend you donate or support the [shields.io project](https://shields.io/) by authorizing their GitHub App, which is free and is a great way to show appreciation for their work! Learn more about it [here](https://shields.io/blog/token-pool).

---

## 🧠 Looking for Ideas, Not Code

Have thoughts on:

- What makes a JS template actually useful?
- Underrated tools or workflows that you swear by?
- Opinions about what should (or shouldn’t) be included in the starter pack?
- Quirky pain points only Node devs understand?

Drop a comment (when Discussions are enabled!) or [reply on Dev.to](https://dev.to/anchildress11/calling-all-nodejs-wizards-what-would-you-add-to-the-ultimate-boilerplate-38aj). Your input could help shape this into something everyone can steal... I mean, use. 😇

---

## 📦 Planned Features (So Far)

Here’s what I’ve mapped out, but this is absolutely up for discussion. Have a hot take? Let me know!

1️⃣ Basic scaffold
2️⃣ Husky with Jira support
3️⃣ Conventional commits & CHANGELOG generation
4️⃣ Prettier auto-format
5️⃣ ESLint validation (strict)
6️⃣ CSpell checks
7️⃣ Vitest for unit and integration testing
8️⃣ Documentation with GitHub Markdown
9️⃣ GitHub Copilot starter

---

## 🤔 What’s Already Here

### Very basic scaffold

- [`README.md`](./README.md) – Project overview and starter info (you're reading it!)
- [`commitlint.config.js`](./commitlint.config.mjs) – ES6 Commit message linting rules (not yet enforced)
- [`package.json`](./package.json) – NPM Node.js project manifest
- [`LICENSE`](./LICENSE) – Apache 2.0 License file
- [`index.js`](./index.js) – Entry point placeholder
- [`src/`](./src/) – Empty source code folder
- [`tests/`](./tests/) – Empty test folder
- [`wiki/`](./wiki/) – Wiki submodule for comprehensive documentation

---

## 📚 Working with Submodules

This project includes a wiki submodule for comprehensive documentation. Here's how to get it set up:

### First-time setup

```bash copy
git submodule init
git submodule update
```

**Or in one command**

```bash copy
git submodule update --init --recursive
```

### To pull the latest wiki updates

```bash copy
git submodule update --remote wiki
```

For more detailed documentation and guides, check out [wiki pages](https://github.com/anchildress1/npm-nodejs-template/wiki) or, once you've loaded the submodule, [/wiki](./wiki/Home.md) in your IDE!

---

## Tooling wish list (all up for feedback!)

### 🦊 Husky & Jira

- Optional, enforced branch names with Jira keys
- Commit messages that keep the PMs happy
- Lintstaged, because why wait until CI to fail?

### 📝 Conventional commits & changelog (started)

- In this area, I'm still a noob, but the goal is to have a system that:
- Auto-enforce conventional commit format
- Handles Semver versioning
- Automatically generates a CHANGELOG

### ✨ Prettier

- Runs on pre-commit. Because who doesn’t want their code auto-prettified?

### 🕵️ Strict ESLint

- Leaning toward Airbnb + Unicorn configs—unless you have a spicier suggestion
- Some aggressive custom rules that I can't live without
- No warnings allowed at commit time (too strict?)

### 🪄 CSpell

- Spell checking everywhere
- Project-specific dictionary - still figuring out the best spot for it

### 🧪 Vitest

- I'll find an example something to test, with coverage and reporting
- Docs somewhere explaining the “why” of testing, not just the “how”

### 📖 Documentation

- Added wiki submodule for comprehensive documentation (link to full docs coming soon!)
- Explainers for each tool, folder, and weird decision

### 🤖 GitHub Copilot

- Starter tips for using Copilot well (not just “type // todo and hope for magic”)
- Would love to crowdsource actual examples and best practices

> If you don't know me, check out my recent blog posts on [Dev.to](https://dev.to/anchildress1) - then that last one will make perfect sense \:innocent:

---

## 🌱 How You Can Help (Without Writing a Single Line of Code)

- Share stories: What’s the most annoying thing about starting a new Node project?
- Suggest tools: What’s one library you can’t live without (and why)?
- Vote: What do you think is overkill, and what’s missing?
- Philosophize: What does a “good” JS backend template mean to you?

Drop your thoughts here once Discussions are enabled, or leave a comment on my [Dev.to post](https://dev.to/anchildress11/calling-all-nodejs-wizards-what-would-you-add-to-the-ultimate-boilerplate-38aj).

---

## 🛠️ Next Steps

- [ ] Add a starting place in Discussions for people to share their thoughts (do we really want this? 🤔)
- [ ] Set up wiki and docs for conventional commits
- [ ] Finish the basics (as described above)
- [ ] Iterate on feedback and turn this template into something worth forking

---

## 🙏 Thanks for Stopping By

Stay tuned, and thanks in advance for your brainpower! 🧠💡
— Ashley

P.S. If you’re here from the future and Discussions are already open... go wild!

> Most likely, future me forgot to update this README, so if you see any typos or outdated info, please open an issue. Thanks!