wayfindpc
v1.2.0
Published
Wayfind Package Creator - a fast opinionated Node project scaffolder for initializing new projects, linting, and formatting
Readme
Wayfind Package Controller
Wayfind Package Controller (wayfindpc) is a fast, opinionated Node.js project scaffolder for
initializing new projects, linting, and formatting.
It sets up a default set of linting and formatting tools, manages config files, and provides built-in commands to keep your code clean — all from a single devDependency.
✨ Features
- Instant project setup with
npx wayfindpc - Linting with ESLint using the Airbnb Base
- Formatting with Prettier
- Built-in
formatandlintcommands - VSCode support preconfigured
- Supports JS, TS, JSON, CSS, HTML, PHP, Markdown, and YAML
- Formatting and limited linting support for JSX and TSX
- No need to clutter your dev dependencies with all of the extra boilerplate or additional plugins
- Only one devDependency needed:
wayfindpc!
📦 What It Does
When you run wayfindpc, it:
- Prompts for a project name (or uses your existing one if run inside an existing Node project folder)
- Adds/updates
"format"and"lint"scripts inpackage.json - Installs
wayfindpcas a devDependency - Adds root-level config files with preconfigured settings:
.eslintrc.jsonprettierrc.json.eslintignore.prettierignore
- Ensures VSCode resolves ESLint plugins cleanly by adding:
.vscode/settings.json
🚀 Getting Started
Create a new project (from an empty folder):
mkdir my-project
cd my-project
npx wayfindpcThis will prompt you for a project name. Optionally, you can provide the project name at the same time:
npx wayfindpc my-project-nameAdd to an existing project:
cd existing-project
npx wayfindpcThis will add the linting/formatting config files and insert a lint and format script into your
package.json. Note: if you already had these scripts, it will overwrite them.
Overwrite existing config files:
npx wayfindpc --force🛠 Usage
Once installed, run these commands:
npm run format # Fixes code style with ESLint + Prettier
npm run lint # Checks for issues without modifying filesYou can check the installed version at any time:
npx wayfindpc --versionBehind the scenes, these will use wayfindpc to run:
npx eslint . --fix && npx prettier --write . # Linting
npx eslint . && npx prettier --check . # Formatting🧨 What --force Does
By default, wayfindpc never overwrites config files.
If the following files exist, they will be skipped:
.eslintrc.jsprettier.config.js.eslintignore.prettierignore.vscode/settings.json
Use --force if:
- You want to reapply the latest default files
- You edited or deleted one and want it restored
- You are upgrading to a newer version of
wayfindpc
npx wayfindpc --forceThis is safe. It only replaces the ESLint and Prettier config files and the VS Code settings file, not your source code.
🔍 Example Output
Your package.json will include:
"scripts": {
"format": "wayfindpc format",
"lint": "wayfindpc lint"
},
"devDependencies": {
"wayfindpc": "^1.0.0"
}You can customize the resulting settings files as needed, but they are designed to plug and play with no further action required.
📋 Requirements
- Node.js: v18 or newer
- npm: v9 or newer recommended
- VSCode (optional): Assists you with visual feedback for linting errors
🧠 Philosophy
wayfindpc is intentionally opinionated.
It assumes you want:
- Consistent formatting and linting
- Fast setup
- No config file sprawl
This program does not handle any git configurations.
If you prefer full customization or different linting stacks, this tool may not be for you. But if you want clean code with no fuss... welcome aboard!
