-
Notifications
You must be signed in to change notification settings - Fork 915
Work in progress #51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Work in progress #51
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1,119 @@ | ||
| Avi said I need a README | ||
| # Superset | ||
|
|
||
| A modern monorepo for Superset - featuring a website, desktop app, docs, and blog. | ||
|
|
||
| ## Quick Start | ||
|
|
||
| ```bash | ||
| # Install dependencies | ||
| bun install | ||
|
|
||
| # Start development servers | ||
| bun dev | ||
|
|
||
| # Run tests | ||
| bun test | ||
| ``` | ||
|
|
||
| ## Tech Stack | ||
|
|
||
| - **Package Manager**: Bun | ||
| - **Build System**: Turborepo | ||
| - **Database**: Drizzle ORM + Neon PostgreSQL | ||
| - **UI**: React + TailwindCSS v4 + shadcn/ui | ||
| - **Code Quality**: Biome (formatting + linting) | ||
|
|
||
| ## Project Structure | ||
|
|
||
| ``` | ||
| apps/ | ||
| ├── website/ # Main website application | ||
| ├── desktop/ # Electron desktop app | ||
| ├── docs/ # Documentation site | ||
| └── blog/ # Blog site | ||
|
|
||
| packages/ | ||
| ├── ui/ # Shared UI components (shadcn/ui) | ||
| ├── db/ # Drizzle ORM database schema | ||
| ├── constants/ # Shared constants | ||
| ├── models/ # Shared data models | ||
| ├── scripts/ # CLI tooling | ||
| └── typescript-config/ # TypeScript configurations | ||
| ``` | ||
|
|
||
| ## Development | ||
|
|
||
| ### Common Commands | ||
|
|
||
| ```bash | ||
| # Development | ||
| bun dev # Start all dev servers | ||
| bun test # Run tests | ||
| bun build # Build all packages | ||
|
|
||
| # Code Quality | ||
| bun run lint # Format + lint + fix auto-fixable issues | ||
| bun run lint:check # Check only (no changes, for CI) | ||
| bun run format # Format code only | ||
| bun run format:check # Check formatting only (CI) | ||
| bun run typecheck # Type check all packages | ||
|
|
||
| # Database | ||
| bun run db:push # Apply schema changes | ||
| bun run db:seed # Seed database | ||
| bun run db:migrate # Run migrations | ||
| bun run db:studio # Open Drizzle Studio | ||
|
|
||
| # Maintenance | ||
| bun run clean # Clean root node_modules | ||
| bun run clean:workspaces # Clean all workspace node_modules | ||
| ``` | ||
|
|
||
| ### Adding UI Components | ||
|
|
||
| ```bash | ||
| cd packages/ui | ||
| npx shadcn@latest add <component> | ||
| ``` | ||
|
|
||
| ## Code Quality | ||
|
|
||
| This project uses Biome for formatting and linting (configured at root level): | ||
|
|
||
| - **Format + Lint**: `bun run lint` - Automatically fixes issues | ||
| - **Check Only**: `bun run lint:check` - Validates without changes (CI) | ||
|
|
||
| ## Database | ||
|
|
||
| Schema is defined in `packages/db/src/` using Drizzle ORM. | ||
|
|
||
| ### Migrations | ||
|
|
||
| 1. Spin up a new Neon branch for migrations | ||
| 2. Update root `.env` to point at the Neon branch | ||
| 3. Modify Drizzle schema in `packages/db/src/schema` | ||
| 4. Generate migration: `pnpm drizzle-kit generate --name="migration_name_snake_case"` | ||
|
|
||
| **Neon Details:** | ||
| - Org ID: `org-round-base-25422821` | ||
| - Project ID: `tiny-cherry-82420694` | ||
|
Comment on lines
+98
to
+99
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chainRemove sensitive project identifiers from README. Neon org ID and project ID should not be committed to the repository in plain text. Move these identifiers to a secure location such as -**Neon Details:**
-- Org ID: `org-round-base-25422821`
-- Project ID: `tiny-cherry-82420694`
+**Neon Details:**
+See internal documentation or team wiki for Neon credentials.Confirm whether these identifiers are public or if they should be removed from the README for security and compliance purposes. I'll verify this review comment by examining the README.md file and researching the sensitivity of Neon identifiers. 🏁 Script executed: #!/bin/bash
# Examine README.md around lines 98-99
if [ -f README.md ]; then
echo "=== README.md lines 90-110 ==="
sed -n '90,110p' README.md
echo ""
echo "=== Searching for org-round-base or tiny-cherry identifiers ==="
rg -n "org-round-base|tiny-cherry" --type-add 'text:txt:md' --type text README.md || echo "No matches in README.md"
else
echo "README.md not found"
fi
# Search entire codebase for these identifiers
echo ""
echo "=== Searching entire codebase for identifiers ==="
rg -n "org-round-base-25422821|tiny-cherry-82420694" || echo "No matches found"Length of output: 1135 🌐 Web query: 💡 Result: Concise best-practices for Neon (Postgres) Organization ID / Project ID security Quick note: Neon’s docs and IaC guides show orgId/projectId are required identifiers for creating/managing resources (Pulumi/OpenTofu examples). Treat them as low‑secrecy identifiers but still handle carefully to avoid accidental exposure or telemetry linking. [1][2] Practical guidance
If you’d like, I can:
Sources
References Remove Neon org ID and project ID from public documentation and code. Neon org IDs and project IDs are low-secret identifiers useful to attackers for discovery and should avoid being exposed publicly when unnecessary. These identifiers are currently hardcoded in multiple files:
Move these to **Neon Details:**
-Org ID: `org-round-base-25422821`
-Project ID: `tiny-cherry-82420694`
+See internal documentation or team wiki for Neon credentials.🤖 Prompt for AI Agents |
||
|
|
||
| ## Desktop App | ||
|
|
||
| The desktop app (`apps/desktop`) is built with Electron and features: | ||
|
|
||
| - Type-safe IPC communication | ||
| - Terminal management with node-pty | ||
| - Git worktree-based workspace management | ||
|
|
||
| See `apps/desktop/docs/TYPE_SAFE_IPC.md` for IPC documentation. | ||
|
|
||
| ## Contributing | ||
|
|
||
| 1. Keep diffs minimal and targeted | ||
| 2. Follow existing code patterns | ||
| 3. Maintain type safety (avoid `any`) | ||
| 4. Co-locate components by usage | ||
| 5. Run `bun run lint` before committing | ||
|
|
||
| For detailed architecture guidelines, see `AGENTS.md`. | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Update package manager to
bunfor consistency.The migration command uses
pnpm, but the entire project is built onbun. Update this to usebun runfor consistency across all documented commands.Verify the correct syntax for running Drizzle migrations with Bun in your project setup.
I'll verify the review comment by checking the project's package manager setup and documentation consistency.
Length of output: 25
🏁 Script executed:
Length of output: 1357
🏁 Script executed:
Length of output: 911
🏁 Script executed:
Length of output: 636
🏁 Script executed:
Length of output: 59
🏁 Script executed:
Length of output: 116
🌐 Web query:
💡 Result:
Use Bun's bunx to run the drizzle-kit CLI, or run a migrator script with bun run.
Examples:
CLI (generate then apply):
bunx drizzle-kit generate --dialect sqlite --schema ./schema.ts
bunx drizzle-kit migrate --config=./drizzle.config.ts. [1][2]
Programmatic migrator (e.g. migrate.ts) and run with Bun:
bun run migrate.ts (migrate.ts calls migrate(...) from drizzle-orm/*/migrator). [1][2]
Sources: Bun Drizzle guide and Drizzle Kit docs. [1][2]
Update package manager to
bunand use correct Bun syntax for consistency.Line 95 is the only place in README that uses
pnpm; all other documented commands usebun. Additionally, the correct idiomatic syntax for Bun isbunx drizzle-kit generate, notbun run drizzle-kit generate(since there's no drizzle-kit script in package.json).🤖 Prompt for AI Agents