Complete web project
luastra.json · schema v2luastra.json
Combine required declarations, tests, an asset, web metadata and startup.
When to use it
Use this as a complete starting manifest when a web application needs a logo, startup screen, tests and public metadata.
- Create the three declared Luau files and assets/logo.png before checking this example. Replace project identity, metadata and canonical URL.
- Backend is optional and intentionally omitted. Its fields are explained separately above.
Focused example
{
"schemaVersion": 2,
"project": {
"id": "dev.example.notes",
"entry": "app/main"
},
"sdk": {
"contract": 1
},
"capabilities": [
"ui.render"
],
"modules": [
{
"id": "app/main",
"source": "src/main.luau",
"dependencies": [
"luastra/ui"
]
},
{
"id": "app/startup",
"source": "src/startup.luau",
"dependencies": [
"luastra/assets",
"luastra/ui"
]
},
{
"id": "app/tests/smoke",
"source": "tests/smoke.luau",
"dependencies": [
"app/main"
]
}
],
"tests": [
"app/tests/smoke"
],
"assets": [
{
"id": "image/logo",
"source": "assets/logo.png",
"mediaType": "image/png"
}
],
"web": {
"title": "Notes",
"description": "A small notes application.",
"canonicalUrl": "https://example.com/",
"index": true
},
"startup": {
"entry": "app/startup"
}
}