2. Replace luastra.json
luastra/timer · app.handle · about 10 minutestimer.control + ui.render
The manifest admits the two imported SDK modules and the host capability required to control timers.
When to use it
Replace the generated manifest before running check; undeclared timer.control or luastra/timer usage is rejected.
Focused example
{
"schemaVersion": 2,
"project": {
"id": "dev.luastra.timer-recipe",
"entry": "app/main"
},
"sdk": {
"contract": 1
},
"capabilities": ["timer.control", "ui.render"],
"modules": [
{
"id": "app/main",
"source": "src/main.luau",
"dependencies": ["luastra/app", "luastra/timer", "luastra/ui"]
},
{
"id": "app/tests/timer",
"source": "tests/smoke.luau",
"dependencies": ["app/main"]
}
],
"tests": ["app/tests/timer"]
}