Skip to content

The Enthropic specification — a declarative format for AI-assisted development

Notifications You must be signed in to change notification settings

Enthropic-spec/enthropic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Enthropic

Enthropic is an open specification standard for AI-assisted development.

A .enth file is the complete architectural map of a project. It is read by an AI agent before generating any code. It eliminates entropy by making architectural decisions explicit, permanent, and machine-readable.

It is not a tool, a plugin, or a programming language. It is a declarative format — like OpenAPI for APIs, like Dockerfile for containers — but for the entire architecture of a project.

The Problem

AI-assisted development ("vibe coding") produces high entropy. An AI model fills architectural gaps with arbitrary decisions: inconsistent naming, misplaced business logic, security shortcuts. These decisions vary between sessions. The result is a cycle of generate → error → fix → loop.

The root cause is not that the AI is wrong. It is that the AI has no source of truth. Every session starts from scratch. Every ambiguity is resolved differently.

How It Works

You write one .enth file. The AI reads it before writing a single line of code. Every entity, every constraint, every naming decision, every layer boundary is already declared. The AI's job becomes purely implementation — within a space of decisions that have already been made.

Two Primitives

Everything in Enthropic is built on two primitives:

CONTEXT — the closed world. Declares what exists: entities, transforms, stack, canonical names, layers. What is not declared does not exist.

CONTRACTS — the invariants. Declares what must be true: behavioral constraints, sequential requirements, responsibility rules. A violation means the code is unacceptable.

Four first-class derived constructs provide readable syntax for common patterns: PROJECT, VOCABULARY, LAYERS, FLOWS.

Minimal Example

VERSION 1.0

PROJECT myapp
  NAME   "Notes App"
  LANG   typescript
  STACK  react-native, sqlite
  ARCH   offline-first

VOCABULARY
  NoteId     # never: note_id, id, noteID
  SyncState  # never: sync_status, sync

ENTITY note, notebook, tag, sync_state

TRANSFORM
  note -> notebook   : organize
  note -> sync_state : mark_dirty, mark_synced

CONTRACTS
  note.content    ALWAYS   local-first
  sync_state.*    NEVER    overwrites-newer-local-revision

  FLOW sync
    1. sync_state.collect_dirty
    2. revision.compare
    3. remote.push
    4. remote.pull
    ATOMIC false

Reproducibility

Given the same .enth file, two independent AI agents — in different sessions, on different machines — produce architecturally equivalent results. Structural decisions are identical. This is the core property Enthropic provides.

You can hand a .enth file to a colleague and their AI session will produce a project with the same structure, the same naming, the same constraints, the same layer boundaries as yours. Not similar — architecturally identical.

Tooling

enthropic-tools — CLI toolkit. Single binary, no runtime dependencies.

enthropic validate      # validate spec, auto-create state + vault files
enthropic context       # print full AI context block to feed to your AI
enthropic vault set KEY # store secrets encrypted, never in spec or chat

Download from Releases or build with cargo install.

File System

File Purpose Committed
enthropic.enth The spec. Source of truth. Yes
state_[name].enth What is built, what is pending. No
vault_[name].enth Secret key status (SET/UNSET). No values. Never

Repository Structure

  • SPEC.md — Formal specification with EBNF grammar.
  • CHANGELOG.md — Version history of the standard.
  • examples/ — Complete .enth files for different domains.

About

The Enthropic specification — a declarative format for AI-assisted development

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors