Skip to content

prabhic/syntaxlens

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

SyntaxLens

Understand new programming languages through what you already know.

SyntaxLens helps you to grasp new programming syntax and concepts, using the concepts of a known language. As a C developer learning Rust, I wanted to understand Rust from a C point of view — and similarly, any new language through one you already know.

🔗 Try it: www.syntaxlens.com


What This Repo Is

This is the public home of the LENS.md specification and the public issue tracker for SyntaxLens.

The product source code lives elsewhere. What you'll find here:

  • 📄 LENS.md — the portable markdown specification for AI code-explanation perspectives
  • 📁 lenses/ — reference lenses you can apply with any AI agent
  • 🐛 Issues — bugs, suggestions, mapping accuracy reports, spec proposals

How SyntaxLens Works

Every explanation follows a three-layer architecture called Insight³:

  • Surface — What does this syntax look like? What's the equivalent in your known language?
  • Concept — What's the underlying idea? How does it connect to something you already understand?
  • Paradigm — What design philosophy drove this choice, and what does it cost you to think in it?

The LENS.md Specification

LENS.md formalizes Insight³ as a portable spec that any AI agent — Claude Code, Cursor, terminal bots, voice agents — can consume.

It is to perspective what SKILL.md is to behavior and AGENTS.md is to project context:

Lens( Skill( Context, code ) )

A single .lens.md file tells any AI agent who the reader is, what they already know, and where their assumptions will break — and it carries a machine-checkable test contract so the lens can self-validate before output is shown to the user.

Read the v0.1 specification (LENS.md)

Reference lenses

Lens For Covers
rust-through-c.lens.md C developers reading Rust ownership moves, the borrow checker, Option vs null, lifetime annotations

Authoring your own lens

The smallest conforming lens is around 15 lines of YAML frontmatter. See LENS.md §4 (Core) and §6 (Bridge profile) for the required fields, or use either reference lens as a starting template.

Current Status

SyntaxLens is actively evolving. The core three-layer architecture is stable; language coverage and mapping accuracy improve with each release.

The LENS.md specification is at v0.1 (draft). As a 0.x release, expect breaking changes before 1.0 — field names and shapes may evolve as community lenses surface friction. Feedback on the spec — clarifications, new profile candidates, gaps in the conformance language — is welcome via issues.

Links

About

See any language through yours. Public issue tracker for syntaxlens.com

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors