CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-labs/mongoose-best-practices

Mongoose and MongoDB patterns — schema design, validation, indexes, virtuals,

99

1.11x
Quality

99%

Does it follow best practices?

Impact

100%

1.11x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

mongoose-schema.jsonverifiers/

{
  "instruction": "Define Mongoose schemas with proper timestamps, validation, indexes, and schema options",
  "relevant_when": "Agent defines or modifies a Mongoose schema",
  "context": "Mongoose schemas should use timestamps:true, required:true on non-optional fields, enum for finite sets, trim:true on strings, compound indexes matching query patterns, unique indexes for uniqueness constraints, and TTL indexes for auto-expiring documents.",
  "sources": [
    {
      "type": "file",
      "filename": "skills/mongoose-best-practices/SKILL.md",
      "tile": "tessl-labs/mongoose-best-practices@0.1.3"
    }
  ],
  "checklist": [
    {
      "name": "timestamps-enabled",
      "rule": "Agent sets timestamps: true in schema options for automatic createdAt/updatedAt management",
      "relevant_when": "Agent defines a new Mongoose schema"
    },
    {
      "name": "required-fields",
      "rule": "Agent marks all non-optional fields with required: true",
      "relevant_when": "Agent defines Mongoose schema fields"
    },
    {
      "name": "enum-validation",
      "rule": "Agent uses enum arrays for fields with a finite set of valid values (e.g., status, role, type)",
      "relevant_when": "Agent defines schema fields that accept a limited set of string values"
    },
    {
      "name": "trim-strings",
      "rule": "Agent adds trim: true on user-facing string fields to strip whitespace",
      "relevant_when": "Agent defines string fields in Mongoose schemas"
    },
    {
      "name": "compound-indexes",
      "rule": "Agent defines compound indexes matching common query filter + sort patterns with equality fields first, then sort fields",
      "relevant_when": "Agent defines schemas that will be queried with filters and sorting"
    },
    {
      "name": "unique-indexes",
      "rule": "Agent uses unique indexes at the database level for uniqueness constraints (e.g., email), not just application-level checks",
      "relevant_when": "Agent implements uniqueness constraints on fields"
    },
    {
      "name": "ttl-indexes",
      "rule": "Agent uses TTL indexes (expireAfterSeconds) for auto-expiring documents like sessions, tokens, or logs",
      "relevant_when": "Agent creates schemas for temporary or expirable data"
    }
  ]
}

tile.json