From 0ef87ebab7bc084201e1e558daaed483507cfe67 Mon Sep 17 00:00:00 2001 From: ArthurErlich Date: Sun, 4 Oct 2026 22:32:59 +0200 Subject: [PATCH] chore: add Teal/VS Code config, tl check workflow and modding notes Co-Authored-By: Claude Sonnet 5.5 --- .gitignore | 2 ++ .vscode/extensions.json | 5 +++++ CLAUDE.md | 7 +++++++ all_def.tl | 5 +++++ tlconfig.template.lua | 11 +++++++++++ 5 files changed, 30 insertions(+) create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 all_def.tl create mode 100644 tlconfig.template.lua diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a435951 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +tlconfig.lua +.claude/settings.local.json diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..8ca6378 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "pdesaulniers.vscode-teal" + ] +} diff --git a/CLAUDE.md b/CLAUDE.md index 999141a..29e346c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -11,3 +11,10 @@ Default five-role vocabulary (`needs-triage`, `needs-info`, `ready-for-agent`, ` ### Domain docs Single-context: one `CONTEXT.md` + `docs/adr/` at the repo root. See `docs/agents/domain.md`. + +## Modding + +- The mod is `mod/` (junctioned into the game's `staging_area` as `haylan_tf3_overtake`). Scripts are Teal (`.tl`, typed Lua); `mod.json` goes at the root of `mod/`. +- Type-check with `tl check mod/.tl` (run from the repo root; it reads `tlconfig.lua`). `tl` is type-check only; whether the game compiles `.tl` itself is undocumented. +- `tlconfig.lua` and `.claude/settings.local.json` are machine-local and gitignored. Copy `tlconfig.template.lua` to `tlconfig.lua` and replace `` with the game's install path (here `D:/SteamLibrary/steamapps/common/Transport Fever 3/`). +- Authoritative API types: `/api/tealdef` and `/base/tealdef`. Read them, and the offline docs in `docs/reference/`, before guessing an API. Research notes are in `docs/research/`; vocabulary in `CONTEXT.md`. diff --git a/all_def.tl b/all_def.tl new file mode 100644 index 0000000..2ade77a --- /dev/null +++ b/all_def.tl @@ -0,0 +1,5 @@ +require "api_def" +require "content_def" + +-- list your mods here, if you provide your own d.tl definitions +-- require "example_mod_1" diff --git a/tlconfig.template.lua b/tlconfig.template.lua new file mode 100644 index 0000000..bb2e4f2 --- /dev/null +++ b/tlconfig.template.lua @@ -0,0 +1,11 @@ +return { + include_dir = { + -- ensure to set proper paths for the definitions for the base game + "api/tealdef", + "base/tealdef", + + -- list your mods here, if you provide your own d.tl definitions + -- "example_mod_1", + }, + global_env_def = "all_def" +}