openpencil/steiger.config.ts

47 lines
1.8 KiB
TypeScript
Raw Normal View History

2026-05-14 15:23:25 +00:00
import fsd from '@feature-sliced/steiger-plugin'
import { defineConfig } from 'steiger'
import { openPencilArchitecturePlugin } from './tools/architecture/src/steiger-rules/index.ts'
2026-05-14 15:23:25 +00:00
2026-05-14 17:51:59 +00:00
// OpenPencil is not laid out as canonical Feature-Sliced Design layers.
// Keep Steiger focused on project-specific architecture boundaries instead of
// enabling fsd.configs.recommended, which treats src/ and packages/ as FSD layer typos.
2026-05-14 15:23:25 +00:00
export default defineConfig([
fsd.plugin,
openPencilArchitecturePlugin,
{
ignores: [
'.claude/**',
2026-05-14 15:23:25 +00:00
'node_modules/**',
'dist/**',
'desktop/**',
'public/**',
'scratch/**',
'demo-recordings/**'
]
},
{
rules: {
2026-05-14 17:57:19 +00:00
'open-pencil/prefer-domain-folders-over-filename-prefixes': 'error',
2026-05-14 17:35:23 +00:00
'open-pencil/strict-test-file-placement': 'error',
'open-pencil/no-engine-only-assertions-in-e2e': 'error',
'open-pencil/no-e2e-imports-in-engine-tests': 'error',
2026-05-14 17:51:59 +00:00
'open-pencil/no-root-markdown-clutter': 'error',
'open-pencil/no-prototype-or-generated-imports': 'error',
2026-05-14 15:23:25 +00:00
'open-pencil/no-property-panel-imports-in-canvas': 'error',
'open-pencil/no-app-imports-in-workspace-packages': 'error',
2026-05-14 15:56:45 +00:00
'open-pencil/no-package-internals-in-app': 'error',
'open-pencil/no-foreign-package-local-aliases': 'error',
2026-05-14 16:07:23 +00:00
'open-pencil/no-app-imports-components-or-views': 'error',
'open-pencil/no-components-import-views': 'error',
2026-05-14 17:35:23 +00:00
'open-pencil/no-views-imported-outside-entry': 'error',
'open-pencil/no-non-ui-imports-in-shared-ui': 'error',
2026-05-14 16:00:51 +00:00
'open-pencil/no-app-imports-in-shared-ui': 'error',
'open-pencil/no-property-panel-internals-outside-panel': 'error',
'open-pencil/no-ui-imports-in-core': 'error',
'open-pencil/scripts-are-entrypoint-shims': 'error',
'open-pencil/strict-tools-layout': 'error'
2026-05-14 15:23:25 +00:00
}
}
])