A research project exploring post-code software engineering.
In a future where all code is written by AI, what does software engineering look like?
Code authorship is ending. AI will write the implementations. But software still needs to be built, maintained, evolved, and understood. What replaces the practices, tools, and mental models we currently use?
IOP is one attempt to answer that question.
- Intent becomes the source of truth — code becomes a build artifact
- The Orchestrator — an AI system specialized for intent reasoning, not just code generation
- You debug intent, not code — when things break, you fix the spec
- Teams share an intent graph — not a codebase
- Domain-specific intents — product, design, infrastructure, security each have specialized schemas
- Intent frameworks — community-built packages, like npm but for intent patterns
| Document | Description |
|---|---|
| Whitepaper | Formal definition of the IOP paradigm |
| Introduction | Why IOP exists, the problem it solves |
| Glossary | Core vocabulary: Prompt, Kind, Orchestrator, etc. |
| Architecture | Visual guide to Planning and Implementation cycles |
| Document | Description |
|---|---|
| Language Specification | Full syntax and semantics of .iop files |
| Context Gating | Prompt kinds and allowed blocks matrix |
| Document | Description |
|---|---|
| The Orchestrator | Compilation, graph building, semantic diffing |
| Implementation Details | Code Anchors, Ownership Zones, Manifests |
| Developer Workflow | Planning and Implementation cycles |
| Context Management | Graph-Walking Retrieval for agents |
| Document | Description |
|---|---|
| CLI Reference | iop validate, compile, format commands |
| Adoption Guide | Bringing IOP to existing projects |
| Collaboration Guide | Git workflows and team strategies |
| Implementation Roadmap | Building the toolset |
| Document | Description |
|---|---|
| Intent Domains & Frameworks | Specialized domains, community frameworks |
| Future Vision | Visual editors, IDE integration, prompt-only views |
| Example Walkthrough | Step-by-step feature addition |
iop-docs/
├── README.md # This file
├── whitepaper.pdf # Formal paradigm definition
├── whitepaper.tex # LaTeX source
├── CONSOLIDATION_PLAN.md # SPL integration plan
│
├── spec/ # Specification documents
│ ├── 00-introduction.md
│ ├── 01-glossary.md
│ ├── 02-architecture.md
│ ├── 03-language-spec.md # ★ Language specification
│ ├── 15-intent-domains.md # ★ Domain frameworks ecosystem
│ ├── 04-context-gating.md # ★ Prompt kinds & blocks matrix
│ ├── 05-orchestrator.md
│ ├── 06-implementation.md
│ ├── 07-developer-workflow.md
│ ├── 08-context-management.md
│ ├── 09-cli-reference.md
│ ├── 10-adoption-guide.md
│ ├── 11-collaboration.md
│ ├── 12-roadmap.md
│ ├── 13-future-vision.md
│ └── 14-example-walkthrough.md
│
├── language/ # Language implementation (Langium)
│ └── packages/
│ ├── language/ # Grammar, validator, LSP
│ ├── cli/ # Compiler CLI
│ └── extension/ # VSCode extension
│
├── examples/ # Example projects
│ └── ifvisible/ # Visibility detection library
│
├── documents/ # Legacy location (see spec/)
│
└── archive/ # Historical documents
├── ideation-docs/ # Original design notes
└── legacy-language/ # Original HCL-like grammar
Every prompt has a kind that determines its role and allowed configuration:
| Kind | Purpose | Allowed Context |
|---|---|---|
product |
Product requirements | design |
design |
UI/UX specifications | design |
technical |
Implementation architecture | technical, data, api, testing, security, delivery, ops |
data |
Data models | data, technical |
api |
API contracts | api, technical, security, testing |
testing |
Test strategies | testing, technical |
security |
Security requirements | security, technical, api |
delivery |
CI/CD processes | delivery, technical, ops |
ops |
Operations | ops, technical, delivery |
task |
Simple tasks | (none) |
Planning Cycle (Human ↔ Orchestrator)
- Author/modify prompts
- Orchestrator validates and produces patch plan
- Human reviews and approves
Implementation Cycle (Orchestrator ↔ Agent)
- Orchestrator dispatches approved tasks
- Agent executes within constraints
- Verification gates check results
- Manifest updated on success
IOP v2 introduces significant improvements:
| Feature | v1 | v2 |
|---|---|---|
| Syntax | HCL-like with {} |
Indentation-based |
| Root element | intent "name" {} |
Document: |
| Terminology | Intent | Prompt |
| Schema enforcement | Basic | Strict with context gating |
| File extension | .intent |
.iop (.intent supported) |
See Appendix B of Language Spec for migration guide.
- Read the Introduction - spec/00-introduction.md
- Learn the Language - spec/03-language-spec.md
- Understand Context Gating - spec/04-context-gating.md
- Try an Example - spec/14-example-walkthrough.md
- Structured Prompt Language (SPL) - The indentation-based syntax implementation that powers IOP v2
- Langium - The language framework used for grammar and LSP implementation
Intent-Oriented Programming: Where humans architect meaning, and machines execute with precision.