{"id":26439,"library":"structlint","title":"structlint","description":"Lint your project structure against architecture rules. Currently at version 1.0.0-beta.1 with no stable release yet and uncertain release cadence. Defines allowed and disallowed imports per directory using glob patterns in .structlintrc configs. Differentiates by enabling per-folder configs and recursive linting, acting as an 'ESLint for folder structure'.","status":"active","version":"1.0.0-beta.1","language":"javascript","source_language":"en","source_url":"https://github.com/desfero/structlint","tags":["javascript","structure linter","architecture linter","lint folders","eslint for structure","directory","structure","linter","linting"],"install":[{"cmd":"npm install structlint","lang":"bash","label":"npm"},{"cmd":"yarn add structlint","lang":"bash","label":"yarn"},{"cmd":"pnpm add structlint","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Use npx to avoid global install.","wrong":"structlint","symbol":"structlint","correct":"npx structlint"}],"quickstart":{"code":"npm install --save-dev structlint\necho '{\"structure\":[{\"path\":\"./src\",\"disallowedImports\":[\"./tests/**/*\"]}]}' > .structlintrc\nmkdir -p src tests\nnpx structlint","lang":"bash","description":"Installs structlint, creates a config disallowing tests imports in src/, then runs lint."},"warnings":[{"fix":"Pin version and test before upgrading.","message":"Beta version: API may change in future releases.","severity":"gotcha","affected_versions":"1.0.0-beta.1"},{"fix":"Always use paths relative to the .structlintrc file location.","message":"Configs in subdirectories are relative to their own location.","severity":"gotcha","affected_versions":">=1.0.0-beta.1"},{"fix":"Set recursive: false in config if only top-level is needed.","message":"Recursive linting is enabled by default; may cause performance issues on large projects.","severity":"gotcha","affected_versions":">=1.0.0-beta.1"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run npx structlint instead, or install globally: npm install -g structlint","cause":"Global install not done or not in PATH.","error":"structlint: command not found"},{"fix":"Create a .structlintrc file with a 'structure' array.","cause":"Missing or malformed .structlintrc file.","error":"TypeError: Cannot read property 'structure' of undefined"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}