@akson/cortex-dev-tools
v1.0.0
Published
Shared development tools, configs, and validators for Cortex ecosystem
Maintainers
Readme
@akson/cortex-dev-tools
Shared development tools, configurations, and validators for the Cortex ecosystem.
📦 Installation
npm install --save-dev @akson/cortex-dev-tools
# or
pnpm add -D @akson/cortex-dev-tools🔧 What's Included
- ESLint Configuration: Shared ESLint rules for TypeScript/JavaScript
- Prettier Configuration: Consistent code formatting across projects
- TypeScript Configuration: Base tsconfig.json for Cortex projects
- Validators: Schema and dependency validation utilities
📖 Usage
ESLint Configuration
Option 1: Extend in eslint.config.js (ESM)
import cortexEslint from '@akson/cortex-dev-tools/eslint';
export default [
...cortexEslint,
// Your custom rules
{
rules: {
// Override or add rules
},
},
];Option 2: CommonJS (.eslintrc.js)
module.exports = {
extends: '@akson/cortex-dev-tools/eslint',
rules: {
// Your overrides
},
};Prettier Configuration
Option 1: In package.json
{
"prettier": "@akson/cortex-dev-tools/prettier"
}Option 2: In .prettierrc.js
module.exports = require('@akson/cortex-dev-tools/prettier');Option 3: Extend with custom options
// .prettierrc.js
const cortexPrettier = require('@akson/cortex-dev-tools/prettier');
module.exports = {
...cortexPrettier,
// Your overrides
printWidth: 120,
};TypeScript Configuration
In your tsconfig.json:
{
"extends": "@akson/cortex-dev-tools/tsconfig.json",
"compilerOptions": {
// Your overrides
"outDir": "./dist",
"rootDir": "./src"
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}🎯 Configuration Details
ESLint Rules
The ESLint configuration includes:
- TypeScript: Recommended rules with unused vars detection (prefix with
_to ignore) - Import Organization: Automatic import sorting with newlines between groups
- Best Practices: Enforces const, template literals, arrow functions
- No Console: Warns on console usage (except
console.warnandconsole.error)
Special Overrides:
- Config files (
*.config.js,.*rc.js): Relaxed rules - Test files (
*.test.js,*.spec.js): Allowsanytypes, console usage
Prettier Rules
- Print Width: 100 characters
- Indentation: 2 spaces
- Quotes: Single quotes (double for JSX)
- Semicolons: Always
- Trailing Commas: ES5 compatible
- Line Endings: LF (Unix-style)
Special Overrides:
- Markdown: 80 character width, prose wrap
- JSON: 80 character width, no trailing commas
- YAML: 2 spaces, double quotes
TypeScript Configuration
- Strict Mode: Fully enabled
- Module Resolution: Bundler (supports
import.meta, etc.) - Target: ES2022
- Output: Declaration files + source maps
- Unused Detection: Warns on unused locals/parameters
🔗 Integration with Cortex Repos
This package is used by:
- cortex-skills: Skills and agent documentation
- cortex-packages: All 26 NPM packages
- Ballee: Main application
- MyArmy: Client projects
📝 Scripts
Add these to your package.json:
{
"scripts": {
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"format": "prettier --write .",
"format:check": "prettier --check .",
"type-check": "tsc --noEmit"
}
}🤝 Contributing
When updating configurations:
- Test locally in consuming projects
- Bump version according to impact:
- Patch: Bug fixes, documentation
- Minor: New rules (non-breaking)
- Major: Breaking rule changes
- Update this README if adding features
- Coordinate with cortex-skills and cortex-packages
📄 License
MIT
