PluginBench
Rule

manifest yaml

via PatrickJS/awesome-cursorrules

YAML-based backend scaffolding for Manifest app development with structured entity and property definitions.

What is manifest yaml?

This rule guides creation of lightweight Manifest backends using YAML configuration. It provides step-by-step setup instructions, strict formatting conventions for entity definitions, and best practices for demo applications with limited scope.

  • Scaffold Manifest backend projects with npm package installation and script configuration
  • Define entities and properties in YAML following Manifest JSON Schema specifications
  • Showcase multiple property types (date, number, richText, image, choice) within demo constraints
  • Configure relationships between entities using abbreviated YAML syntax
  • Add public read/create policies for appropriate entity access patterns
  • Enforce naming conventions, emoji usage, and structural formatting rules for consistency

Applies to

File patterns this rule matches.

**/*
Rule definition (reference)

Source of truth, from the repository.

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 }

Related rules

Expert guidance for building applications with Medusa, TypeScript, React, and TailwindCSS.

**/*.tsx +5
41k
via PatrickJS/awesome-cursorrules

Expert guidance for building with Medusa, TypeScript, React, and TailwindCSS.

**/*
41k
via PatrickJS/awesome-cursorrules

Build custom frontends with Momen.app headless BaaS, GraphQL API, actionflows, AI agents, and Stripe integration.

**/*
41k
via PatrickJS/awesome-cursorrules

Best practices and patterns for building mobile apps with NativeScript

**/*.tsx +10
41k
via PatrickJS/awesome-cursorrules

NativeScript development best practices and project structure guidelines.

**/*
41k
via PatrickJS/awesome-cursorrules

Blocks phantom NestJS imports, deprecated patterns, and hallucinated decorators to enforce correct framework usage.

**/*
41k
via PatrickJS/awesome-cursorrules