Intent-First Programming Language | Intent, Not Code

Describe what an app should do. Let AI synthesize the code.

Imagine repositories filled with human-readable intent files instead of source code. AIM makes this real! Specify what you want, let AI synthesize the implementation. Edit intents, not code. Version control meaning, not syntax.

Just clean, readable .intent files describing what your application does. AI agents synthesize implementations on demand. Teams review intent changes, not code diffs. The repository becomes documentation, specification, and source of truth—all in one.

Quick start: Pull a package from the registry, sync to your local /ail folder, and synthesize. Edit the intent files and rebuild whenever you need.
Explore Registry Read Specification Publish Package GitHub Repo

How AIM Works

Specify

Write human-readable intent files

Synthesize

AI generates implementation

Build

Compile and package

Run

Deploy and execute

1. Start Light

Author only <feature>.intent with summary + requirements for fast product iteration.

2. Add Precision

Inline or linked SCHEMA, FLOW, CONTRACT, VIEW, PERSONA facets when deterministic synthesis matters.

3. Rebuild Locally

Registry fetch is sync only. Local /ail remains source of truth for edits, regeneration, and long-term maintenance.

What makes AIM different

Picture GitHub repositories without source code. No JavaScript files. No Python modules. No dependency hell.

Minimal Example

AIM: weather#[email protected]

INTENT WeatherLookup {
  SUMMARY: "Real-time weather lookup with automatic error handling for missing cities."

  REQUIREMENTS {
    - "User enters a city name to view current temperature and conditions."
    - "UI displays a friendly error state if the city is not found."
  }

  CONTRACT FetchWeather {
    INPUT {
      city: string required
    }
    EXPECTS {
      - "City string must not be empty"
    }
    ENSURES {
      - "CALLS External.WeatherAPI"
      - "RETURNS WeatherSnapshot object on success"
    }
  }
}
}

Then evolve to detailed facets only when needed.