claude-flow-depth
Version:
DEPTH Methodology Installer - Ousterhout-First Development for Claude Code
80 lines (72 loc) • 2.05 kB
JavaScript
module.exports = {
env: {
es2022: true,
node: true
},
extends: [
'standard'
],
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module'
},
rules: {
// DEPTH methodology code style rules
// Enforce information hiding - prefer private fields
'no-underscore-dangle': 'off', // Allow private convention
// Encourage deep modules - limit public interface complexity
'max-public-methods': ['error', 5],
'max-params': ['error', 3], // Force simple interfaces
// Strategic investment - require documentation
'require-jsdoc': ['error', {
require: {
FunctionDeclaration: true,
MethodDefinition: true,
ClassDeclaration: true,
ArrowFunctionExpression: false,
FunctionExpression: false
}
}],
// Interface simplicity
'complexity': ['error', 10], // Limit cognitive complexity
'max-depth': ['error', 4], // Limit nesting depth
'max-statements': ['error', 20], // Limit function size
// Information hiding enforcement
'no-magic-numbers': ['error', {
ignore: [0, 1, -1],
ignoreArrayIndexes: true,
detectObjects: false
}],
// Design-twice validation - require explicit choices
'no-implicit-coercion': 'error',
'no-implicit-globals': 'error',
// Code quality for long-term maintenance
'prefer-const': 'error',
'no-var': 'error',
'no-console': 'warn', // Use logger instead
// Module organization
'import/no-default-export': 'off',
'import/prefer-default-export': 'off',
'import/order': ['error', {
groups: [
'builtin',
'external',
'internal',
'parent',
'sibling',
'index'
]
}]
},
overrides: [
{
// Test files have different complexity requirements
files: ['tests/**/*.js', '**/*.test.js'],
rules: {
'max-statements': 'off',
'no-magic-numbers': 'off',
'require-jsdoc': 'off'
}
}
]
};