modules/programs/agents/shared/_archive/init-oxc/SKILL.md
Set up oxlint and oxfmt in a JavaScript/TypeScript project
npx skillsauth add MichaelVessia/nixos-config init-oxcInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Set up oxlint for linting and oxfmt for formatting in this project.
Detect package manager from lock file (bun.lock/pnpm-lock.yaml/package-lock.json)
Install dev dependencies:
[bun/pnpm/npm] add -D oxlint oxfmt
Create .oxlintrc.json (ask about React support first):
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": ["typescript", "unicorn"],
"env": {
"browser": true,
"node": true,
"es2022": true
},
"ignorePatterns": ["dist/**/*", "node_modules/**/*"],
"categories": {
"correctness": "error"
},
"rules": {
"no-unused-vars": "warn",
"@typescript-eslint/no-explicit-any": "off",
"no-param-reassign": "error",
"prefer-as-const": "error",
"default-param-last": "error",
"@typescript-eslint/no-inferrable-types": "error",
"prefer-arrow-callback": "error",
"one-var": ["error", "never"]
}
}
If React: add "react" to plugins and add:
"react/self-closing-comp": "error",
"react-hooks/exhaustive-deps": "error",
"react-hooks/rules-of-hooks": "error"
Create .oxfmtrc.json:
{
"printWidth": 120,
"tabWidth": 2,
"useTabs": false,
"semi": false,
"singleQuote": true,
"endOfLine": "lf",
"ignorePatterns": [
"**/*.css",
"**/*.json",
"**/*.yaml",
"**/*.yml",
"**/*.html",
"**/*.md"
]
}
Add scripts to package.json (detect src directory structure first):
"lint": "oxlint src/",
"lint:fix": "oxlint --fix src/",
"format": "oxfmt --check src/",
"format:fix": "oxfmt src/"
Summary: List created files and added scripts.
Ask for confirmation before modifying package.json.
tools
User guide for the local squash-safe `stack` CLI for stacked PR/MR repair on GitHub and GitLab. Use when someone asks how to inspect, track, sync, merge, document, or undo stacked pull requests / merge requests in squash-merge repositories. Prefer this tool over GitHub's `gh stack` command for this workflow.
tools
Control herdr from inside it. Manage workspaces and tabs, split panes, spawn agents, read output, and wait for state changes — all via CLI commands that talk to the running herdr instance over a local unix socket. Use when running inside herdr (HERDR_ENV=1).
development
Inspect my self-hosted AutoCaliWeb library. Use when the user asks about AutoCaliWeb, books in Calibre, OPDS status, recent imports, shelves, catalog stats, or wants to search the ebook library.
data-ai
Subscribe a YouTube channel in TubeArchivist, queue its top videos by views from recent uploads, wait for the first file, scan Jellyfin, and rename + lock the channel folder to a friendly display name. Use when the user says "add a youtube channel", "subscribe to <channel>", or wants a curated TubeArchivist + Jellyfin import for a creator.