Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
30a1d3a
docs: update CHANGELOG.md for v3.7.1
github-actions[bot] Apr 8, 2026
9cac1f8
docs: trim CHANGELOG.md v3.7.1 to relevant entries only
c-julin Apr 8, 2026
b86a829
Merge pull request #2371 from redpanda-data/changelog/v3.7.1
c-julin Apr 8, 2026
e167181
fix(frontend): resolve bun compatibility issues for local dev (#2372)
malinskibeniamin Apr 9, 2026
e70198b
New Pipeline UX Bug Bash fixes part 1 (#2373)
eblairmckee Apr 10, 2026
3c0a207
chore: bump twmb/avro to v1.4.1 (#2376)
twmb Apr 11, 2026
357aa3c
fix(frontend): switch React Compiler to opt-in annotation mode (#2375)
malinskibeniamin Apr 13, 2026
f9625c7
feat(frontend): add composable renderPrincipal slot to CreateACL
sago2k8 Apr 10, 2026
309928f
feat(frontend): show Group principals in ACLs and Permissions List
sago2k8 Apr 10, 2026
73366ea
feat(frontend): add lockPrincipal query param to ACL create page
sago2k8 Apr 10, 2026
dab065d
test(frontend): add E2E tests for roles, permissions list, and lockPr…
sago2k8 Apr 10, 2026
d98b3a0
docs(frontend): clarify bun run usage in AGENTS.md
sago2k8 Apr 10, 2026
0bdab38
fix(frontend): fix silent toast errors in mutation hooks
sago2k8 Apr 10, 2026
458c436
feat(frontend): improve gRPC error formatting with findDetails
sago2k8 Apr 10, 2026
d99ac8a
refactor(frontend): migrate user-create page to Connect gRPC and UI R…
sago2k8 Apr 10, 2026
df80657
refactor(frontend): extract resolveAclSearchParams and remove lockPri…
sago2k8 Apr 10, 2026
3adbe58
fix(frontend): sync CreateACL sharedConfig when props change after mount
sago2k8 Apr 10, 2026
dcf3f8a
test(frontend): update E2E tests with testIds and Create ACLs flow
sago2k8 Apr 10, 2026
c6c056a
refactor(frontend): remove legacy ACL list page and old security tab …
sago2k8 Apr 10, 2026
fb5dafa
refactor(frontend): update security routes to file-based tab structure
sago2k8 Apr 10, 2026
ef50170
refactor(frontend): update ACL and role pages for new security routing
sago2k8 Apr 10, 2026
b473024
chore(frontend): minor cleanup in add-user-step and confirmation modal
sago2k8 Apr 10, 2026
0001e95
feat(frontend): add file-based security tab routes
sago2k8 Apr 10, 2026
19b5ccf
feat(frontend): add security tab components, hooks, and shared utilities
sago2k8 Apr 10, 2026
948cfb3
refactor(frontend): extract generatePassword to utils/password.ts
sago2k8 Apr 10, 2026
feabe56
refactor(frontend): delete orphaned ACL components
sago2k8 Apr 10, 2026
cb9d03f
refactor(frontend): flatten new-acl subdirectory into acls
sago2k8 Apr 10, 2026
3a0bf8a
fix(tests): update acl.model import paths to match new-acl flatten re…
sago2k8 Apr 11, 2026
1b00e45
refactor(frontend): use shared generatePassword utility in acl and on…
sago2k8 Apr 11, 2026
d24f723
chore(deps): upgrade react-doctor to 0.0.33 and add ultracite script …
sago2k8 Apr 11, 2026
de46110
refactor(frontend): move ACL and role components under security direc…
sago2k8 Apr 11, 2026
fcc6a42
fix(frontend): restore propSharedConfig sync effect and revert react-…
sago2k8 Apr 11, 2026
92d9354
fix(frontend): add htmlFor/id to Username field for label-input assoc…
sago2k8 Apr 11, 2026
d17334f
ci: concurrency groups, e2e sharding, React Doctor cache fix, branch …
malinskibeniamin Apr 14, 2026
5679464
Fixes e2e tests non-deterministic startup
jvorcak Apr 14, 2026
21c3db5
Merge pull request #2379 from redpanda-data/fix/e2e-tests-fixes-local…
jvorcak Apr 15, 2026
da28296
fix(frontend): disable rsbuild buildCache and bump build deps (#2380)
malinskibeniamin Apr 15, 2026
35e6d35
fix(federation): prevent router recreation loop in MF mode
c-julin Apr 15, 2026
21a74e6
fix(federation): disable legacy navigation events in MFv2 mode
c-julin Apr 16, 2026
b5022bd
test(federation): add tests for router stability and RouterSync fixes
c-julin Apr 16, 2026
754a96a
feat(agents): migrate provider/model selection to aigw v2
alenkacz Apr 16, 2026
6ca71f6
Merge pull request #2383 from redpanda-data/av/aigw-v2-migration
alenkacz Apr 16, 2026
266ca00
style(frontend): apply ultracite fix (trailing commas, import order)
c-julin Apr 16, 2026
7712b64
fix(frontend): replace axios with fetch in hubspot helper (#2385)
alenkacz Apr 16, 2026
e49293b
ci: remove E2E tests from OSS CI — moved to enterprise repo
c-julin Apr 13, 2026
11396db
Merge pull request #2378 from redpanda-data/ci/optimize-oss-push-work…
c-julin Apr 16, 2026
e9734c0
feat(agents): switch MCP tool picker to AIGW MCPServerService
simon0191 Apr 17, 2026
eb7a5b5
feat(agents): remove "Create MCP Server" button from agent-flow empty…
simon0191 Apr 17, 2026
a9e736d
fix(aigw): ignore unknown JSON fields in aigw transport
simon0191 Apr 17, 2026
7d4f73e
fix(aigw): use binary wire format for aigw transport
simon0191 Apr 17, 2026
a4cc140
test(agents): use aigw default port 8090 in ai-agent-list-page test
simon0191 Apr 17, 2026
b49b906
Merge pull request #2387 from redpanda-data/ss/rfc-003-aigw-mcps-in-a…
simon0191 Apr 17, 2026
49c8178
Merge pull request #2381 from redpanda-data/jc/fix-mf-router-recreati…
c-julin Apr 17, 2026
3368094
fix(frontend): bump lucide-react to ^1.8.0 and align with Cloud UI
c-julin Apr 17, 2026
2158310
Merge pull request #2388 from redpanda-data/jc/align-lucide-react-wit…
c-julin Apr 17, 2026
e954c5d
test(frontend): upgrade vitest 4.1.4, dedupe configs, eliminate warni…
malinskibeniamin Apr 17, 2026
fbb812e
fix(acls): prevent React key collision on edit-mode rule counter (UX-…
c-julin Apr 17, 2026
3a64217
fix(e2e): skip UX-1217 test pending helper fix (UX-1217, UX-1198)
c-julin Apr 17, 2026
edf4b38
test(acls): unskip UX-1217 regression, rework to actually reproduce c…
c-julin Apr 20, 2026
c5b82b6
test(acls): add unit tests
c-julin Apr 20, 2026
b30c451
Merge pull request #2392 from redpanda-data/fix/ux-1217-acl-rule-id-c…
c-julin Apr 20, 2026
8d2574b
fix(agents): update edit screen to use aigw provider selector
alenkacz Apr 20, 2026
c1db316
style: apply biome formatting
alenkacz Apr 20, 2026
255bd9a
chore(frontend): upgrade MCP SDK to 1.29.0 + adopt onerror, streaming…
malinskibeniamin Apr 20, 2026
f964b9b
fix(agents): filter out unsupported Bedrock provider from aigw dropdowns
alenkacz Apr 20, 2026
9e0ba89
Merge pull request #2393 from alenkacz/av/fix-agent-edit-aigw-provider
alenkacz Apr 20, 2026
a902c15
fix(secrets): paginate ListSecrets to return all entries (#2394)
malinskibeniamin Apr 20, 2026
2581fb3
chore(frontend): bump A2A, AI SDK v6, streamdown v2; re-sync AI Eleme…
malinskibeniamin Apr 20, 2026
1fc1886
fix(proto): scope cloud BSR module to adp protos only
alenkacz Apr 21, 2026
72c1434
fix(ci): detect untracked protogen files in proto:generate check
alenkacz Apr 21, 2026
1aae068
chore(proto): pin cloud BSR module and remove unused dep
alenkacz Apr 21, 2026
0b5b1db
fix(deps): bump protobufjs to 7.5.5 for GHSA-xq3m-2v4x-88gg (#2395)
malinskibeniamin Apr 21, 2026
befb5b8
Merge pull request #2401 from redpanda-data/av/fix-cloud-proto-scope
alenkacz Apr 21, 2026
34be39e
feat(agents): add Bedrock provider to AIAgent proto
alenkacz Apr 21, 2026
ac42d14
Merge pull request #2402 from redpanda-data/av/bedrock-agent-provider
alenkacz Apr 21, 2026
c4c0633
chore(frontend): remove vestigial AI Gateway v1 references (#2403)
malinskibeniamin Apr 21, 2026
2623d4f
feat(frontend): gate Remote MCP sidebar item behind LaunchDarkly flag…
malinskibeniamin Apr 21, 2026
99bd993
fix(a2a): resubscribe on graceful SSE close with in-flight task (#2406)
malinskibeniamin Apr 21, 2026
a51f456
fix(security): bump transitive deps to patch Snyk vulnerabilities (#2…
malinskibeniamin Apr 21, 2026
4f0be1d
backend: bump OpenTelemetry to v1.43.0 to address Snyk findings
twmb Apr 21, 2026
534690f
Merge pull request #2407 from redpanda-data/tb/snyk-otel-bump
c-julin Apr 21, 2026
a252246
fix(proto): exclude AgentRegistryService from cloud proto generation …
malinskibeniamin Apr 22, 2026
75a7559
fix(agents): allow bedrock in agent form provider enum (#2415)
birdayz Apr 22, 2026
d65f80d
fix(agents): wire bedrock provider in create form submit (#2417)
birdayz Apr 22, 2026
94449f4
fix(topics): hide Infinite button for capped configs + fix Custom SEL…
c-julin Apr 23, 2026
f942e34
fix(frontend): UX copy and typography sweep across console UI (#2419)
malinskibeniamin Apr 24, 2026
a4ba37e
fix(agents): preserve bedrock region on AI agent edit
alenkacz Apr 24, 2026
d87ce05
fix: add optional chaining on providerConfig.value
alenkacz Apr 24, 2026
910adb5
Merge pull request #2423 from redpanda-data/alena/fix-bedrock-region-…
alenkacz Apr 24, 2026
357c64a
ci: dispatch to console-enterprise for fork PRs (#2398)
c-julin Apr 28, 2026
2389de8
fix(topics): clamp default replication factor to broker count (#2420)
c-julin Apr 28, 2026
e2831c1
proto: bump transcript ID max_len from 128 to 256 (#2427)
birdayz Apr 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
66 changes: 66 additions & 0 deletions .github/workflows/fork-pr-dispatch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
---
name: Fork PR dispatch to enterprise
on:
workflow_run:
workflows: ["PR verification (forks)"]
types: [completed]
permissions:
id-token: write
contents: read
statuses: write
jobs:
dispatch:
if: >
github.event.workflow_run.conclusion == 'success' &&
github.event.workflow_run.event == 'pull_request' &&
github.event.workflow_run.head_repository.fork == true
runs-on: blacksmith-2vcpu-ubuntu-2404
steps:
- uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: ${{ vars.RP_AWS_CRED_REGION }}
role-to-assume: arn:aws:iam::${{ secrets.RP_AWS_CRED_ACCOUNT_ID }}:role/${{ vars.RP_AWS_CRED_BASE_ROLE_NAME }}${{ github.event.repository.name }}
- uses: aws-actions/aws-secretsmanager-get-secrets@v2
with:
secret-ids: |
,sdlc/prod/github/actions_bot_token
parse-json-secrets: true
- name: Build dispatch payload
id: payload
env:
HEAD_BRANCH: ${{ github.event.workflow_run.head_branch }}
HEAD_SHA: ${{ github.event.workflow_run.head_sha }}
HEAD_REPO: ${{ github.event.workflow_run.head_repository.full_name }}
uses: actions/github-script@v7
with:
script: |
const payload = {
branch: process.env.HEAD_BRANCH,
commit_sha: process.env.HEAD_SHA,
head_repository: process.env.HEAD_REPO,
is_fork: true,
};
core.setOutput('json', JSON.stringify(payload));
core.setOutput('sha', process.env.HEAD_SHA);
- name: Repository dispatch for fork PR
uses: peter-evans/repository-dispatch@caebe2a7c967e9f927ff8780fea8e16e50b5ce40
with:
token: ${{ env.ACTIONS_BOT_TOKEN }}
repository: redpanda-data/console-enterprise
event-type: push
client-payload: ${{ steps.payload.outputs.json }}
- name: Set pending enterprise CI status
env:
HEAD_SHA: ${{ steps.payload.outputs.sha }}
uses: actions/github-script@v7
with:
github-token: ${{ env.ACTIONS_BOT_TOKEN }}
script: |
await github.rest.repos.createCommitStatus({
owner: 'redpanda-data',
repo: 'console',
sha: process.env.HEAD_SHA,
state: 'pending',
description: 'Enterprise CI is running...',
context: 'Enterprise CI'
});
11 changes: 6 additions & 5 deletions .github/workflows/frontend-react-doctor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ on:
paths:
- "frontend/**"
- ".github/workflows/frontend-react-doctor.yml"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
react-doctor:
timeout-minutes: 5
Expand All @@ -22,12 +25,10 @@ jobs:
- name: Cache dependencies
uses: actions/cache@v4
with:
path: |
~/.bun/install/cache
frontend/node_modules
key: ${{ runner.os }}-bun-frontend-${{ hashFiles('frontend/bun.lock') }}
path: ~/.bun/install/cache
key: ${{ runner.os }}-bun-cache-${{ hashFiles('frontend/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-frontend-
${{ runner.os }}-bun-cache-
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Run React Doctor
Expand Down
60 changes: 60 additions & 0 deletions .github/workflows/frontend-update-baselines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
name: frontend-update-baselines
# Regenerate Vitest browser test screenshot baselines (platform-agnostic)
# and commit them to the branch. Run this workflow when UI changes cause
# intentional visual diffs that need new baselines.
# Keep action versions in sync with frontend-visual.yml
on:
workflow_dispatch:
inputs:
branch:
description: Branch to update baselines on
required: true
default: main
permissions:
contents: write
env:
CI: true
jobs:
update-baselines:
timeout-minutes: 5
runs-on: blacksmith-2vcpu-ubuntu-2404
defaults:
run:
working-directory: frontend
steps:
- name: Checkout
uses: actions/checkout@v6.0.2
with:
ref: ${{ github.event.inputs.branch }}
- name: Setup Bun
uses: oven-sh/setup-bun@v2.2.0
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Cache Playwright browsers
uses: actions/cache@v5.0.4
id: playwright-cache
with:
path: ~/.cache/ms-playwright
key: ${{ runner.os }}-playwright-chromium-${{ hashFiles('frontend/bun.lock') }}
restore-keys: |
${{ runner.os }}-playwright-chromium-
- name: Install Playwright browsers
if: steps.playwright-cache.outputs.cache-hit != 'true'
run: bunx playwright install --with-deps chromium
- name: Install Playwright system deps (cached)
if: steps.playwright-cache.outputs.cache-hit == 'true'
run: bunx playwright install-deps chromium
- name: Regenerate screenshot baselines
run: bun run test:browser:update
- name: Commit updated baselines
run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add 'src/**/__screenshots__/**/*.png'
if git diff --cached --quiet; then
echo "::notice::No baseline changes detected"
else
git commit -m "chore(frontend): update visual regression baselines [skip ci]"
git push
fi
98 changes: 11 additions & 87 deletions .github/workflows/frontend-verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,6 @@ jobs:
uses: actions/checkout@v5
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Cache dependencies
uses: actions/cache@v4
with:
path: |
~/.bun/install/cache
frontend/node_modules
key: ${{ runner.os }}-bun-frontend-${{ hashFiles('frontend/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-frontend-
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Get Biome version
Expand Down Expand Up @@ -57,15 +48,6 @@ jobs:
uses: actions/checkout@v5
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Cache dependencies
uses: actions/cache@v4
with:
path: |
~/.bun/install/cache
frontend/node_modules
key: ${{ runner.os }}-bun-frontend-${{ hashFiles('frontend/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-frontend-
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Run typecheck
Expand All @@ -82,15 +64,6 @@ jobs:
uses: actions/checkout@v5
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Cache dependencies
uses: actions/cache@v4
with:
path: |
~/.bun/install/cache
frontend/node_modules
key: ${{ runner.os }}-bun-frontend-${{ hashFiles('frontend/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-frontend-
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Restore Rspack build cache
Expand Down Expand Up @@ -125,15 +98,6 @@ jobs:
uses: actions/checkout@v5
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Cache dependencies
uses: actions/cache@v4
with:
path: |
~/.bun/install/cache
frontend/node_modules
key: ${{ runner.os }}-bun-frontend-${{ hashFiles('frontend/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-frontend-
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Run unit tests
Expand All @@ -160,15 +124,6 @@ jobs:
uses: actions/checkout@v5
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Cache dependencies
uses: actions/cache@v4
with:
path: |
~/.bun/install/cache
frontend/node_modules
key: ${{ runner.os }}-bun-frontend-${{ hashFiles('frontend/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-frontend-
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Run integration tests
Expand All @@ -180,10 +135,10 @@ jobs:
path: frontend/test-results
retention-days: 2

e2e-test:
needs: ["lint", "type-check", "build"]
timeout-minutes: 30
runs-on: blacksmith-16vcpu-ubuntu-2404
test-coverage:
needs: ["test-unit", "test-integration"]
timeout-minutes: 10
runs-on: blacksmith-4vcpu-ubuntu-2404
defaults:
run:
working-directory: frontend
Expand All @@ -192,45 +147,14 @@ jobs:
uses: actions/checkout@v5
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Cache dependencies
uses: actions/cache@v4
with:
path: |
~/.bun/install/cache
frontend/node_modules
key: ${{ runner.os }}-bun-frontend-${{ hashFiles('frontend/bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-frontend-
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Download frontend build artifact
uses: actions/download-artifact@v4
with:
name: frontend-build
path: frontend/build
- name: Setup Go
uses: actions/setup-go@v6
with:
go-version-file: 'backend/go.mod'
cache-dependency-path: backend/go.sum
- name: Get Playwright version
id: pw-version
run: echo "version=$(jq -r '.devDependencies["@playwright/test"]' package.json)" >> $GITHUB_OUTPUT
- name: Cache Playwright browsers
uses: actions/cache@v4
id: playwright-cache
with:
path: ~/.cache/ms-playwright
key: ${{ runner.os }}-playwright-${{ steps.pw-version.outputs.version }}
- name: Install Playwright browsers
if: steps.playwright-cache.outputs.cache-hit != 'true'
run: bun run install:chromium
- name: Run Playwright tests
run: bun run e2e-test
- name: Upload Playwright report artifact
- name: Run coverage (unit + integration, merged)
run: bun run test:coverage
- name: Upload merged coverage HTML report
uses: actions/upload-artifact@v4
if: ${{ failure() }}
if: always()
with:
name: playwright-report
path: frontend/playwright-report/
retention-days: 2
name: coverage-report
path: frontend/coverage-merged/
retention-days: 14
73 changes: 73 additions & 0 deletions .github/workflows/frontend-visual.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
name: frontend-visual
# Vitest browser-mode visual regression tests for the console frontend.
# Mirrors apps/adp-ui/.github/workflows/adp-ui.yml `test-browser` job.
on:
push:
paths:
- '.github/workflows/frontend-visual.yml'
- 'frontend/**'
branches-ignore:
- 'dependabot/**'
- 'snyk-upgrade-**'
- 'gh-readonly-queue/**'
- 'production'
- 'preprod'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CI: true
jobs:
test-browser:
# Visual regression tests — compares against Linux/Chromium baselines
# committed to git. If screenshots change, this job fails BUT does NOT
# block PR merge (continue-on-error + not listed in any required checks).
# Run "bun run test:browser:update" via the frontend-update-baselines
# workflow to regenerate baselines when UI changes are intentional.
timeout-minutes: 5
continue-on-error: true
runs-on: blacksmith-2vcpu-ubuntu-2404
defaults:
run:
working-directory: frontend
steps:
- name: Checkout
uses: actions/checkout@v6.0.2
- name: Setup Bun
uses: oven-sh/setup-bun@v2.2.0
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Cache Playwright browsers
uses: actions/cache@v5.0.4
with:
path: ~/.cache/ms-playwright
key: ${{ runner.os }}-playwright-chromium-${{ hashFiles('frontend/bun.lock') }}
restore-keys: |
${{ runner.os }}-playwright-chromium-
- name: Install Playwright browsers
run: bunx playwright install --with-deps chromium
- name: Run browser tests
run: |
# Only run strict comparison when Linux baselines exist in git.
# Baseline generation is intentionally NOT done on push CI — it
# blocks on the first cold Vitest+Playwright browser-mode launch
# and runs out the job timeout. Use the `frontend-update-baselines`
# workflow_dispatch to generate and commit baselines.
if git ls-files 'src/**/__screenshots__/**/*-linux.png' | grep -q .; then
bun run test:browser
else
echo "::notice::No Linux baselines committed yet — skipping visual regression. Run 'frontend-update-baselines' workflow to generate."
fi
- uses: actions/upload-artifact@v7.0.1
if: failure()
with:
name: browser-test-diffs
path: |
frontend/src/**/__screenshots__/**/*.png
frontend/.vitest-attachments
retention-days: 7
- name: Hint on visual diff failure
if: failure()
run: |
echo "::warning::Visual regression detected. If the UI change is intentional, run the 'frontend-update-baselines' workflow on this branch to regenerate baselines."
3 changes: 3 additions & 0 deletions .github/workflows/repository-dispatch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ on:
- '*'
branches:
- '**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
id-token: write
contents: read
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ requests.txt
# Local build tools installed via Taskfiles
build

.cursor
.cursor
Loading
Loading