When to verify: After completing UI edits and before considering the task done, run these verification commands:
-
[CONDITIONAL] Regenerate GraphQL types if schema changed:
cd $DAGSTER_GIT_REPO_DIR/js_modules make generate-graphql
IMPORTANT: This MUST complete BEFORE running
yarn tsgooryarn lint, as it updates TypeScript type definitions. Only run if GraphQL schema was modified in the backend. -
TypeScript checking:
cd $DAGSTER_GIT_REPO_DIR/js_modules yarn tsgo
Run after completing TypeScript/React file edits to verify types. MUST wait for generate-graphql to complete if it was run.
-
Linting:
cd $DAGSTER_GIT_REPO_DIR/js_modules yarn lint
Run after completing TypeScript/React file edits to check code style. MUST wait for generate-graphql to complete if it was run.
-
Jest tests:
cd $DAGSTER_GIT_REPO_DIR/js_modules yarn jest
Run after completing edits to verify tests pass.
-
Fix any remaining issues: If any command reports errors, Claude must manually correct them
-
Verify success: Ensure all commands pass cleanly before considering the task complete
CRITICAL: When making changes to ui-core or ui-components packages, Claude MUST also check the internal app-cloud repository:
cd $DAGSTER_INTERNAL_GIT_REPO_DIR/dagster-cloud/js_modules/app-cloud
yarn tsgoThis ensures changes to shared UI packages don't break the Cloud application.
- Purpose: Type checking with auto-fix in watch mode
- When: After completing TypeScript/React file edits, when ready to verify
- Scope: Checks app-oss, ui-core, and ui-components workspaces
- Location: Must run from
js_modules/ - Command:
yarn tsgo(notmake tsgo)
- Purpose: ESLint checking and auto-fixing
- When: After completing TypeScript/React file edits, when ready to verify
- Scope: Lints app-oss, ui-core, and ui-components workspaces
- Location: Must run from
js_modules/ - Command:
yarn lint(notmake lint)
- Purpose: Run all Jest tests in silent mode
- When: After completing TypeScript/React file edits, when ready to verify
- Scope: Tests ui-core and ui-components workspaces
- Location: Must run from
js_modules/ - Command:
yarn jest(notmake jest)
- Purpose: Regenerate GraphQL types from schema
- When: After GraphQL schema changes in the backend
- Location: Must run from
js_modules/ - Critical Order: MUST complete BEFORE running
yarn tsgooryarn lint, as it updates TypeScript type definitions that these commands depend on - Note: This is only needed when backend schema changes, not for routine UI edits
- Purpose: Verify production build succeeds
- When: When making changes within the
ui-componentspackage - Location: Must run from
js_modules/ - Note: Not needed for ui-core or app-oss changes during development
When commands cannot auto-fix issues, Claude should address:
- Type errors: Add/fix type annotations, resolve type mismatches
- Import issues: Fix missing or incorrect imports
- Linting violations: Address ESLint rules that require manual fixes
- Test failures: Fix broken tests or update snapshots
- Missing dependencies: Add required packages to package.json
- GraphQL type mismatches: Regenerate GraphQL types or fix queries
# After completing TypeScript/React file edits in js_modules:
cd $DAGSTER_GIT_REPO_DIR/js_modules
# 1. Type checking
yarn tsgo
# 2. Linting
yarn lint
# 3. Tests
yarn jest
# If errors remain, fix manually and re-runNote: Run these commands when you're done with your edits and ready to verify, not after every single file write.
# After completing edits in ui-core or ui-components packages:
cd $DAGSTER_GIT_REPO_DIR/js_modules
# 1. OSS repository checks
yarn tsgo
yarn lint
yarn jest
# 2. Cross-repository check (internal)
cd $DAGSTER_INTERNAL_GIT_REPO_DIR/dagster-cloud/js_modules/app-cloud
yarn tsgocd $DAGSTER_GIT_REPO_DIR/js_modules
# CRITICAL ORDER: generate-graphql MUST complete BEFORE yarn tsgo/yarn lint
# 1. Regenerate types (MUST complete first)
make generate-graphql
# 2. Type checking (needs updated GraphQL types)
yarn tsgo
# 3. Linting (needs updated GraphQL types)
yarn lint
# 4. Tests
yarn jestWhy this order matters: make generate-graphql updates TypeScript type definitions based on the backend schema. Running yarn tsgo or yarn lint before these types are updated will result in false type errors.
cd $DAGSTER_GIT_REPO_DIR/js_modules
# 1. Standard checks
yarn tsgo
yarn lint
yarn jest
# 2. Verify production build
yarn build
# 3. Cross-repository check
cd $DAGSTER_INTERNAL_GIT_REPO_DIR/dagster-cloud/js_modules/app-cloud
yarn tsgo