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#
| Repository | Start here | Why |
|---|---|---|
faberlang/examples | corpus/, application packages, tracks | Public corpus and application examples |
faberlang/norma | norma:* packages | Standard library source |
faberlang/faber | CLI wrapper | User-facing build tool |
faberlang/cista | package-store CLI/lib | Package management surface |
faberlang/triga | triga:* source | Graphics 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-aiPackages 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#
- Quick tour for the surface grammar.
- Hello, Faber for a single package.
- Corpus for one page per keyword or construct.
- Examples for larger applications.
- 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/packageFor 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#
| Goal | Read |
|---|---|
| Learn syntax | Syntax |
| Understand locales | Reader locale |
| Use the compiler | Faber build tool and Radix compiler |
| Browse constructs | Corpus |
| Build with libraries | Ecosystem |
Next#
| Previous | Next |
|---|---|
| Commands you will use | Examples |