Pureline Docs
Pureline consists of a language-independent core and language profiles that translate it idiomatically. Every rule has a stable ID so the website, checker, CLI and IDE integrations speak the same language.
Reading direction
Code reads top to bottom like a pipeline, not like a decision tree of nested if, else, callbacks and branches.
Core principles
Pureline standardizes principles, not syntax. Every language stays idiomatic: Pureline removes unnecessary noise without stripping away the features that make Java, JavaScript, TypeScript, Go, Crystal, Emvus, and Rust effective.
Profiles
Control flow, naming, functions, structure, formatting, comments, architecture, side effects, immutability, dependencies, performance.
Records · I-prefixed Interfaces · Modern Java · Explicit Null Handling · Virtual Threads
const-first · Semicolons · Braces · async/await
Strong Typing · Inference · unknown > any · Unions & Types
Idiomatic Error Guards · Small Interfaces · defer · Explicit Goroutine Lifecycle
Idiomatic Postfix Guards · Explicit Blocks for Complex Flow · Nil Guards · Type Inference
method / where · Optional Semicolons · Result over try/catch · scoped · Data Classes
Result / Option / ? · Ownership · let ... else · rustfmt · Isolated unsafe
Tooling model
All Pureline tools share the same rule specification: checker, formatter, CLI and IDE integrations. Diagnostics always point to a rule ID. The complete list is in the rule index.