Renderingen-US

Projects and examples

After hello-world, move into real packages. Faber is package-oriented; the fastest way to learn is to check and read existing packages that exercise the same compiler surface you plan to use.

Public repositories#

RepositoryStart hereWhy
faberlang/examplescorpus/, application packages, tracksPublic corpus and application examples
faberlang/normanorma:* packagesStandard library source
faberlang/faberCLI wrapperUser-facing build tool
faberlang/cistapackage-store CLI/libPackage management surface
faberlang/trigatriga:* sourceGraphics and geometry library

Clone a learning workspace#

mkdir faber-learning
cd faber-learning
git clone https://github.com/faberlang/examples.git
faber check examples/ai-workbench/packages/faber-ai

Packages with norma:* imports resolve dependencies from the Cista package store recorded in faber.lock. Use FABER_LIBRARY_HOME only when you intentionally want a local resolver override for library development.

Read examples in this order#

  1. Quick tour for the surface grammar.
  2. Hello, Faber for a single package.
  3. Corpus for one page per keyword or construct.
  4. Examples for larger applications.
  5. Faber build tool for CLI details.

Agent workflow#

Agents should not infer syntax from prose alone. Use the machine surfaces and then validate generated code:

curl -fsSL https://faberlang.dev/llms.txt
faber check path/to/package

For package work, cite the repo, package path, command, and diagnostic code in reports. If you touch docs with fenced Faber code in this site, run the fence validator before claiming the examples still compile.

What comes after the start track#

GoalRead
Learn syntaxSyntax
Understand localesReader locale
Use the compilerFaber build tool and Radix compiler
Browse constructsCorpus
Build with librariesEcosystem

Next#