Skip to content
Prompt

datahub — Cursor Rules

by datahub-project

AI Summary

A 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

0/2000
Loading comments...

Health Signals

MaintenanceCommitted 1mo ago
Active
Adoption1K+ stars on GitHub
11.6k ★ · Popular
DocsREADME + description
Well-documented

GitHub Signals

Stars11.6k
Forks3.4k
Issues770
Updated1mo ago
View on GitHub
Apache-2.0 License

My Fox Den

Community Rating

Sign in to rate this booster

Works With

Any AI assistant that accepts custom rules or system prompts

Claude
ChatGPT
Cursor
Windsurf
Copilot
+ more