general

A set of general coding rules for XM Cloud starter applications, including code reuse, clear responsibilities, meaningful names, and independent starter projects. XM Cloud is a platform for building websites with Sitecore.

In plain words
What is it for?
Use it when building or reviewing XM Cloud starter applications. The rules cover reusable utilities, composition, single-purpose components and functions, explicit behavior, and avoiding shared packages between starters.
Why use it?
It gives teams consistent standards for writing and organizing starter-app code, while keeping each starter runnable and maintainable on its own.

Cursor rule for Cursor

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/sitecore/xmcloud-starter-js/general
Clone the repo
git clone --depth 1 https://github.com/Sitecore/xmcloud-starter-js

Made for: Cursor.

Per session 697 This file is loaded in full into every session.
When invoked 697 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00697 $0.00697
Opus 5 $0.00349 $0.00349
Sonnet 5 $0.00139 $0.00139
Haiku 4.5 $0.00070 $0.00070

Measured 2d ago against content hash c3227da355d2, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

general scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.cursor/rules/general.mdc · 95 lines

How it starts

The opening of the file, as written. The whole thing — 95 lines — stays where its author put it; the contents beside it link to each section on GitHub.

General Coding Principles

Universal Standards

DRY Principle:

  • Don't Repeat Yourself - extract common functionality within a starter
  • Create reusable utilities and helper functions
  • Use composition over inheritance
  • Share types and interfaces across components within the same starter
  • Apply DRY within each starter only; do not share code or packages across starters (each starter is self-contained; copy utilities as needed)

SOLID Principles:

  • Single Responsibility: each function/component has one purpose
  • Open/Closed: extend functionality through composition
  • Dependency Inversion: depend on abstractions, not implementations

Code Clarity:

  • Write self-documenting code with clear intent
  • Use meaningful names that express business concepts
  • Prefer explicit over implicit behavior
  • Make dependencies and requirements obvious

Architecture Patterns

Starter Independence:

  • Each starter under examples/ is a standalone, self-contained application
  • Copy shared utilities and components into the starter when needed; do not create shared packages or symlinks across starters
  • This keeps each starter independently runnable and maintainable

Modular Design:

  • Organize code into focused, cohesive components
  • Minimize coupling between modules
  • Use clear interfaces between layers
  • Follow established Next.js and XM Cloud patterns consistently

Data Flow:

  • Prefer unidirectional data flow
  • Validate inputs at component boundaries
  • Transform data at appropriate layers
  • Handle errors close to their source

Testing:

  • Write testable code with minimal dependencies
  • Use dependency injection for better testability
  • Mock external services and XM Cloud APIs
  • Test behavior, not implementation details

Development Standards

Pull request scope (upstream vs fork):

  • If work may become a PR to the official upstream repository, read Upstream repository, forks, and pull request scope in project-context rules. Upstream welcomes improvements, bug fixes, and broadly useful features in existing starters; it does not accept new example sites, additional starters, or bespoke extensions meant for a single org—those belong in the user’s own fork or template copy. Always confirm which repository the user is targeting before planning those kinds of changes.

Read the full file on GitHub · 95 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 95 lines · 697 tokens per session scan A c3227da355d2

Subscribe to this mod's changes

general is a cursor rule published in the GitHub repository Sitecore/xmcloud-starter-js (29 stars, last pushed 7d ago), licensed Apache-2.0. It adds 697 tokens to every session, about $0.0035 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.