| Dimension | Shared | Only in A | Only in B | Overlap |
|---|---|---|---|---|
| Sections | 0 | 6 | 5 | 0% |
| Commands | 0 | 6 | 3 | 0% |
| Section tags | 4 | 2 | 2 | 50% |
What each file covers
Sections
0 shared · 6 only in A · 5 only in B- − Contentstack JavaScript Delivery SDK – Agent guide
- − What this repo is
- − Tech stack (at a glance)
- − Commands (quick reference)
- − Where the documentation lives: skills
- − Using Cursor (optional)
- + JavaScript & types (this repo)
- + Runtime & modules
- + Style & tooling
- + Patterns
- + Logging
Commands
0 shared · 6 only in A · 3 only in B- − npm run build
- − jest.js.config.js
- − jest.config.js
- − npm run lint
- − npm-publish.yml
- − npm test
- + eslint-config-standard
- + node
- + jest
Section tags
4 shared · 2 only in A · 2 only in B- − build
- − agent-behaviour
- + architecture
- + types
- test
- lint-format
- code-style
- docs
Line diff
contentstack/contentstack-javascript · AGENTS.md
@@ −1 @@
1# Contentstack JavaScript Delivery SDK – Agent guide
2
3**Universal entry point** for contributors and AI agents. Detailed conventions live in **`skills/*/SKILL.md`**.
4
5## What this repo is
6
7| Field | Detail |
8|--------|--------|
9| **Name:** | [contentstack-javascript](https://github.com/contentstack/contentstack-javascript) (npm package **`contentstack`**) |
10| **Purpose:** | Legacy **JavaScript** Content Delivery SDK for browsers, Node.js, React Native, and NativeScript—stack initialization, queries, entries, assets. |
11| **Out of scope:** | Not the TypeScript-first **`@contentstack/delivery-sdk`** (`contentstack-typescript`); new TypeScript projects should prefer that package when appropriate. |
12
13## Tech stack (at a glance)
14
15| Area | Details |
16|------|---------|
17| Language | JavaScript in **`src/`**; TypeScript tests via Jest (`test/typescript`) |
18| Build | Webpack configs under **`webpack/`**; outputs under **`dist/`** per target (`npm run build`) |
19| Tests | Jest: **`test:e2e`** (`jest.js.config.js`) and **`test:typescript`** (`jest.config.js`); **`pretest`** runs **`build`** first |
20| Lint / coverage | ESLint on `src` and `test` (`npm run lint`) |
21| CI | `.github/workflows/check-branch.yml`, `npm-publish.yml`, `sca-scan.yml`, `policy-scan.yml`, `codeql-analysis.yml`, `link-check.yml`, `issues-jira.yml` |
22
23## Commands (quick reference)
24
25| Command type | Command |
26|--------------|---------|
27| Build | `npm run build` |
28| Test | `npm test` (build via `pretest`, then e2e + TypeScript Jest suites) |
29| Lint | `npm run lint` |
30
31## Where the documentation lives: skills
32
33| Skill | Path | What it covers |
34|-------|------|----------------|
35| **Development workflow** | [`skills/dev-workflow/SKILL.md`](skills/dev-workflow/SKILL.md) | Branches, npm scripts, Husky, CI |
36| **JavaScript SDK** | [`skills/contentstack-javascript-sdk/SKILL.md`](skills/contentstack-javascript-sdk/SKILL.md) | Public API (`Stack`, regions), `@contentstack/utils` |
37| **JavaScript tooling** | [`skills/javascript/SKILL.md`](skills/javascript/SKILL.md) | Webpack targets, `dist/` layout, Babel |
38| **Testing** | [`skills/testing/SKILL.md`](skills/testing/SKILL.md) | Jest configs, e2e vs TypeScript tests |
39| **Code review** | [`skills/code-review/SKILL.md`](skills/code-review/SKILL.md) | PR checklist |
40
41## Using Cursor (optional)
42
43If you use **Cursor**, [`.cursor/rules/README.md`](.cursor/rules/README.md) only points to **`AGENTS.md`**—same docs as everyone else.
44
contentstack/contentstack-javascript · .cursor/rules/javascript.mdc
@@ +1 @@
1---
2description: "JavaScript/TypeScript conventions for src, webpack, and index.d.ts"
3globs:
4 - "src/**/*.js"
5 - "webpack/**/*.js"
6 - "index.d.ts"
7alwaysApply: false
8---
9
10# JavaScript & types (this repo)
11
12## Runtime & modules
13
14- **Source** is **ES modules** under `src/` (`import` / `export`). Webpack resolves aliases such as **`runtime/http.js`** per target (`webpack/webpack.*.js`).
15- **`index.d.ts`** is the public TypeScript surface for npm consumers; keep it aligned with `src/core/` JSDoc and exports.
16
17## Style & tooling
18
19- **ESLint** uses **`eslint-config-standard`** and **`@babel/eslint-parser`**. This repo **requires semicolons** and related rules in **`.eslintrc.js`** — match existing `src/core/` style rather than semicolon-free Standard.
20- **Environment**: ESLint `es2020`, `node`, `browser`, `jest`.
21
22## Patterns
23
24- Use **JSDoc** (`@description`, `@param`, `@returns`, `@example`) on **public** API consistent with `src/core/contentstack.js` and `src/core/stack.js`.
25- **Dependencies**: **`@contentstack/utils`** is exposed on the main class; follow existing import paths (including `.js` suffixes where the codebase uses them in ESM files).
26
27## Logging
28
29- Avoid noisy logging in library code except via existing **`fetchOptions.logHandler`** / **`fetchOptions.debug`** patterns in `src/core/lib/request.js` and `stack.js`.
30- Never log full **delivery_token**, **preview_token**, **management_token**, or API keys.
31
@@ −1 +1 @@
1−# Contentstack JavaScript Delivery SDK – Agent guide
1+---
2+description: "JavaScript/TypeScript conventions for src, webpack, and index.d.ts"
3+globs:
4+ - "src/**/*.js"
5+ - "webpack/**/*.js"
6+ - "index.d.ts"
7+alwaysApply: false
8+---
29
3−**Universal entry point** for contributors and AI agents. Detailed conventions live in **`skills/*/SKILL.md`**.
10+# JavaScript & types (this repo)
411
5−## What this repo is
12+## Runtime & modules
613
7−| Field | Detail |
8−|--------|--------|
9−| **Name:** | [contentstack-javascript](https://github.com/contentstack/contentstack-javascript) (npm package **`contentstack`**) |
10−| **Purpose:** | Legacy **JavaScript** Content Delivery SDK for browsers, Node.js, React Native, and NativeScript—stack initialization, queries, entries, assets. |
11−| **Out of scope:** | Not the TypeScript-first **`@contentstack/delivery-sdk`** (`contentstack-typescript`); new TypeScript projects should prefer that package when appropriate. |
14+- **Source** is **ES modules** under `src/` (`import` / `export`). Webpack resolves aliases such as **`runtime/http.js`** per target (`webpack/webpack.*.js`).
15+- **`index.d.ts`** is the public TypeScript surface for npm consumers; keep it aligned with `src/core/` JSDoc and exports.
1216
13−## Tech stack (at a glance)
17+## Style & tooling
1418
15−| Area | Details |
16−|------|---------|
17−| Language | JavaScript in **`src/`**; TypeScript tests via Jest (`test/typescript`) |
18−| Build | Webpack configs under **`webpack/`**; outputs under **`dist/`** per target (`npm run build`) |
19−| Tests | Jest: **`test:e2e`** (`jest.js.config.js`) and **`test:typescript`** (`jest.config.js`); **`pretest`** runs **`build`** first |
20−| Lint / coverage | ESLint on `src` and `test` (`npm run lint`) |
21−| CI | `.github/workflows/check-branch.yml`, `npm-publish.yml`, `sca-scan.yml`, `policy-scan.yml`, `codeql-analysis.yml`, `link-check.yml`, `issues-jira.yml` |
19+- **ESLint** uses **`eslint-config-standard`** and **`@babel/eslint-parser`**. This repo **requires semicolons** and related rules in **`.eslintrc.js`** — match existing `src/core/` style rather than semicolon-free Standard.
20+- **Environment**: ESLint `es2020`, `node`, `browser`, `jest`.
2221
23−## Commands (quick reference)
22+## Patterns
2423
25−| Command type | Command |
26−|--------------|---------|
27−| Build | `npm run build` |
28−| Test | `npm test` (build via `pretest`, then e2e + TypeScript Jest suites) |
29−| Lint | `npm run lint` |
24+- Use **JSDoc** (`@description`, `@param`, `@returns`, `@example`) on **public** API consistent with `src/core/contentstack.js` and `src/core/stack.js`.
25+- **Dependencies**: **`@contentstack/utils`** is exposed on the main class; follow existing import paths (including `.js` suffixes where the codebase uses them in ESM files).
3026
31−## Where the documentation lives: skills
27+## Logging
3228
33−| Skill | Path | What it covers |
34−|-------|------|----------------|
35−| **Development workflow** | [`skills/dev-workflow/SKILL.md`](skills/dev-workflow/SKILL.md) | Branches, npm scripts, Husky, CI |
36−| **JavaScript SDK** | [`skills/contentstack-javascript-sdk/SKILL.md`](skills/contentstack-javascript-sdk/SKILL.md) | Public API (`Stack`, regions), `@contentstack/utils` |
37−| **JavaScript tooling** | [`skills/javascript/SKILL.md`](skills/javascript/SKILL.md) | Webpack targets, `dist/` layout, Babel |
38−| **Testing** | [`skills/testing/SKILL.md`](skills/testing/SKILL.md) | Jest configs, e2e vs TypeScript tests |
39−| **Code review** | [`skills/code-review/SKILL.md`](skills/code-review/SKILL.md) | PR checklist |
40−
41−## Using Cursor (optional)
42−
43−If you use **Cursor**, [`.cursor/rules/README.md`](.cursor/rules/README.md) only points to **`AGENTS.md`**—same docs as everyone else.
29+- Avoid noisy logging in library code except via existing **`fetchOptions.logHandler`** / **`fetchOptions.debug`** patterns in `src/core/lib/request.js` and `stack.js`.
30+- Never log full **delivery_token**, **preview_token**, **management_token**, or API keys.
4431
