AI SummaryA Cursor rules prompt that standardizes the DataHub development workflow by directing developers to use a centralized shell script (datahub-dev.sh) for all build, test, and flag operations. This benefits DataHub contributors by reducing setup friction and ensuring consistent development practices across the team.
Install
Copy this and paste it into Claude Code, Cursor, or any AI assistant:
I want to add the "datahub — Cursor Rules" prompt rules to my project. Repository: https://github.com/datahub-project/datahub Please read the repo to find the rules/prompt file, then: 1. Download it to the correct location (.cursorrules, .windsurfrules, .github/prompts/, or project root — based on the file type) 2. If there's an existing rules file, merge the new rules in rather than overwriting 3. Confirm what was added
Description
DataHub dev workflow — use scripts/dev/datahub-dev.sh for all build/test/flag operations
`datahub-dev` CLI Tool
A stdlib-only Python CLI for agent-driven development. No venv needed — runs with system python3. Always use the shell wrapper as the entry point: `bash scripts/dev/datahub-dev.sh <command> ` Run scripts/dev/datahub-dev.sh --help to see all available subcommands (start, status, wait, rebuild, test, flag list/get, env, sync-flags, reset, nuke).
End-to-End Workflow
• Start: scripts/dev/datahub-dev.sh start • Code: Make changes to Java/Python/frontend code • Rebuild: scripts/dev/datahub-dev.sh rebuild --wait • Test: scripts/dev/datahub-dev.sh test <test-path> • Iterate: Repeat steps 2–4 Worktree note: All Gradle commands inside the tool already pass -x generateGitPropertiesGlobal to avoid git-related failures in worktrees.
Module-to-Container Mapping
| Source directory | Container | | --------------------------------- | --------------------------------------------- | | metadata-service/ | datahub-gms | | datahub-graphql-core/ | datahub-gms | | metadata-io/ | datahub-gms | | datahub-frontend/ | datahub-frontend-react | | metadata-jobs/mce-consumer-job/ | datahub-mce-consumer | | metadata-jobs/mae-consumer-job/ | datahub-mae-consumer | | metadata-models/ | All (triggers full rebuild + code generation) |
Feature Flag Lifecycle
All flag changes require a container restart. Use env set + env restart: `bash scripts/dev/datahub-dev.sh env set SHOW_BROWSE_V2=true scripts/dev/datahub-dev.sh env restart ` flag list and flag get are read-only inspection tools — they show the current live values from the running server but do not change anything. The flag manifest at scripts/generated/flag-classification.json is auto-generated (gitignored). Run scripts/dev/datahub-dev.sh sync-flags after adding fields to FeatureFlags.java or after a fresh clone.
Discussion
Health Signals
My Fox Den
Community Rating
Sign in to rate this booster
Works With
Any AI assistant that accepts custom rules or system prompts