Skip to content

Commit 4e3a16e

Browse files
committed
export query v2
1 parent 8981552 commit 4e3a16e

258 files changed

Lines changed: 19623 additions & 26799 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.cursor/rules/README.md

Lines changed: 3 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -1,107 +1,5 @@
1-
# Cursor Rules
1+
# Cursor (optional)
22

3-
Context-aware rules that load automatically based on the files you're editing, optimized for this Contentstack CLI plugins monorepo.
3+
**Cursor** users: start at **[AGENTS.md](../../AGENTS.md)**. All conventions live in **`skills/*/SKILL.md`**.
44

5-
## Rule Files
6-
7-
| File | Scope | Always Applied | Purpose |
8-
|------|-------|----------------|---------|
9-
| `dev-workflow.md` | `**/*.ts`, `**/*.js`, `**/*.json` | Yes | Monorepo TDD workflow, pnpm workspace patterns |
10-
| `typescript.mdc` | `**/*.ts`, `**/*.tsx` | No | TypeScript config variations, naming conventions |
11-
| `testing.mdc` | `**/test/**/*.ts`, `**/test/**/*.js`, `**/*.test.ts`, `**/*.spec.ts` | Yes | Mocha, Chai, Sinon patterns, nyc coverage |
12-
| `oclif-commands.mdc` | `**/commands/**/*.ts` | No | OCLIF patterns, BaseCommand classes, CLI validation |
13-
| `contentstack-cli.mdc` | `**/import/**/*.ts`, `**/export/**/*.ts`, `**/modules/**/*.ts`, `**/services/**/*.ts`, `**/utils/**/*.ts` | No | API integration, rate limiting, batch processing |
14-
15-
## Commands
16-
17-
| File | Trigger | Purpose |
18-
|------|---------|---------|
19-
| `execute-tests.md` | `/execute-tests` | Run tests by scope, package, or module with monorepo awareness |
20-
| `code-review.md` | `/code-review` | Automated PR review with Contentstack CLI specific checklist |
21-
22-
## Loading Behaviour
23-
24-
### File Type Mapping
25-
- **TypeScript files**`typescript.mdc` + `dev-workflow.md`
26-
- **Command files** (`packages/*/src/commands/**/*.ts`) → `oclif-commands.mdc` + `typescript.mdc` + `dev-workflow.md`
27-
- **Import/Export modules** (`packages/*/src/{import,export,modules}/**/*.ts`) → `contentstack-cli.mdc` + `typescript.mdc` + `dev-workflow.md`
28-
- **Service files** (`packages/*/src/services/**/*.ts`) → `contentstack-cli.mdc` + `typescript.mdc` + `dev-workflow.md`
29-
- **Test files** (`packages/*/test/**/*.{ts,js}`) → `testing.mdc` + relevant domain rules + `dev-workflow.md`
30-
- **Utility files** (`packages/*/src/utils/**/*.ts`) → `contentstack-cli.mdc` + `typescript.mdc` + `dev-workflow.md`
31-
32-
### Package-Specific Loading
33-
- **Plugin packages** (with `oclif.commands`) → Full command and API rules
34-
- **Library packages** (e.g., variants) → TypeScript and utility rules only
35-
- **Bootstrap package** (JavaScript tests) → Adjusted testing rules
36-
37-
## Repository-Specific Features
38-
39-
### Monorepo Awareness
40-
- **11 plugin packages** under `packages/`
41-
- **pnpm workspaces** configuration
42-
- **Shared utilities**: `@contentstack/cli-command`, `@contentstack/cli-utilities`
43-
- **Build artifacts**: `lib/` directories (excluded from rules)
44-
45-
### Actual Patterns Detected
46-
- **Testing**: Mocha + Chai + Sinon (not Jest)
47-
- **TypeScript**: Mixed strict mode adoption
48-
- **Commands**: Extend `@contentstack/cli-command` (not `@oclif/core`)
49-
- **Rate limiting**: Multiple mechanisms (batch spacing, 429 retry, pagination throttle)
50-
- **Coverage**: nyc with inconsistent enforcement
51-
52-
## Performance Benefits
53-
54-
- **75-85% token reduction** vs monolithic `.cursorrules`
55-
- **Context-aware loading** - only relevant rules activate based on actual file patterns
56-
- **Precise glob patterns** - avoid loading rules for build artifacts or irrelevant files
57-
- **Skills integration** - rules provide quick context, skills provide comprehensive patterns
58-
59-
## Design Principles
60-
61-
### Validated Against Codebase
62-
- Rules reflect **actual patterns** found in repository analysis
63-
- Glob patterns match **real file structure** (not theoretical)
64-
- Examples use **actual dependencies** and APIs
65-
- Coverage targets reflect **current enforcement** (aspirational vs actual)
66-
67-
### Lightweight and Focused
68-
- Each rule has **single responsibility**
69-
- Detailed patterns referenced via **skills system**
70-
- `alwaysApply: true` only for truly universal patterns
71-
- Package-specific variations acknowledged
72-
73-
## Validation Checklist
74-
75-
### Rule Loading Tests (Repository-Specific)
76-
-**Command files** (`packages/*/src/commands/**/*.ts`) → `oclif-commands.mdc` + `typescript.mdc` + `dev-workflow.md`
77-
-**Import modules** (`packages/contentstack-import/src/import/**/*.ts`) → `contentstack-cli.mdc` + `typescript.mdc` + `dev-workflow.md`
78-
-**Export modules** (`packages/contentstack-export/src/export/**/*.ts`) → `contentstack-cli.mdc` + `typescript.mdc` + `dev-workflow.md`
79-
-**Test files** (`packages/*/test/unit/**/*.test.ts`) → `testing.mdc` + `dev-workflow.md`
80-
-**Bootstrap tests** (`packages/contentstack-bootstrap/test/**/*.test.js`) → `testing.mdc` (JS-aware) + `dev-workflow.md`
81-
-**Service files** (`packages/*/src/services/**/*.ts`) → `contentstack-cli.mdc` + `typescript.mdc` + `dev-workflow.md`
82-
83-
### Manual Verification
84-
1. Open files from different packages in Cursor
85-
2. Check active rules shown in chat interface
86-
3. Verify correct rule combinations load based on file location
87-
4. Test manual rule invocation: `@contentstack-cli show me rate limiting patterns`
88-
5. Confirm no rules load for `lib/` build artifacts
89-
90-
### Performance Monitoring
91-
- **Before**: Monolithic rules loaded for all files
92-
- **After**: Context-specific rules based on actual file patterns
93-
- **Expected reduction**: 75-85% in token usage
94-
- **Validation**: Rules load only when relevant to current file context
95-
96-
## Maintenance Notes
97-
98-
### Regular Updates Needed
99-
- **Glob patterns** - Update when package structure changes
100-
- **TypeScript config** - Align with actual tsconfig.json variations
101-
- **Coverage targets** - Sync with actual nyc configuration
102-
- **Dependencies** - Update when shared utilities change
103-
104-
### Known Issues to Monitor
105-
- **Coverage typo**: Several `.nycrc.json` files have `"inlcude"` instead of `"include"`
106-
- **Strict mode inconsistency**: Packages have different TypeScript strictness levels
107-
- **Test patterns**: Bootstrap uses `.test.js` while others use `.test.ts`
5+
This folder only points contributors to **`AGENTS.md`** so editor-specific config does not duplicate the canonical docs.

.github/config/release.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"releaseAll": true,
33
"plugins": {
4+
"asset-management": false,
45
"export": false,
56
"import": false,
67
"clone": false,

.github/workflows/release-v2-beta-plugins.yml

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,15 @@ jobs:
3838
filename: .github/config/release.json
3939
prefix: release
4040

41+
# Asset Management
42+
- name: Publishing asset-management (Beta)
43+
uses: JS-DevTools/npm-publish@v3
44+
with:
45+
token: ${{ secrets.NPM_TOKEN }}
46+
package: ./packages/contentstack-asset-management/package.json
47+
access: public
48+
tag: beta
49+
4150
# Variants
4251
- name: Publishing variants (Beta)
4352
uses: JS-DevTools/npm-publish@v3
@@ -126,17 +135,10 @@ jobs:
126135
package: ./packages/contentstack-branches/package.json
127136
tag: beta
128137

129-
- name: Create Beta Release
130-
id: create_release
131-
env:
132-
GITHUB_TOKEN: ${{ secrets.PKG_TOKEN }}
133-
VERSION: ${{ steps.publish-core.outputs.version }}
134-
run: |
135-
# Get the previous beta release for comparison
136-
PREVIOUS_BETA=$(gh release list --limit 10 | grep 'beta' | head -1 | cut -f1)
137-
138-
if [ -n "$PREVIOUS_BETA" ]; then
139-
gh release create v"$VERSION" --title "Beta Release $VERSION" --notes-from-tag "$PREVIOUS_BETA" --prerelease
140-
else
141-
gh release create v"$VERSION" --title "Beta Release $VERSION" --generate-notes --prerelease
142-
fi
138+
# Query Export
139+
- name: Publishing query-export (Beta)
140+
uses: JS-DevTools/npm-publish@v3
141+
with:
142+
token: ${{ secrets.NPM_TOKEN }}
143+
package: ./packages/contentstack-query-export/package.json
144+
tag: beta

.github/workflows/unit-test.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,7 @@ jobs:
6262
- name: Run tests for Contentstack Branches
6363
working-directory: ./packages/contentstack-branches
6464
run: npm run test:unit
65+
66+
- name: Run tests for Contentstack Query Export
67+
working-directory: ./packages/contentstack-query-export
68+
run: npm run test:unit

.talismanrc

Lines changed: 127 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,130 @@
11
fileignoreconfig:
2+
- filename: packages/contentstack-import/src/utils/import-config-handler.ts
3+
checksum: 3194f537cee8041f07a7ea91cdc6351c84e400766696d9c3cf80b98f99961f76
4+
- filename: packages/contentstack-export/src/export/modules/environments.ts
5+
checksum: a92c5de7ed8e80f08f911727973a66e0416b4a52265c275d1d25c3095f912811
6+
- filename: packages/contentstack-import/src/utils/backup-handler.ts
7+
checksum: 9a892b5c4b5aac230fb5969e7f34afdac0b6f96208e64bf9d1195468c935c66c
8+
- filename: packages/contentstack-import/test/unit/utils/backup-handler.test.ts
9+
checksum: 69860727e9b3099d8e1e95db2af17fc8b161684f675477981d27877cd8e1b3bb
10+
- filename: packages/contentstack-query-export/.env-example
11+
checksum: 922c7aa9c788ab60b987de2b0a2aee6d90843c463a8bbc29201e4efe31081187
212
- filename: pnpm-lock.yaml
3-
checksum: 0a12c6c1e4df121f6a217425ef0bd7b1acccc1cd3f972157f7ca7480281277fd
4-
- filename: .cursor/rules/contentstack-cli.mdc
5-
checksum: ba287a9e9dcf6565d2d2e79c9bbf6350a89e13afbd1f8755973d837563115c83
6-
- filename: .cursor/rules/dev-workflow.md
7-
checksum: ae8f8b2894c5cf0da6a85eb53c97775bd38835c191f9132ecaa24dcb9f439811
8-
- filename: .cursor/rules/oclif-commands.mdc
9-
checksum: 3f9891d3d5872a2823c83215bc1727911dd32935d17d91ad5f2e7d5f75f3ab61
13+
checksum: bb5303f2fe64f90ae95d2738363267fb0bfcfeb71f025c2110d4cec87ff84d95
14+
- filename: packages/contentstack-import/src/utils/build-import-spaces-options.ts
15+
checksum: fe0cb6cb5903515982af1e3642f2a19233207d35f13dc205cebeda0aa399f8b5
16+
- filename: packages/contentstack-export/src/export/modules/stack.ts
17+
checksum: 00774a601a5d2b4a47a91fe5bbb0ea9c93c48fa785ee9887c0d74a6b6ec21296
18+
- filename: packages/contentstack-export/src/types/default-config.ts
19+
checksum: 5f0b0bb753242356edacb802241ec937a7741647813f9f347837368f08265667
20+
- filename: packages/contentstack-asset-management/.eslintrc
21+
checksum: 136f03481c8c59575d2eafd4c78d105119f85fb10fe88e02af8cffaf3eb7c090
22+
- filename: packages/contentstack-export/src/types/index.ts
23+
checksum: fa36c236abac338b03bf307102a99f25dddac9afe75b6b34fb82e318e7759799
24+
- filename: packages/contentstack-export/src/config/index.ts
25+
checksum: ae655e25cefff007c4ae4006c67b1529951350d9d2a3d179ef0a80d3da326d5a
26+
- filename: packages/contentstack-branches/README.md
27+
checksum: 2978e9a9c151cbbafb5dd542edf6815ccec12172ae4ca114a6c4e5e73a85a2b5
28+
- filename: packages/contentstack-branches/src/branch/diff-handler.ts
29+
checksum: 3cd4d26a2142cab7cbf2094c9251e028467d17d6a1ed6daf22f21975133805f1
30+
- filename: packages/contentstack-export/src/export/modules/assets.ts
31+
checksum: 1d0ec8a15b35fb71261556e1982f53e7c940ddde49497f64d7a6fd7a7707bae4
32+
- filename: packages/contentstack-asset-management/src/import/asset-types.ts
33+
checksum: 479dc445d8abe15664cca14e22ddcb0469e7f5e47d0b4f26b735b2b0c23a5b41
34+
- filename: packages/contentstack-asset-management/src/import/spaces.ts
35+
checksum: c3e97e8099ba81899c104a5b35c7a5cb70d10efb5bd9a507044b843ea1a9a976
36+
- filename: packages/contentstack-query-export/skills/framework/SKILL.md
37+
checksum: b45c4bc28025292c168053e95a3c570b9d67500e0ee5241553089bca6914bb3f
38+
- filename: packages/contentstack-query-export/src/types/index.ts
39+
checksum: 686c5ed7fadb6620201dc3f1ed19c5ba94afd73ad165c33379b8b33dec81e519
40+
- filename: packages/contentstack-query-export/test/unit/query-parser-simple.test.ts
41+
checksum: d187ad885a914b70406e343a92ad3ee1ca3c30207b0d8b040f36c6f287da3a6c
42+
- filename: packages/contentstack-query-export/skills/code-review/SKILL.md
43+
checksum: 1c1cb0b1ce20114b9e855278a63c098d87f9302f093b08eb7f05f667840b6166
44+
- filename: packages/contentstack-query-export/src/commands/cm/stacks/export-query.ts
45+
checksum: 7642419baffc58871fafd9b1811b875e6f9e3e3c0a7d24e8508d137f14414574
46+
- filename: packages/contentstack-query-export/test/unit/query-executor.test.ts
47+
checksum: afa11e89e913b05f4e8475aa27cf6de5ffd870da1c7e75dd59d864d268d11a1b
48+
- filename: packages/contentstack-query-export/src/core/query-executor.ts
49+
checksum: a6bd72f954dc7343a93c3e405c1bbe8f354daa051a2f7dcbf776d3ddf9faa51b
50+
- filename: packages/contentstack-asset-management/test/unit/utils/export-helpers.test.ts
51+
checksum: 0e8751163491fc45e7ae3999282d336ae1ab8a9f88e601cbb85b4f44e8db96b8
52+
- filename: packages/contentstack-export/test/unit/export/modules/base-class.test.ts
53+
checksum: 893a09567def9768c63310326e3bd35c2570bc436a9b9013147c6d383c949e11
54+
- filename: packages/contentstack-import/src/types/default-config.ts
55+
checksum: 1c09acba953cfd7058a3e0d63f0a9bfbb8f28e903538eaa015fdc611402bbd4f
56+
- filename: packages/contentstack-query-export/test/unit/referenced-asset-handler.test.ts
57+
checksum: 3d19ad04a0306be741f9acd3a2d164d19e2b3803efc0a50342b156e8686c8b0c
58+
- filename: packages/contentstack-asset-management/src/types/export-types.ts
59+
checksum: 48add19a8466083905e15d6a8a925cd5341fa56cb945f91e411ffee9cd08975b
60+
- filename: packages/contentstack-asset-management/src/export/base.ts
61+
checksum: 9b6517336220c61daff94edc71af453ad38c85cd1d6dcf6f0f5c47625c2180a6
62+
- filename: packages/contentstack-asset-management/src/import/base.ts
63+
checksum: 0ac8dba5c5db698cdcaee19203db416554e27221d8ae515bd22006cec8733b3a
64+
- filename: packages/contentstack-asset-management/src/import/fields.ts
65+
checksum: cef6b63729834167a3b1fa78c19bf5af843c33c280f327b9b538b29998046d29
66+
- filename: packages/contentstack-asset-management/src/utils/export-helpers.ts
67+
checksum: 1a0a04d5d86a07307122c5b160d8c3a831f0e17b7a1d2b5aaf16b1a73e231981
68+
- filename: packages/contentstack-asset-management/src/import/assets.ts
69+
checksum: ed6af5d798282808c09643e1dcd1eaede89ce2b09bd0425998af64849b4f3f61
70+
- filename: packages/contentstack-asset-management/src/types/asset-management-api.ts
71+
checksum: 6629720575ab48371734d9455d591a431604b5afb2c5c682816e1571377a43ab
72+
- filename: packages/contentstack-branches/src/commands/cm/branches/merge-status.ts
73+
checksum: 6e5b959ddcc5ff68e03c066ea185fcf6c6e57b1819069730340af35aad8a93a8
74+
- filename: packages/contentstack-branches/src/utils/create-branch.ts
75+
checksum: d0613295ee26f7a77d026e40db0a4ab726fabd0a74965f729f1a66d1ef14768f
76+
- filename: packages/contentstack-branches/src/branch/merge-handler.ts
77+
checksum: 4fd8dba9b723733530b9ba12e81e1d3e5d60b73ac4c082defb10593f257bb133
78+
- filename: packages/contentstack-asset-management/src/utils/asset-management-api-adapter.ts
79+
checksum: 256ddcfbb10ee4ccfac2ea5c2d733199f8830a78896196d1e965109942b234e8
80+
- filename: packages/contentstack-asset-management/test/unit/export/base.test.ts
81+
checksum: 164fc2e5a4337a2739903499b66eecc66a85bb9b50aa2e71079bdd046a195a94
82+
- filename: packages/contentstack-export/test/unit/export/modules/assets.test.ts
83+
checksum: c4dc86b0973af171a11884e0bff9bb9ce5e41df68906d924588c0bf51b19ae9b
84+
- filename: packages/contentstack-asset-management/test/unit/utils/asset-management-api-adapter.test.ts
85+
checksum: ff688f37f40de3f7cbef378ec682ca1167720d902d8d84370464af7feb36c124
86+
- filename: packages/contentstack-export/test/unit/export/modules/stack.test.ts
87+
checksum: 79876b8f635037a2d8ba38dac055e7625bf85db6a3cf5729434e6a97e44857d6
88+
- filename: packages/contentstack-export/test/unit/export/module-exporter.test.ts
89+
checksum: 67b70c93ed679ccb2c61d0c277380676e33c91da8a423f948e81937e5d1d9479
90+
- filename: packages/contentstack-query-export/src/utils/common-helper.ts
91+
checksum: 924a9fbc57dd774a7957870d63366ffc16cd4242dbe684321b9b52a888cfa455
92+
- filename: packages/contentstack-export/test/unit/export/modules/marketplace-apps.test.ts
93+
checksum: 299b8f60cce1f64be7c20786d6a7c9c370474b97b06d1846114a76a70ec20cf7
94+
- filename: packages/contentstack-query-export/src/utils/config-handler.ts
95+
checksum: 2a17dfe46ff5e77bb585013719065db0b513b21d700eb54e6615e78a6811f885
96+
- filename: packages/contentstack-query-export/.eslintrc
97+
checksum: b34756122b251dc2feedc7c7b98a7772d4d763bc468c8291be483ae2ac3471be
98+
- filename: packages/contentstack-query-export/test/config.json
99+
checksum: 792e177efa078e31aa05a5136807fd1fed4b6ea7a4cd44d69353edd8b96ff33f
100+
- filename: packages/contentstack-query-export/test/unit/common-helper.test.ts
101+
checksum: c1d023d8c23e0400805448eb1466da5cb1fe891b6e838100fb12cbc7e1514a59
102+
- filename: packages/contentstack-query-export/src/utils/logger.ts
103+
checksum: de6dd816bc534aaddf9adbe4e1db935f152d32eedaad5b76445f4affa836fcc9
104+
- filename: packages/contentstack-query-export/src/utils/dependency-resolver.ts
105+
checksum: 79e3f53778385e964efa2a407b80a7f624a20e536ad576b684fe51cb224ed701
106+
- filename: packages/contentstack-audit/test/unit/logger-config.js
107+
checksum: 493e2e65939325f48d354469f409f1dbf84462adca995ed3a78461e80148d309
108+
- filename: packages/contentstack-audit/test/unit/base-command.test.ts
109+
checksum: 4208fae6e7cf1aeeb2b936d119c85cdc40e5e3560c7207e04bb94ba3e0305557
110+
- filename: packages/contentstack-audit/src/modules/assets.ts
111+
checksum: 551156796b5cd447a9abb580e95734198d33047d550258361cdd05c0cc9ce041
112+
- filename: packages/contentstack-query-export/test/unit/content-type-helper.test.ts
113+
checksum: 1b4b9724a1281032605b61f007f7a7da080731bd9e0e4b2c4bc00b212ff30242
114+
- filename: packages/contentstack-query-export/test/unit/config-handler.test.ts
115+
checksum: a1077cb686431fea29de839762dbc16c951b6d61171f525e311e4a34182b0d08
116+
- filename: skills/contentstack-cli/SKILL.md
117+
checksum: 36762d43bbacedd0b344f9d4f1179a88e3dbc7e2467341ba42198dcd1bf9e40c
118+
- filename: skills/code-review/SKILL.md
119+
checksum: 29673e16f6b41fcec7fa236912e7f72b920ed4a3d9a66a89308b4a058b247f3e
120+
- filename: packages/contentstack-query-export/README.md
121+
checksum: 9be27e9a5f027f2bbbbcc6d4c706b19071cf40f596ce3e778f33ea7579a52626
122+
- filename: packages/contentstack-query-export/test/unit/module-exporter.test.ts
123+
checksum: e27fab52e65a8d5430d268f3562a823828e9e3dd9eb9569342f1cdb83eef9ea3
124+
- filename: skills/testing/SKILL.md
125+
checksum: ee1c82f1bb51860cb26fb9f112a53df0127e316fcb22a094034024741251fa3c
126+
- filename: packages/contentstack-query-export/test/unit/dependency-resolver.test.ts
127+
checksum: 749931f9ae23ba044e19774ea802627220fd8bffa7d6fe7b9666e866189c3854
128+
- filename: packages/contentstack-audit/test/unit/modules/entries.test.ts
129+
checksum: aaf2e125c5e93ab15364e41559390502a18b83a4b3de5879c02572969381c0a6
10130
version: '1.0'

0 commit comments

Comments
 (0)