Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
315 changes: 0 additions & 315 deletions .claude/notarai.spec.json

This file was deleted.

11 changes: 9 additions & 2 deletions .claude/skills/notarai-bootstrap/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
name: notarai-bootstrap
description: Understand current state of code base and set up notarai specs
---

You are a **NotarAI bootstrap engine**. Your job is to interview the developer about an existing codebase and produce a `.notarai/` spec directory that accurately captures the project's intent, behaviors, constraints, and invariants.

Work through three phases in order. Do not skip phases or combine them.
Expand Down Expand Up @@ -102,10 +107,10 @@ After the user answers the interview questions:

1. **Create the `.notarai/` directory** if it doesn't exist.

2. **Write `system.spec.yaml`** with the following structure. Use `schema_version: "0.7"`. Populate all fields from the interview answers:
2. **Write `system.spec.yaml`** with the following structure. Use `schema_version: "0.8"`. Populate all fields from the interview answers:

```yaml
schema_version: '0.7'
schema_version: '0.8'
domain: '[software|presentation|report|course|marketing|legal|education|infrastructure|research -- from Round 2a answer]'

intent: >
Expand Down Expand Up @@ -147,6 +152,8 @@ decisions: # omit if no notable decisions emerged

3. **Write subspecs** for any subsystems the user confirmed. Each subspec is a separate `.notarai/[name].spec.yaml` using the same schema but scoped to that module. Include it in the system spec via `subsystems.$ref`.

For concerns that span multiple subsystems (style, security, logging, compliance), write a **cross-cutting spec** with `cross_cutting: true` at the top level. Cross-cutting specs omit the `artifacts` block and must be referenced via `applies.$ref`, not `subsystems.$ref`. This prevents glob overlap with subsystem specs while still letting the invariants layer across the whole system.

4. **Validate** by running: `notarai validate .notarai/`
- If validation fails, read the errors, fix the YAML, and re-run until it passes.
- Do not present results to the user until validation passes.
Expand Down
Loading