一键导入
standards
@nextnode-solutions/standards package reference — exports, config setup, formatting rules. For compliance auditing, see /nextnode-standards.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
@nextnode-solutions/standards package reference — exports, config setup, formatting rules. For compliance auditing, see /nextnode-standards.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Deep interview for a single feature or module brief that produces a final spec or implementation plan.
@nextnode-solutions/logger standards. Reference this skill when a project uses @nextnode-solutions/logger or when logger integration is being added.
Manage n8n workflows on the NextNode automation instance with the local n8n-cli tool.
NextNode brand guidelines — color palette, typography, logo system, and per-project branding rules. Use when doing UI/frontend work on a NextNode project.
NextNode ecosystem hub. Auto-load when working on any NextNode or SaaS project — covers nextnode.toml config, CI workflows, docker-compose rules, and cross-references to package skills.
Audit a NextNode/SaaS project against all NextNode standards — produces a compliance report with pass/fail/missing status for every required item.
| name | standards |
| description | @nextnode-solutions/standards package reference — exports, config setup, formatting rules. For compliance auditing, see /nextnode-standards. |
| user-invocable | false |
| autoload-dirs | ["/Users/walid/Development/nextnode","/Users/walid/Development/saas"] |
@nextnode-solutions/standards is the centralized development standards package for all NextNode projects. It provides shared configs for linting, formatting, TypeScript, Tailwind, testing, and commit conventions.
@nextnode-solutions/standards (npm, public)NextNodeSolutions/standardsoxlint (required), oxfmt (required)tailwindcss, vitest, @commitlint/cli, @commitlint/config-conventionalCompliance auditing is handled by
/nextnode-standards(auto-loaded + user-invocable). This skill is a reference for the package exports and config patterns.
| Import Path | What It Provides | Config File |
|---|---|---|
@nextnode-solutions/standards/oxlint | oxlint base config | oxlint.json |
@nextnode-solutions/standards/oxfmt | oxfmt formatter config | oxfmt.json |
@nextnode-solutions/standards/typescript/library | tsconfig for libraries/packages | tsconfig.json |
@nextnode-solutions/standards/typescript/nextjs | tsconfig for Next.js apps | tsconfig.json |
@nextnode-solutions/standards/typescript/astro | tsconfig for Astro apps | tsconfig.json |
@nextnode-solutions/standards/tailwind | Tailwind CSS v4 theme (CSS) | CSS @import |
@nextnode-solutions/standards/vitest/frontend | Vitest config (jsdom, coverage) | vitest.config.ts |
@nextnode-solutions/standards/vitest/backend | Vitest config (node, coverage) | vitest.config.ts |
@nextnode-solutions/standards/commitlint | Commitlint conventional config | commitlint.config.js |
@nextnode-solutions/standards/editorconfig | EditorConfig base config | .editorconfig (symlink/copy) |
@nextnode-solutions/standards/npmrc | pnpm .npmrc config | .npmrc (symlink/copy) |
@nextnode-solutions/standards/lint-staged | lint-staged config (oxlint + oxfmt + sort-package-json) | lint-staged.config.js |
pnpm add -D @nextnode-solutions/standards oxlint oxfmt
For optional features:
# Tailwind support
pnpm add -D tailwindcss
# Testing
pnpm add -D vitest
# Commit linting (with husky + lint-staged)
pnpm add -D @commitlint/cli @commitlint/config-conventional husky lint-staged better-sort-package-json
oxlint.jsonCreate oxlint.json at project root:
{
"$schema": "https://raw.githubusercontent.com/oxc-project/oxc/main/npm/oxlint/configuration_schema.json",
"extends": ["@nextnode-solutions/standards/oxlint"]
}
What it enforces:
correctness (error), suspicious (warn), perf (warn)typescript, react, unicorn, import*.config.*, *.test.*, *.spec.* filesoxfmt.jsonCreate oxfmt.json at project root:
{
"extends": ["@nextnode-solutions/standards/oxfmt"]
}
What it enforces:
tsconfig.jsonExtend the appropriate base depending on project type:
Library/Package:
{
"extends": "@nextnode-solutions/standards/typescript/library",
"include": ["src"],
"exclude": ["node_modules", "dist"]
}
Next.js App:
{
"extends": "@nextnode-solutions/standards/typescript/nextjs",
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
"exclude": ["node_modules"]
}
Astro App:
{
"extends": "@nextnode-solutions/standards/typescript/astro",
"include": ["src", "env.d.ts"],
"exclude": ["node_modules", "dist"]
}
What it enforces (all variants):
strict: true + noUncheckedIndexedAccess + noImplicitOverride + noImplicitReturnsexactOptionalPropertyTypes, verbatimModuleSyntax, noUncheckedSideEffectImportsnoEmit: true (type-checking only)@importIn the project's main CSS file (e.g., app.css, global.css):
@import "tailwindcss";
@import "@nextnode-solutions/standards/tailwind";
No tailwind.config.ts needed — Tailwind v4 uses CSS-first configuration.
What it provides:
--breakpoint-xs: 30rem (extra-small breakpoint for mobile-first layouts)vitest.config.tsFrontend (jsdom):
import { defineConfig, mergeConfig } from 'vitest/config'
import standards from '@nextnode-solutions/standards/vitest/frontend'
export default mergeConfig(standards, defineConfig({
test: {
// project-specific overrides here
},
}))
Backend (node):
import { defineConfig, mergeConfig } from 'vitest/config'
import standards from '@nextnode-solutions/standards/vitest/backend'
export default mergeConfig(standards, defineConfig({
test: {
// project-specific overrides here
},
}))
What it provides:
globals: true, auto mock cleanup (restoreMocks, clearMocks, unstubGlobals)json, html, text)jsdom environment, coverage enabled by defaultnode environment with NODE_ENV=testcommitlint.config.jsexport { default } from '@nextnode-solutions/standards/commitlint'
What it enforces:
feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert.editorconfigCopy or symlink the base config to the project root:
cp node_modules/@nextnode-solutions/standards/src/editorconfig/base.editorconfig .editorconfig
What it enforces:
.npmrcCopy or symlink the base config to the project root:
cp node_modules/@nextnode-solutions/standards/src/npmrc/base.npmrc .npmrc
What it enforces:
strict-peer-dependencies=false (don't fail on optional peer dep mismatches)auto-install-peers=true (auto-install peer deps)shamefully-hoist=false (strict node_modules isolation)lint-staged.config.jsexport { default } from '@nextnode-solutions/standards/lint-staged'
What it runs on staged files:
package.json -> better-sort-package-json*) -> oxlint then oxfmt --no-error-on-unmatched-pattern --writepackage.json FieldspackageManager (mandatory)Every project MUST declare a packageManager field in package.json specifying the exact pnpm version. Without this, the CI pipeline will fail.
{
"packageManager": "pnpm@10.4.1"
}
corepack use pnpm@latest to set it automaticallyEvery project MUST have these scripts:
{
"scripts": {
"lint": "oxlint",
"format": "oxfmt --write .",
"format:check": "oxfmt --check .",
"prepare": "husky"
}
}
Add if using vitest:
{
"scripts": {
"test": "vitest run",
"test:watch": "vitest"
}
}
After installing husky, set up hooks:
pnpm exec husky init
.husky/pre-commit:
pnpm exec lint-staged
.husky/commit-msg:
pnpm exec commitlint --edit $1
When generating or editing code in any NextNode project, always follow the oxfmt config:
x => x, not (x) => x){ foo } not {foo})> on new line for multi-line JSX)import type (separate, top-level)When scaffolding a new project, always set up @nextnode-solutions/standards from the start:
packageManager field with corepack use pnpm@latest (section 4.1).editorconfig and .npmrc from the package (section 3.7 and 3.8)pnpm lint and pnpm format:checkNever create a NextNode project without @nextnode-solutions/standards. This is non-negotiable.
Projects MAY extend/override specific rules in their local config files, but they MUST always extend from @nextnode-solutions/standards as the base. Direct configs that don't extend from standards are not allowed.
Allowed:
{
"$schema": "...",
"extends": ["@nextnode-solutions/standards/oxlint"],
"rules": {
"eslint/no-console": "off"
}
}
NOT allowed:
{
"rules": {
"eslint/no-console": "off"
}
}