Joss Documentation
This documentation describes the behavior of the current code. It is divided into learning, guides, reference and internals so that a beginner can move forward in order and an experienced developer can find concrete rules.
Languages
All 50 documents keep the same filename in every language so that relative links
work the same way. After editing the Spanish source, run
go run ./tools/docsi18n -translate -sync to update translations and the web
mirror; go run ./tools/docsi18n -check detects missing files, stale
translations, broken links or differences with JosSecurity.
Learn Joss (Guided route from scratch)
If you have never programmed before or are learning Joss for the first time, follow this course in order. Each chapter introduces one concept at a time, starting from how to create and run your official project with joss new console, with line-by-line explanations, visible results and three levels of practice (Quick test, Guided exercise and Challenge).
flowchart LR
C0["0. Primeros pasos (joss new console)"] --> C1["1. Fundamentos"]
C1 --> C2["2. Control de flujo"]
C2 --> C3["3. Colecciones"]
C3 --> C4["4. Funciones"]
C4 --> C5["5. Errores"]
C5 --> C6["6. Clases y POO"]
C6 --> C7["7. Concurrencia"]
C7 --> C8["8. Proyecto Consola (joss build)"]
C8 --> C9["9. Proyecto Web MVC (joss new / joss make:*)"]
- First steps: create your project with
joss new console, understandmain.jossand interact withcin - Fundamental values, variables and operations
- Flow control: decisions and repetition loops
- Collections: Arrays, Maps and Unicode text
- Functions, scope,
guard,defer, closures,refand pipelines - Error handling,
JOSS-...diagnostics andtry/catchexceptions - Classes, objects, inheritance, interfaces,
recordand generics - Concurrency,
async/await,Futureand channels (channel) - Practical console project with JSON persistence and
joss build - Complete web project with
joss newand native MVC architecture
The glossary explains all programming and Joss terms in everyday language, without requiring prior knowledge of another language. Once you complete the basic course, dive deeper into formal type rules in Type system, inference and conversions.
Language and tools reference
- Syntax, tokens and precedence
- EBNF grammar and AST nodes
- Functions, recursion and types
- Diagnostics and analyzer
- Global functions
- Native classes and services
- Generated native catalog
- CLI, formatter, linter and tests
- Mobile support: Android and iOS
- VS Code Extension
- State and limits
Create applications
- Project structure and configuration
- Organization without imports and plugins
- Web: server, HTTP/controllers, middleware, views, assets and WebSockets
- Data: models/GranDB, Schema Builder and migrations
- Application: authentication and SEO/sitemap
Internals and maintenance
- Language architecture
- Contribution Guide
- Documentation audit
- Joss Language Audit 2026
- Critical and Comparative Joss Review 2026
- Joss evolution 2026: phases 0 and 1
- GranDB ORM Audit 2026
- Technical audit of 2026
- Runtime Optimization Audit
- Historical news 3.6.7
Historical documents preserve context and may describe the state at their date. In the event of a discrepancy, the implementation, tests and Implementation status take precedence.