Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
b3b81be
Merge pull request #444 from contentstack/feat/dx-3649-taxonomy-publi…
harshithad0703 Oct 29, 2025
7486e3d
Merge branch 'development' into feat/taxonomy-publishing
harshitha-cstk Jan 12, 2026
b628bab
update taxonomy test cases
harshitha-cstk Jan 12, 2026
5947971
feat: comprehensive API test suite improvements
AniketDev7 Jan 22, 2026
86f3c28
chore: update gitignore and remove env.example.txt
AniketDev7 Jan 23, 2026
bee3a7c
fix: improve bulk operations and branch test reliability
AniketDev7 Jan 23, 2026
b4e9ae2
fix: use dynamic environment names in publish/deploy tests
AniketDev7 Jan 23, 2026
1397d9b
fix: improve test reliability and cleanup logic
AniketDev7 Jan 23, 2026
9f18d9d
feat: add DAM 2.0 asset_fields query parameter test cases
AniketDev7 Feb 10, 2026
42cdbf1
Sanity tests: dynamic setup, report context, fixes, security cleanup
AniketDev7 Feb 10, 2026
6e01b08
fix: ensure Expected vs Actual always appears in Mochawesome report
AniketDev7 Feb 11, 2026
5828b96
chore(sanity): add trackedExpect across all sanity API test files
AniketDev7 Feb 11, 2026
cbd293b
Merge origin/master (PR #504 hotfix DX-4429) into feat/dam-2.0-test-c…
AniketDev7 Feb 11, 2026
a297264
fix: add sanity-check mock content-type.js for unit tests
AniketDev7 Feb 11, 2026
1ce0d64
fix: ESLint in asset-test.js and unit test mock paths
AniketDev7 Feb 11, 2026
14c1394
fix: ESLint in branch-test.js and auditlog-test.js
AniketDev7 Feb 11, 2026
ade22b1
fix: ESLint in branchAlias-test.js
AniketDev7 Feb 11, 2026
260e454
chore: disable no-unused-expressions for test files
AniketDev7 Feb 11, 2026
ed7c18e
fix: ESLint in bulkOperation-test.js
AniketDev7 Feb 11, 2026
0a53635
chore: sanity test lint fixes and trackedExpect cleanup
AniketDev7 Feb 11, 2026
36d5350
Merge pull request #518 from contentstack/test/back-merge
harshithad0703 Mar 4, 2026
8d5bc32
Merge master + fix environment usage for downstream tests
AniketDev7 Mar 11, 2026
085cf8c
Restore husky hooks, commit entry/stack/content-type test updates
AniketDev7 Mar 11, 2026
3adc817
Fix publish Entry test: assert on response.notice (CMA API does not r…
AniketDev7 Mar 11, 2026
4efcaa8
Fix ESLint: add before import, remove unused bulkCtTitle1 and tempEnv
AniketDev7 Mar 11, 2026
35eed59
Update version bump workflow to check for production changes only and…
harshitha-cstk Mar 11, 2026
334f10d
-n
harshitha-cstk Mar 11, 2026
e756bd1
Enhance version bump workflow to skip checks when only comments are m…
harshitha-cstk Mar 11, 2026
4bfc6af
fix(sanity): use client with post-login authtoken for OAuth tests
AniketDev7 Mar 11, 2026
474976f
fix(sanity): asset/bulk AM 2.0, branch merge, testHelpers
AniketDev7 Mar 11, 2026
1db3bf7
Merge branch 'feat/dam-2.0-test-cases' of https://github.com/contents…
AniketDev7 Mar 11, 2026
8cefff7
Update bulkOperation-test.js to increase job readiness wait time and …
AniketDev7 Mar 11, 2026
84ca8df
The workflow now skips checks for PRs with only test/docs changes
harshitha-cstk Mar 12, 2026
2d76134
update workflow
harshitha-cstk Mar 12, 2026
3289fe8
update version bump workflow
harshitha-cstk Mar 12, 2026
3d84697
Merge master into feat/taxonomy-publishing
harshitha-cstk Mar 12, 2026
33db55b
fix(sanity): OAuth Developer Hub URL, asset compatibility, and bulk j…
AniketDev7 Mar 12, 2026
25c93cc
perf(sanity): optimize bulk job polling - reduce timeout from 90s to 30s
AniketDev7 Mar 12, 2026
63a0140
perf(sanity): optimize bulk job polling configuration
AniketDev7 Mar 12, 2026
c1ac4c8
fix(sanity): revert OAuth approach and expose bulk job auth errors
AniketDev7 Mar 12, 2026
db467ff
fix(bulk-operations): use dynamic stack API key from testContext
AniketDev7 Mar 12, 2026
b447fea
skip the 'should publish with api_version' test in terms-test.js
harshitha-cstk Mar 13, 2026
b911496
Refactor sanity report generation
harshitha-cstk Mar 13, 2026
c4f6717
feat: add support for branch settings
Mar 13, 2026
b2d029c
chore: fix lint issues
Mar 13, 2026
bb7f505
Merge pull request #520 from contentstack/fix/version-check-workflow
harshitha-cstk Mar 13, 2026
62d3303
Merge branch 'development' into feat/taxonomy-publishing
harshitha-cstk Mar 13, 2026
0393302
chore: version bump and changelog update
Mar 13, 2026
5985d0b
fix: dependencies updated
cs-raj Mar 13, 2026
11a543c
Merge pull request #523 from contentstack/fix/snyk2
harshitha-cstk Mar 13, 2026
e53bb9e
Merge branch 'development' into feat/DX-5442
Mar 13, 2026
c68f2d0
Enhance Taxonomy publish function to accept optional query parameters…
harshitha-cstk Mar 13, 2026
2e62451
Merge pull request #522 from contentstack/feat/DX-5442
naman-contentstack Mar 13, 2026
784b0e5
Merge branch 'development' into feat/taxonomy-publishing
harshitha-cstk Mar 13, 2026
d6de7ce
Merge branch 'development' into feat/taxonomy-publishing
harshitha-cstk Mar 13, 2026
bc95750
Merge pull request #521 from contentstack/feat/taxonomy-publishing
harshitha-cstk Mar 13, 2026
064dbdb
comment test for publishing with api_version in terms-test.js
harshitha-cstk Mar 16, 2026
5326aaf
Refactor terms-test.js by commenting out unused makeTaxonomy function…
harshitha-cstk Mar 16, 2026
1180524
Merge pull request #524 from contentstack/fix/update-taxonomy
harshitha-cstk Mar 16, 2026
f7dcdbf
fix(sanity): handle dev9/dev11 env quirks for 2FA, asset_fields, bulk…
aniket-shikhare-cstk Mar 16, 2026
eb63272
merge: sync with origin/development (taxonomy publish, branch setting…
aniket-shikhare-cstk Mar 16, 2026
2a04f4a
test(sanity): add tests for taxonomy.publish() and branch.updateSetti…
aniket-shikhare-cstk Mar 16, 2026
4b1b754
fix(tests): management token fixes the 401 on bulk job status tests …
aniket-shikhare-cstk Mar 16, 2026
4457082
test(oauth): add PKCE tests and enhance error handling for OAuth flows
aniket-shikhare-cstk Mar 16, 2026
296170d
merge: sync with origin/development, keep sanity test rewrites
aniket-shikhare-cstk Mar 16, 2026
9c59108
fix(tests): update asset and OAuth tests to handle branch presence an…
aniket-shikhare-cstk Mar 16, 2026
4598fcb
test(branch): enhance merge tests with temporary content type creatio…
aniket-shikhare-cstk Mar 16, 2026
172f6cb
fix(tests): resolve OAuth token exchange skips and DX-4430 management…
aniket-shikhare-cstk Mar 17, 2026
1e3d782
fix(tests): remove DX-4430 restricted token tests that skip on AM2.0 …
aniket-shikhare-cstk Mar 17, 2026
002740f
Merge pull request #527 from contentstack/feat/dam-2.0-test-cases
aniket-shikhare-cstk Mar 18, 2026
1498524
chore: bump version to 1.29.1
aniket-shikhare-cstk Mar 18, 2026
c69f8a0
Merge remote-tracking branch 'origin/master' into release/1.29.1
aniket-shikhare-cstk Mar 18, 2026
75edb00
Merge pull request #529 from contentstack/release/1.29.1
aniket-shikhare-cstk Mar 18, 2026
fe3bad5
docs: add AGENTS.md, Cursor rules, and project skills (DX-5378)
harshitha-cstk Mar 20, 2026
5e4ebbd
docs: expand sanity test env vars in testing rule and skill
harshitha-cstk Mar 20, 2026
d114865
Merge pull request #531 from contentstack/feat/dx-5378-skills-rules
harshitha-cstk Mar 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions .cursor/rules/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Cursor Rules Documentation

This directory contains **Cursor AI rules** that provide context-aware guidance for the **Contentstack Management JavaScript SDK** (`@contentstack/management`) — CMA client development, not a separate CLI repo.

## Rules overview

| Rule | Role |
|------|------|
| [`dev-workflow.md`](dev-workflow.md) | Branches, lint/tests before PR (unit + optional sanity), version bump guidance, links to skills |
| [`javascript.mdc`](javascript.mdc) | JavaScript / TypeScript declaration style: `lib/`, `webpack/`, `types/`, root `*.mjs` |
| [`contentstack-javascript-cma.mdc`](contentstack-javascript-cma.mdc) | CMA SDK patterns in `lib/`: client, stack, auth, host/region, HTTP/error handling |
| [`testing.mdc`](testing.mdc) | Mocha unit suite, sanity/API tests, Jest + `test/typescript`; env and mocks |
| [`code-review.mdc`](code-review.mdc) | PR checklist: JSDoc, compat, errors, SCA, unit + sanity tests, CMA semantics (**always applied**) |

## Rule application

Rules load from **globs** and **`alwaysApply`** in each file’s frontmatter (not every rule runs for every file).

| Context | Typical rules |
|---------|----------------|
| **Every chat / session** | [`code-review.mdc`](code-review.mdc) (`alwaysApply: true`) |
| **Most project files** | [`dev-workflow.md`](dev-workflow.md) — `**/*.js`, `**/*.ts`, `**/*.json`, `**/*.mjs` |
| **SDK implementation** | [`javascript.mdc`](javascript.mdc) + [`contentstack-javascript-cma.mdc`](contentstack-javascript-cma.mdc) for `lib/**/*.js` |
| **Build config** | [`javascript.mdc`](javascript.mdc) for `webpack/**/*.js` |
| **Public types** | [`javascript.mdc`](javascript.mdc) for `types/**` |
| **Tests** | [`testing.mdc`](testing.mdc) for `test/unit/**`, `test/sanity-check/**`, `test/typescript/**`, `test/**/index.js` |

Overlaps are expected (e.g. editing `lib/foo.js` can match `dev-workflow`, `javascript`, and `contentstack-javascript-cma`).

## Usage

- Rules are **loaded automatically** when opened files match their globs (and `code-review` is always in context).
- You can **@ mention** rule files in chat when your Cursor build supports file references, e.g. `@dev-workflow`, `@javascript`, `@contentstack-javascript-cma`, `@testing`, `@code-review` (exact names depend on how Cursor labels `.md` / `.mdc` rules in your project).

## Quick reference table

| File | `alwaysApply` | Globs (summary) |
|------|---------------|-----------------|
| `dev-workflow.md` | no | `**/*.js`, `**/*.ts`, `**/*.json`, `**/*.mjs` |
| `javascript.mdc` | no | `lib/**/*.js`, `webpack/**/*.js`, `types/**/*.ts`, `types/**/*.d.ts`, `*.mjs` |
| `contentstack-javascript-cma.mdc` | no | `lib/**/*.js` |
| `testing.mdc` | no | `test/unit/**`, `test/sanity-check/**`, `test/typescript/**`, `test/**/index.js` |
| `code-review.mdc` | **yes** | — |

## Skills & maintenance

- Deeper playbooks: [`skills/README.md`](../../skills/README.md).
- Repo agent entry: [`AGENTS.md`](../../AGENTS.md).
- When directories change, update **globs** in rule frontmatter; keep rules short and put detail in `skills/*/SKILL.md`.
39 changes: 39 additions & 0 deletions .cursor/rules/code-review.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
description: "PR review themes — API docs, compatibility, errors, security, tests"
alwaysApply: true
---

# Code review checklist (CMA JavaScript SDK)

Apply when reviewing changes to `@contentstack/management`.

## Public API & documentation

- **JSDoc** updated for new or changed public methods/classes (params, return shape, examples), matching style in `lib/contentstack.js` / `lib/contentstackClient.js`.
- **`types/**`** updated when TypeScript consumers would see different signatures or new exports.

## Backward compatibility

- Avoid breaking changes to exported function signatures, option objects, or default behavior without a major version rationale.
- If behavior changes, ensure **callers inside `lib/`** and tests reflect the new contract.

## Errors & safety

- HTTP failures should flow through **`lib/core/contentstackError.js`** (or equivalent existing error path), preserving **status** and safe **request** metadata.
- Do not log or stringify full **authtoken**, **authorization**, or **management_token** values; follow existing redaction patterns in `contentstackError.js`.
- Respect **null/undefined** edge cases for optional API fields; avoid assuming nested objects always exist.

## Dependencies & supply chain

- New **dependencies** should be justified (size, maintenance, license); prefer existing `lodash` / `axios` patterns.
- Lockfile and **`package.json`** version bumps should be minimal and reviewable.

## Tests

- **Unit tests** for new logic or regressions (`test/unit/`), with HTTP **mocked** (Nock, axios-mock-adapter, Sinon, etc.).
- **Sanity / API tests** (`test/sanity-check/api/`) when change affects live CMA behavior, request shape, or end-to-end flows: add or update the relevant `*-test.js` suite and ensure **`sanity.js`** still wires it; run against **`dist/node/contentstack-management.js`** after **`npm run build`**. Do not commit secrets; env vars belong in `test/sanity-check/utility/testSetup.js` documentation only.
- Document any new env requirements for sanity in **`test/sanity-check/utility/testSetup.js`** header comments.

## Security & privacy

- No hardcoded credentials; no accidental exposure of customer content in logs or error messages.
40 changes: 40 additions & 0 deletions .cursor/rules/contentstack-javascript-cma.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
description: "Contentstack CMA SDK patterns for lib/ (Management API client)"
globs: ["lib/**/*.js"]
alwaysApply: false
---
# Contentstack CMA SDK (`lib/`)

This package implements the **Content Management API (CMA)** client, not the read-only Content Delivery API.

## Client

- Entry: **`contentstack.client(params)`** in `lib/contentstack.js` — wires HTTP client, region/host/endpoint, **timeout**, **retryOnError**, **retryLimit**, **retryDelay**, **maxRequests**, **early_access**, optional **proxy**, **plugins**, etc.
- Endpoint resolution uses **`getContentstackEndpoint`** from `@contentstack/utils` where applicable (see `contentstack.js`).

## Authentication & stack scoping

- **User/session**: `authtoken` or `authorization` header patterns set on the axios instance after `login` (`lib/contentstackClient.js`).
- **Stack**: `client.stack({ api_key, management_token, ... })` — management token is stack-scoped.
- **Organization**: `client.organization()` for org-level operations.
- **Branch**: pass branch options where the Stack/entity factory methods accept them (match existing callers in `lib/stack/`).

## HTTP & errors

- All requests go through the **axios** instance created in **`lib/core/contentstackHTTPClient.js`** (concurrency queue, interceptors, retries on e.g. **429** per `retryCondition`).
- Failures should continue to use **`lib/core/contentstackError.js`** in promise rejection chains (e.g. `.then(success, error)`), producing errors with **status**, **request** metadata, and **`error_message` / `error_code`** from CMA JSON when present.

## Resource modules

- **Entity** helpers and collection patterns: `lib/entity.js`, `lib/contentstackCollection.js`, `lib/query/index.js`.
- New resources should follow existing **constructor(http, data)** + **`urlPath`** + **`stackHeaders`** patterns in sibling modules under `lib/stack/`.

## Callbacks vs async

- Prefer **Promises** (`async`/`await` or `.then`) consistent with surrounding code; avoid introducing callback-style APIs unless matching an existing public surface.

## CMA concepts

This SDK targets the **Content Management API (CMA)**, not the Content Delivery API.

- **Entry, Query, Asset, Content type, Taxonomy (terms, etc.), Stack, Branch, Locale, Webhooks,** and related resources — follow existing **class/module names and method names** in `lib/stack/` (and siblings) and **Management API** semantics (paths, query/body shapes, response parsing). When adding or changing CMA features, align with the official [Content Management API](https://www.contentstack.com/docs/developers/apis/content-management-api/) documentation.
32 changes: 32 additions & 0 deletions .cursor/rules/dev-workflow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
description: "Branches, tests, and PR expectations for contentstack-management-javascript"
globs: ["**/*.js", "**/*.ts", "**/*.json", "**/*.mjs"]
alwaysApply: false
---

# Development workflow - Contentstack javascript CMA SDK

## Branches

- Follow team Git conventions (e.g. feature branches off `development` / default integration branch as used in this repo).
- Keep commits focused; do not commit with `test.only`, `it.only`, `describe.only`, or skipped tests meant to be permanent.

## Before opening a PR

1. **`npm run lint`** — ESLint must pass on `lib` and `test`.
2. **Unit tests** — `npm run test:unit` (default `npm test` also invokes `test:api` first — ensure that script exists in `package.json` on your branch).
3. **Sanity / API tests** — only when explicitly validating against live CMA: run `npm run test:sanity-nocov` or `test:sanity-test` after **`npm run build`**, with env vars documented in `test/sanity-check/utility/testSetup.js` (`EMAIL`, `PASSWORD`, `HOST`, `ORGANIZATION`, etc.). Never commit secrets.
4. **Version bump** — When the PR introduces **user-visible or release-worthy** `lib/` behavior (new API, bug fix shipped to npm, or a **breaking** change), update **`version`** in `package.json` per **semver**: **patch** (fixes, internal-compatible tweaks), **minor** (backward-compatible features or additive API), **major** (breaking public contract). Docs-only, tests-only, or chore-only changes often **omit** a bump if your team bumps only at release; follow team practice (some repos bump only on `main`/`release`). If unsure, ask the reviewer or match sibling PRs.

## PR expectations (summary)

- **User-facing changes** — JSDoc on public methods; update `types/**` when the public surface changes.
- **Behavior** — Preserve backward compatibility unless the change is explicitly breaking and documented.
- **Errors** — Route HTTP failures through existing patterns (`lib/core/contentstackError.js`-style handling); avoid leaking full tokens in logs (existing code redacts authtoken/authorization in error paths).
- **Tests** — Add or adjust unit tests under `test/unit/` for new behavior; use mocks (Sinon / Nock / axios-mock-adapter) rather than live API in unit tests.

## Quick links

- Agent overview: repo root `AGENTS.md`
- CMA SDK patterns: `skills/contentstack-javascript-cma/SKILL.md`
- HTTP / retry layer: `skills/framework/SKILL.md`
33 changes: 33 additions & 0 deletions .cursor/rules/javascript.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
description: "JavaScript/TypeScript conventions for lib, types, and webpack"
globs:
- "lib/**/*.js"
- "webpack/**/*.js"
- "types/**/*.ts"
- "types/**/*.d.ts"
- "*.mjs"
alwaysApply: false
---

# JavaScript & types (this repo)

## Runtime & modules

- **Source** is **ES modules** under `lib/` (`import` / `export`). Builds target Node and browsers via Babel + Webpack (see `package.json` scripts).
- **`types/`** holds public TypeScript declarations consumed from npm; keep them aligned with `lib/` JSDoc and exports.

## Style & tooling

- **ESLint** uses **`eslint-config-standard`** and **`@babel/eslint-parser`**; match existing **semicolon-free** standard style and two-space indentation seen in `lib/`.
- **Environment**: ESLint `es2020`; tests may relax rules via `overrides` in `.eslintrc.js` for `test/**/*.js`.

## Patterns

- Prefer **named exports** from feature modules where the codebase already does; default exports are used for factory-style modules (e.g. `contentstackClient`, HTTP client factory).
- Use **JSDoc** (`@memberof`, `@func`, `@param`, `@returns`, `@example`) on **public** package API consistent with `lib/contentstack.js` and `lib/contentstackClient.js`.
- **Dependencies**: `lodash` (e.g. `cloneDeep`), `axios`, `qs`, `@contentstack/utils` — follow existing import paths (`.js` suffixes in imports where used).

## Logging

- Do not add noisy `console.log` in library code except where aligned with existing `logHandler` / error reporting in `lib/core/contentstackHTTPClient.js`.
- Never log full **authtoken**, **management tokens**, or raw **passwords**.
43 changes: 43 additions & 0 deletions .cursor/rules/testing.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
description: "Mocha, Jest, and sanity-check tests for this SDK"
globs:
- "test/unit/**/*.js"
- "test/sanity-check/**/*.js"
- "test/typescript/**/*.ts"
- "test/**/index.js"
alwaysApply: false
---

# Testing — `@contentstack/management`

## Frameworks

| Suite | Runner | Assertion / mocks | Notes |
|-------|--------|-------------------|--------|
| **Unit** | **Mocha** + `@babel/register` | **Chai**, **Sinon**, **Nock**, **axios-mock-adapter** | Entry: `test/unit/index.js`; **30s** timeout in npm script |
| **Sanity / API** | Mocha | Chai; **live HTTP** | Entry: `test/sanity-check/sanity.js`; imports **`dist/node/contentstack-management.js`** — run **`npm run build`** first |
| **TypeScript** | **Jest** + **ts-jest** | Jest mocks | `jest.config.js`; `npm run test:typescript` |

## Naming & layout

- **Unit**: `test/unit/*-test.js` (required from `test/unit/index.js`).
- **Sanity**: `test/sanity-check/api/*-test.js` (orchestrated via `sanity.js`); shared setup in `test/sanity-check/utility/testSetup.js` and helpers.
- **TS**: `test/typescript/**/*.test.ts` per Jest config.

## Credentials & env (sanity only)

- Canonical env documentation: **`test/sanity-check/utility/testSetup.js`** (see also `sanity.js`).
- **Required for setup:** `EMAIL`, `PASSWORD`, `HOST`, `ORGANIZATION`.
- **Suite-specific (tests skip when unset):** OAuth — `CLIENT_ID`, `APP_ID`, `REDIRECT_URI`; 2FA — `TFA_EMAIL`, `TFA_PASSWORD`; MFA — `MFA_SECRET`; team/stack share — `MEMBER_EMAIL`; DAM 2.0 — `DAM_2_0_ENABLED=true`.
- **Optional / defaults:** `PERSONALIZE_HOST`, `DELETE_DYNAMIC_RESOURCES`. Use `HOST` for the target CMA API host / region.
- Setup **writes** `API_KEY`, `AUTHTOKEN`, `MANAGEMENT_TOKEN`, `PERSONALIZE_PROJECT_UID` at runtime — never commit those.
- Unit tests must **not** rely on real API keys; mock HTTP.

## Coverage

- **nyc** is used with `npm run test:unit` / `test:sanity-test`; exclusions are configured under `package.json` → `nyc`.

## Hygiene

- No committed **`only`** / **`skip`** for tests that should run in CI.
- Prefer existing **`test/unit/mock/`** and sanity **`mock/`** patterns for fixtures.
11 changes: 10 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,14 @@ module.exports = {
'promise'
],
rules: {
}
},
overrides: [
{
files: ['test/**/*.js'],
rules: {
'no-unused-expressions': 'off',
'no-useless-escape': 'off'
}
}
]
}
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ coverage/
test/utility/dataFiles/
test/sanity-check/utility/dataFiles/
report.json
sanity-check-backup/
.vscode/
.claude/

# TypeScript v1 declaration files
typings/
Expand All @@ -62,13 +65,15 @@ tsconfig.json

# dotenv environment variables file
.env
test-curls.txt

# next.js build output
.next
.dccache
dist
jsdocs
.early.coverage
docs/
# Snyk Security Extension - AI Rules (auto-generated)
.cursor/rules/snyk_rules.mdc
.vscode/settings.json
.vscode/settings.json
Loading
Loading