Contributing

An open research project. Shape the future of AI-optimized intermediate representations.

Philosophy

ARIA is an open research project. The thesis is the north star: AI-optimized IRs are the right abstraction for AI-authored code. Contributions that advance this core argument are prioritized. We value correctness over speed, clarity over cleverness, and working code over plans.

Roadmap

Component Status Notes
Reader / Parser complete EDN-based reader with $/% preprocessing
Type Checker complete Type + effect verification
C Codegen (ARIA-C) complete C99 output, gcc compilation
LLM Generator complete Natural language to ARIA-IR via Claude
JVM Bytecode Backend planned ARIA-JVM: compile to .class files
WASM Backend planned ARIA-WASM: browser + edge targets
Intent Verification planned Layer 4: verify code matches intent
Standard Library planned Built-in primitives beyond arithmetic
Language Spec v1.0 future Formal specification document

How to Contribute

1. Fork and branch

git clone https://github.com/YOUR_USERNAME/aria-clj.git
cd aria-clj
git checkout -b your-feature

2. Run the tests

clj -M:test

All PRs must pass existing tests. New features should include tests.

3. Submit a PR

Open a pull request against main. Describe what you changed and why. Link to a related issue if one exists.

Conventions

Idiomatic Clojure. Prefer pure functions, immutable data, threading macros.
Function-level docstrings. Public functions should have docstrings.
Test coverage expected. New features need tests. Bug fixes need regression tests.
No Leiningen. This project uses deps.edn exclusively.

Good First Issues

Look for issues labeled good first issue on GitHub.

If no labeled issues exist yet, pick something from the roadmap and open a discussion first.

Where to Discuss