|
| 1 | +# Blueprint.js Agentic Development Guide |
| 2 | + |
| 3 | +## Build/Test Commands |
| 4 | + |
| 5 | +- **Build**: `yarn compile` (all packages), `yarn nx compile @blueprintjs/core` (single package) |
| 6 | +- **Test all**: `yarn test`, `nx run-many -t test` |
| 7 | +- **Test single package**: `yarn nx test:karma @blueprintjs/core` or `cd packages/core && yarn test:karma` |
| 8 | +- **Distribute**: `yarn dist`, `yarn nx dist @blueprintjs/core` (single package) |
| 9 | +- **Lint**: `yarn lint`, `yarn lint-fix` (auto-fix), `yarn nx lint @blueprintjs/core` (single package) |
| 10 | +- **Format**: `yarn format`, `yarn format-check` |
| 11 | +- **Verify all**: `yarn verify` (compile + dist + test + lint + format-check) |
| 12 | + |
| 13 | +## Architecture |
| 14 | + |
| 15 | +- **Monorepo** using Yarn workspaces + Nx task runner |
| 16 | +- **Packages**: Core UI components in `packages/` - core, datetime, select, table, icons, colors |
| 17 | +- **Apps**: docs-app (blueprintjs.com), demo-app, table-dev-app for development |
| 18 | +- **Build tools**: karma-build-scripts, node-build-scripts, webpack-build-scripts |
| 19 | +- **Testing**: Mocha + Karma (components), Jest (build scripts), Enzyme + Chai + Sinon |
| 20 | + - New tests should be written with React Testing Library (RTL) |
| 21 | + |
| 22 | +## Code Style |
| 23 | + |
| 24 | +- **Prettier**: 120 char width, 4-space tabs (2 for SCSS/YAML), trailing commas |
| 25 | +- **ESLint**: TypeScript-ESLint + custom @blueprintjs rules, no console.log |
| 26 | +- **Imports**: Use workspace: deps, no lodash-es (use lodash submodules) |
| 27 | +- **Types**: Strict TypeScript, React 18 peer deps |
| 28 | +- **Components**: Follow existing patterns in packages/core/src/components/ |
| 29 | +- **Styling**: SCSS in src/, compiled to lib/css/ |
0 commit comments