CtrlK
BlogDocsLog inGet started
Tessl Logo

vibe-ai/spec-as-source

Adds spec-as-source enforcement to any project using spec-driven development

87

2.34x
Quality

91%

Does it follow best practices?

Impact

82%

2.34x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-1/

{
  "context": "The agent is asked to run spec-rebuild. The project has specs/auth.spec.md with targets: src/auth.py and tests/test_auth.py. The git working tree is clean (no uncommitted changes).",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "safety-check-uncommitted",
      "description": "Checks for uncommitted changes before deleting anything (git diff --stat)",
      "max_score": 2
    },
    {
      "name": "safety-check-specs-exist",
      "description": "Checks that specs/ contains at least one .spec.md file",
      "max_score": 1
    },
    {
      "name": "shows-deletion-list",
      "description": "Shows the user which files will be deleted and which spec owns them",
      "max_score": 2
    },
    {
      "name": "asks-confirmation",
      "description": "Asks for explicit confirmation before deleting (yes/no)",
      "max_score": 2
    },
    {
      "name": "no-delete-infra",
      "description": "Does not delete specs/, scripts/, .tessl/, or config files",
      "max_score": 2
    },
    {
      "name": "generated-header",
      "description": "Adds GENERATED FROM SPEC header to rebuilt target source files",
      "max_score": 1
    },
    {
      "name": "test-annotations",
      "description": "Adds @spec and @req comments to rebuilt test files",
      "max_score": 1
    },
    {
      "name": "runs-spec-verify",
      "description": "Runs spec-verify automatically after rebuild",
      "max_score": 2
    },
    {
      "name": "reports-success",
      "description": "Reports rebuild successful if all checks pass",
      "max_score": 1
    }
  ]
}

README.md

tile.json