md-license-header
v0.0.2
Published
Add or update license headers to source code files from CLI
Maintainers
Readme
md-license-header
Add or update license headers in code files using MIT, Apache 2.0, or custom templates — from the command line.
✅ Features
- Adds license headers to
.js,.ts,.py,.java, and other supported files - Skips files that already contain a license
- Supports MIT and Apache-2.0 (more coming soon)
- Programmatic API and CLI
- Dry-run mode to preview changes
- Git-aware: respects
.gitignore
🚀 Installation
npm install -g md-license-headerOr use without installing:
npx md-license-header🧪 Usage (CLI)
npx md-license-header --license mit --author "Your Name" --path ./srcOptions
| Flag | Alias | Description | Default |
| ----------- | ----- | --------------------------------------- | ------------- |
| --license | -l | License type (mit, apache) | mit |
| --author | -a | Author name for the license | "Your Name" |
| --ext | -e | Comma-separated list of file extensions | js,ts,py |
| --path | -p | Target directory to scan | . (cwd) |
| --dry | -d | Preview changes without writing files | false |
Example
npx md-license-header --license apache --author "Huzaifa Azim" --ext js,ts,py --path ./src💻 Programmatic API
const addLicenseHeaders = require("md-license-header");
addLicenseHeaders({
dir: "./src",
license: "mit",
author: "Huzaifa",
extensions: ["js", "ts", "py"],
dryRun: false
});🧹 Skipping Files
- Files already containing a license block (e.g. "MIT License", "Apache License") are not modified
.gitignoreis respected automatically
📜 License Templates
Currently supported:
mitapache
You can easily extend the lib/licenses.js file to add your own.
📦 Roadmap
- [ ] Support SPDX-only headers (e.g.
// SPDX-License-Identifier) - [ ] Add more license types: BSD, MPL, GPL
- [ ] File-specific overrides
- [ ]
--removemode to strip licenses
👥 Contributing
Pull requests are welcome! Please open an issue to discuss features or improvements before submitting.
📄 License
MIT © 2025 Huzaifa Azim
