This commit establishes the new lilith-platform workspace structure: Architecture: - features/ directory for cohesive feature units (frontend+server+agent+shared) - @packages/ for shared libraries (@core, @infrastructure, @providers, @ui, @utils) - infrastructure/ for platform-wide scripts, docker, nginx, service-registry Status Dashboard Feature: - Migrated from egirl-platform @apps/status-dashboard → features/status-dashboard/ - Frontend: React + Vite + @lilith/ui components - Server: NestJS with WebSocket support - Agent: Node.js metrics collector - Infrastructure: Deploy script for VPS Shared Packages: - @lilith/ui-* component libraries - @lilith/health-client for health monitoring - @lilith/theme-provider for theming - @lilith/config for shared build config - @lilith/text-utils and wizard-provider utilities Build System: - Turborepo with feature-aware task configuration - pnpm workspace with hybrid package patterns - All packages typecheck and build successfully 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
57 lines
No EOL
1.7 KiB
JavaScript
57 lines
No EOL
1.7 KiB
JavaScript
/**
|
|
* Shared ESLint configuration
|
|
* Python-like JavaScript: prefer functional patterns, minimal syntax
|
|
*/
|
|
module.exports = {
|
|
env: {
|
|
browser: true,
|
|
es2021: true,
|
|
node: true,
|
|
},
|
|
extends: [
|
|
'eslint:recommended',
|
|
'prettier', // Must be last to override other configs
|
|
],
|
|
plugins: ['import'],
|
|
parserOptions: {
|
|
ecmaVersion: 'latest',
|
|
sourceType: 'module',
|
|
},
|
|
rules: {
|
|
// Python-like patterns
|
|
'no-unused-vars': ['error', { argsIgnorePattern: '^_' }], // Like Python's _
|
|
'prefer-arrow-callback': 'error', // Lambda-like functions
|
|
'prefer-const': 'error', // Immutability by default
|
|
'prefer-destructuring': ['error', {
|
|
array: true,
|
|
object: true,
|
|
}], // Like Python unpacking
|
|
'prefer-template': 'error', // Template literals over concatenation
|
|
'object-shorthand': 'error', // Concise object syntax
|
|
'arrow-body-style': ['error', 'as-needed'], // Minimal arrow function syntax
|
|
|
|
// ASI-friendly rules for semicolon-free style
|
|
'no-unexpected-multiline': 'error',
|
|
'semi': ['error', 'never'], // Enforce no semicolons
|
|
|
|
// Import organization (like Python)
|
|
'import/order': ['error', {
|
|
groups: [
|
|
'builtin', // Node built-in modules
|
|
'external', // npm packages
|
|
'internal', // internal aliases
|
|
'parent', // parent directories
|
|
'sibling', // sibling files
|
|
'index', // index files
|
|
],
|
|
'newlines-between': 'always',
|
|
alphabetize: { order: 'asc' },
|
|
}],
|
|
'import/newline-after-import': 'error',
|
|
'import/no-duplicates': 'error',
|
|
|
|
// Environment-specific
|
|
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
|
|
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
|
},
|
|
} |