code-review

À utiliser lors de la revue de PR ou avant d'ouvrir une PR — conception d'API, sécurité null, erreurs, compatibilité ascendante, dépendances, sécurité et qualité des tests.

npx skills add https://github.com/contentstack/contentstack-management-javascript --skill code-review

Code review – Contentstack Management JavaScript SDK

When to use

  • Reviewing someone else’s PR or self-review before submission.
  • Verifying API surface, errors, compatibility, dependencies, security, and tests.

Instructions

Work through the checklist below. Optionally tag items with severity: Blocker, Major, Minor.

1. API design and stability

  • Public API: New or changed public exports documented with JSDoc, consistent with lib/contentstack.js and lib/contentstackClient.js.
  • TypeScript surface: types/** updated when signatures or exports change.
  • Backward compatibility: No breaking changes without explicit agreement (e.g. major version).
  • Naming: CMA terminology and lib/stack/ patterns.

Severity: Breaking public API without approval = Blocker. Missing JSDoc/types on new public API = Major.

2. Error handling and robustness

  • Errors: Flow through lib/core/contentstackError.js (or equivalent), preserving status and safe request metadata.
  • Null safety: No unsafe assumptions on optional API fields.
  • Secrets: No logging of full authtoken, authorization, or management_token.

Severity: Wrong or missing error handling in new code = Major.

3. Dependencies and security

  • Dependencies: New or upgraded deps justified; prefer lodash / axios patterns.
  • SCA: Snyk / Dependabot findings addressed or deferred with a ticket.

Severity: Critical/high vulnerability unfixed in scope = Blocker.

4. Testing

  • Unit: Coverage under test/unit/ with HTTP mocked; register in test/unit/index.js.
  • Sanity: When needed, update test/sanity-check/api/*-test.js and sanity.js; npm run build first; env per testSetup.js — no secrets in repo.

Severity: No tests for new behavior = Blocker. Flaky tests = Major.

5. Severity summary

  • Blocker: Must fix before merge (breaking API, security, no tests for new code).
  • Major: Should fix (error handling, missing docs, flaky tests).
  • Minor: Nice to fix (style, minor docs).

Plus de skills de contentstack

cms-assets
contentstack
Conseiller les développeurs sur l'organisation, la livraison et la transformation des assets dans Contentstack. Couvrir la structure des dossiers, les transformations de l'API de livraison d'images, la publication…
cms-branches-aliases
contentstack
Conseiller les développeurs sur l'utilisation des branches Contentstack pour le développement de contenu isolé et des alias pour des déploiements de contenu sans temps d'arrêt. Couvrir la stratégie de branche,…
cms-data-modeling-best-practices
contentstack
Guidez les développeurs pour modéliser le contenu dans Contentstack en utilisant la structure réutilisable la plus simple. La compétence explique quand utiliser les types de contenu, les références, les éléments globaux…
cms-live-preview-visual-builder-support-assistant
contentstack
Diagnostiquer et guider les implémentations de Contentstack Live Preview et Visual Builder. Retracer le contexte d'aperçu, identifier le contrat rompu et recommander le…
cms-releases
contentstack
Conseiller les développeurs sur l'utilisation de Contentstack Releases pour un déploiement coordonné et atomique de contenu. Couvrir la création de releases, la gestion des éléments, le déploiement par étapes,…
cms-roles-permissions
contentstack
Conseiller les développeurs sur la conception des rôles, des permissions, des équipes et de l'accès par jeton dans Contentstack. Expliquer les rôles intégrés, les rôles personnalisés, la fusion des permissions,…
cms-taxonomy
contentstack
Conseiller les développeurs sur l'utilisation de Contentstack Taxonomy pour la classification structurée et hiérarchique du contenu et le filtrage côté livraison. Couvre la taxonomie par rapport aux balises,…
cms-tokens-authentication
contentstack
Conseiller les développeurs sur le choix de la méthode d'authentification Contentstack et du type de jeton adaptés aux cas d'utilisation frontend, backend, d'automatisation et d'applications tierces.…