← Recipe: run a delayed action

2. Replace luastra.json

luastra/timer · app.handle · about 10 minutes
timer.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"]
}

Complete inventory

View all pages in Recipe: run a delayed action
← Previous: 1. Create the projectNext: 3. Replace src/main.luau →