This release is a pre-release and may not be stable for production use.
*codeplain renderer
What is *codeplain?
*codeplain platform makes coding agents better by having them write and maintain specifications instead of code. It extends coding agents with agentic skills for working at the specification layer, and with tools that convert specifications into tested and validated implementation code.
This repository is the renderer that powers that last step, turning ***plain specs into software using the *codeplain API.
The result is a software development workflow centered on specifications, which are faster and more efficient for AI to produce and easier for developers to review and maintain than raw code.
Schematic overview of the *codeplain's code rendering:
Getting started
Get started in 15 minutes.
1. Install *codeplain in the terminal
macOS and Linux:
curl -fsSL https://codeplain.ai/install.sh | bash
# re-run to update to the latest version
Windows PowerShell:
irm https://codeplain.ai/install.ps1 | iex
Windows users: Please install WSL (Windows Subsystem for Linux) as this is currently the supported environment for running plain code on Windows.
Follow the installation instructions to complete setup. The installer installs the codeplain CLI, walks you through setting your CODEPLAIN_API_KEY, and offers to set up plain-forge and the plyn editor extension for you in the same session.
If you'd rather not run the installer, sign up at platform.codeplain.ai to get your API key and export it yourself:
export CODEPLAIN_API_KEY="your_actual_api_key_here"
2. Let your agent work in specs, not code
You describe what you want in plain English, an agent helps you write a spec in ***plain language, and *codeplain renders the actual code. This is what plain-forge sets up: a toolkit of skills, rules, and docs that plugs into your AI coding agent of choice — Claude Code, Codex, ForgeCode, OpenCode, or any other agent that reads from a standard skills directory — and turns a conversation into a complete .plain spec, then keeps maintaining it across the lifetime of the project.
If you didn't install it during step 1, run it any time using your favorite Node package runner:
npx plain-forge install
The same command works with any other runner — pick whichever matches your toolchain:
# npm (bundled with Node.js)
npx plain-forge install
# pnpm
pnpm dlx plain-forge install
# Bun
bunx plain-forge install
# Yarn (Berry, v2+)
yarn dlx plain-forge install
# Deno (npm: specifier, needs permissions to write the skills directory)
deno run -A npm:plain-forge install
Every runner downloads plain-forge on demand and runs it without adding it to your project's dependencies. The package exposes a plain-forge binary, so no runner needs an extra --package flag.
install fails if plain-forge is already installed at the target — to refresh an existing installation to the latest skills, rules, and docs, use update instead (swap in your runner of choice):
npx plain-forge update
3. Convert specs into tested and validated code
*codeplain extends coding agents with agentic skills for working at the specification layer, and with tools that convert specifications into tested and validated implementation code.
codeplain your-project.plain
Try it now
You can immediately test the system with a simple "Hello World" example:
-
Change to the example folder and run the example:
cd examples/example_hello_world_python codeplain hello_world_python.plain
Note: Rendering will take a few minutes to complete.
-
The system will generate a Python application in the
distdirectory. You can run it with:cd dist python hello_world.py
VS Code / Cursor extension
If you're using Visual Studio Code or Cursor IDE, we also recommend installing the plyn extension for ***plain syntax highlighting. The installer in step 1 offers to install it automatically if it detects code or cursor on your PATH.
Community and support
Share what you're building! Join the *codeplain Discord if you have questions, ideas, or want to share what you built.
Hit an edge case or have feedback? Reach us at support@codeplain.ai.
Abstracting Away Code Generation Complexity with ***plain
***plain is the language of spec-driven development — a specification language that combines the efficiency of natural language with the control and precision of code.
Structured sections for definitions, functional specs, implementation requirements, test requirements, and acceptance tests let your specs (not scattered docs or ad hoc prompts) become the source of truth for your software's behavior, abstracting away the complexity of using large language models for code generation.
Specs are plain text, so they fit into the workflows you already use — version control, pull requests, and code review.
See the ***plain language guide to learn the full syntax.
An example application in ***plain
Additional Resources
Examples and Sample Projects
- See the examples folder for sample projects in Golang, Python, React, and Flutter.
- For an example of how to implement Pong in ***plain, see the pong example.
- For an example of how to implement a task manager in ***plain, see the task-manager example.
Documentation
- For more details on the ***plain format, see the ***plain language specification.
Release files for codeplain 0.3.11.dev6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| codeplain-0.3.11.dev6.tar.gz | 529.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| codeplain-0.3.11.dev6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 740.6 kB
Release files / codeplain-0.3.11.dev6.tar.gz
| Download URL | codeplain-0.3.11.dev6.tar.gz |
|---|---|
| Size | 529.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
08d3c021a8ee5ba6d9a68e547b9bcc4547c27d8327cd1bf21e11a953595d8a3b
|
|
BLAKE2b-256 checksum How to use checksums |
3004d454ab94eeeb28a0a3c529f85b57ac0f7c3c45e4a91f2ef94c3e8ffedb60
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / codeplain-0.3.11.dev6-py3-none-any.whl
| Download URL | codeplain-0.3.11.dev6-py3-none-any.whl |
|---|---|
| Size | 210.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7c946d7a42538be41426bf921813129f836c20d25eef17e3edfc220caecadcaa
|
|
BLAKE2b-256 checksum How to use checksums |
45f24fdf349314728b82ed42026445d9b819b7bbbb881b2edfb75dd79d357680
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency log