manifest-yaml-cursorrules-prompt-file — Cursor rule: Manifest backends
A Cursor rule that tells the agent how to scaffold a small Manifest backend: project setup, the manifest/backend.yml file and limits on entities.
.cursor/rules/manifest-yaml-cursorrules-prompt-file.mdcWhat manifest-yaml-cursorrules-prompt-file does
The rule kicks in when you ask the agent to create a backend. It installs the manifest npm package, then adds two scripts to package.json: manifest running node node_modules/manifest/scripts/watch/watch.js and manifest:seed running node node_modules/manifest/dist/manifest/src/seed/scripts/seed.js. Next comes the manifest/backend.yml file, and redhat.vscode-yaml lands in .vscode/extensions.json as a recommendation.
The YAML itself is boxed in. Two or three entities, four properties each, a spread of property types, an emoji after every entity name and a blank line before each entity object. An entity called admin is off the table, and so are authenticable entities. Middlewares, endpoints and hooks are banned too. Relationships sit right below the properties in short form and never attach to single entities. One detail worth checking: the rule says to configure yaml.schemas only with a schema URL or local file verified for the Manifest version your project actually uses, otherwise autocomplete suggests fields from a different release.
The whole thing is built for demos. It shows off property types rather than modelling your real data. Policies stay narrow as well, usually a public read, sometimes create for contact forms or comments. For the choice type, allowed values go under options.values.
What it helps with
- scaffold a demo Manifest backend from one prompt
- wire watch and seed scripts into
package.json - write entities and relationships in
manifest/backend.ymlwithout extra fields - point the YAML schema at the installed Manifest version
- show several property types across a couple of entities
Example prompts for the agent
- create a Manifest backend for a blog with two entities
- add a
choiceproperty with a list of values tomanifest/backend.yml - set public
readpolicies for every entity
How to install manifest-yaml-cursorrules-prompt-file
Manually: put the files in place
.cursor/rules/manifest-yaml-cursorrules-prompt-file.mdcFrontmatter: description, globs, alwaysApply
Manually: put the files in place
.claude/rules/manifest-yaml-cursorrules-prompt-file.mdThe paths frontmatter field limits the files: move globs from the source into paths
AGENTS.md
Codex reads AGENTS.md: paste the rule text there
Manually: put the files in place
.github/instructions/manifest-yaml-cursorrules-prompt-file.instructions.mdThe applyTo field sets which files it applies to: move globs from the source into applyTo
Manually: put the files in place
.devin/rules/manifest-yaml-cursorrules-prompt-file.mdManually: put the files in place
.clinerules/manifest-yaml-cursorrules-prompt-file.mdStep by step, with commands for each platform: Cursor rules: .mdc files, four modes and what replaced .cursorrules
Questions about manifest-yaml-cursorrules-prompt-file
How do I install manifest-yaml-cursorrules-prompt-file in Cursor?
Drop the rule file at .cursor/rules/manifest-yaml-cursorrules-prompt-file.mdc in your project root. Cursor picks it up from that folder.
What does manifest-yaml-cursorrules-prompt-file do?
It walks the agent through building a demo Manifest backend: package install, scripts in package.json, the manifest/backend.yml file, plus limits on entities, properties and relationships.
How many entities and properties does backend.yml allow?
The rule caps a backend at 2–3 entities with 4 properties each. Validation properties appear once or twice.
Source text
manifest-yaml-cursorrules-prompt-file.mdc · CC0-1.0
---
description: "Cursor rules for manifest development with YAML integration."
globs: **/*
alwaysApply: false
---
**Prompt for Expert Manifest Developer**
**You are an assistant for app creation. You are going to use the backend Manifest. The apps you generate are light and for demo purposes: you not aim to provide all the data structure but instead showcase a variety of property types.**
**Code structure**
When asked to create a backend, execute the following actions:
1. Install the `manifest` npm package
2. Add the following scripts to `pacakge.json`: "manifest": "node node_modules/manifest/scripts/watch/watch.js" and "manifest:seed": "node node_modules/manifest/dist/manifest/src/seed/scripts/seed.js"
3. Create the `manifest/backend.yml` file and add the manifest code to it.
4. Add the `redhat.vscode-yaml` as recommendation in `.vscode/extensions.json`
5. Configure `yaml.schemas` only with a schema URL or local schema file verified for the Manifest backend version used by the project.
**Backend file**
On the `manifest/backend.yml`, follow those rules:
- Strictly follow the Manifest JSON Schema shipped with the project or verified from the current Manifest backend documentation.
- Start by addind a quick name to the app
- Limit to 2 or 3 entities maximum
- Limit to 4 properties maximum per entity
- Try to showcase different property types
- Only use validation properties once or twice
- No entity should be called admin
- Do not use authenticable entities
- Add an emoji after each entity name, but do not use the emoji it on relationships references
- Add a linebreak before each entity object
- Each entity only appears once. Relationships goes just below the properties, do not repeat the entity name.
- Do not use special characters.
. Do not use middlewares, endpoints or hooks.
- Use YAML abbreviated form for objects, with spaces. Example: { name: issueDate, type: date }
- Do not add relationships to single entities
- For relationships, use the short form. Ex: ' belongsTo:
- Author'
- Add policies. Most projects only have "read" public policies. Some projects have "create" public policies when anyone can post (contact forms submissions, comments, etc.)
- If using the "choice" property type, use "options.values" property to list choices. Example: `{ name: type, type: choice, options: { values: ["Fire", "Water", "Grass"] } }`
- Do not add "seedCount" and "mainProp" to entities
**Documentation**
Refer to the Manifest backend documentation that matches the project's installed version.
**Example**
This is an example of the content of a `backend.yml` file:
name: My pet app 🐾
entities:
Owner:
properties:
- name
- { name: birthdate, type: date }
Cat:
properties:
- name
- { name: age, type: number }
- { name: birthdate, type: date }
belongsTo:
- Owner
Homepage:
nameSingular: Home content
single: true
properties:
- title
- { name: description, type: richText }
- { name: cover, type: image }
© PatrickJS · CC0-1.0 · PatrickJS/awesome-cursorrules