Skip to content

graffiticode/l0003

Repository files navigation

L0003

License: MIT License: CC BY 4.0

L0003 is a Graffiticode dialect — the first child of @graffiticode/l0000. It inherits L0000's base functional vocabulary (arithmetic, lists, lambdas, map/filter/reduce, pattern matching, tags) and adds a small set of UI primitives for rendering hello greetings, images, and themed output.

Vocabulary

L0003 adds the following on top of the L0000 base lexicon:

Function Arity Example Description
hello 1 hello "world".. Renders hello, world!
image 1 image "https://example.com/photo.jpg".. Renders an image at the given URL
theme 2 theme DARK hello "world".. Wraps a UI expression in a theme (DARK or LIGHT) with a toggle
id 2 id "tag" expr.. Tags an expression with a stable identifier

See packages/core/spec/ for the full language specification, examples, and authoring guide.

Structure

This is an npm workspaces monorepo with three packages:

  • packages/core@graffiticode/l0003: the language itself (lexicon, checker, transformer). Pure TypeScript, depends on @graffiticode/l0000.
  • packages/api@graffiticode/api-l0003: the L0003 language server. Express app exposing /compile, /form, and static assets. Runs on port 50003.
  • packages/view@graffiticode/l0003-view: the React view component (Form) used to render compiled output. Built with Vite + Tailwind, layered on top of @graffiticode/l0000-view.

The top-level build composes all three: core and view are built and bundled into packages/api/static/, which the API serves.

Getting started

# Install dependencies
npm install

# Build everything (core → api → view → static bundle)
npm run build

# Start the dev server (API on :50003, Firestore emulator on :8080)
npm run dev

Other useful scripts:

  • npm run lint — lint the whole monorepo
  • npm run pack — build and pack the view package for distribution
  • npm run gcp:build / npm run gcp:deploy — deploy to Cloud Run

Environment

  • PORT — API port (default 50003)
  • AUTH_URL — auth service URL (default https://auth.graffiticode.org; dev uses http://127.0.0.1:4100)
  • FIRESTORE_EMULATOR_HOST — local Firestore emulator (dev: 127.0.0.1:8080)
  • NODE_ENVdevelopment or production

License

Code is licensed under MIT. Documentation and specifications are licensed under CC-BY 4.0.

AI Training: All materials in this repository — code, documentation, specifications, and training examples — are explicitly available for use in training machine learning and AI models. See NOTICE for details.

About

Template language v3

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE-DOCS

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors