{"id":22076119,"url":"https://github.com/aoemods/aoe4-typescript-template","last_synced_at":"2026-02-07T17:05:19.414Z","repository":{"id":134137319,"uuid":"479145399","full_name":"aoemods/aoe4-typescript-template","owner":"aoemods","description":"Template for getting started with Age of Empires 4 TypeScript modding","archived":false,"fork":false,"pushed_at":"2022-04-11T19:12:12.000Z","size":34,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-14T05:07:55.178Z","etag":null,"topics":["age-of-empires-iv","lua","mod","modding","template","tutorial","typescript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aoemods.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-07T20:54:45.000Z","updated_at":"2024-08-15T19:59:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"14001fa5-2724-40c2-a6cd-10550dcde8a2","html_url":"https://github.com/aoemods/aoe4-typescript-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aoemods%2Faoe4-typescript-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aoemods%2Faoe4-typescript-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aoemods%2Faoe4-typescript-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aoemods%2Faoe4-typescript-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aoemods","download_url":"https://codeload.github.com/aoemods/aoe4-typescript-template/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247801170,"owners_count":20998331,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["age-of-empires-iv","lua","mod","modding","template","tutorial","typescript"],"created_at":"2024-11-30T22:12:30.496Z","updated_at":"2026-02-07T17:05:19.364Z","avatar_url":"https://github.com/aoemods.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Age of Empires 4 TypeScript template\nEnables creating Age of Empires 4 mods in TypeScript using [TypeScriptToLua](https://typescripttolua.github.io/).\n\nUses type definitions from the [@aoemods/aoetypes](https://github.com/aoemods/aoetypes) npm package (types also viewable online [here](https://aoemods.github.io/aoetypes-docs/)).\n\nJoin the [AoE 4 Modding Discord server](https://discord.gg/h8FX9Uq3vG) if you experience any issues or have questions.\n\n## Usage\n0. (Optional) Create an AOE4 mod with the modding tools \n1. Clone this repository, then run `npm install` as with any npm project. Recommended: run `npm install @aoemods/aoetypes@latest` to update the type definitions\n2. Copy or rename the `.env.example` file to `.env` file and set its output path to where you want the generated script to be.\n3. (Optional) Create a new win condition in your AOE4 mod\n4. Set your win condition's script path to the generated script path (same path as in `.env`)\n5. Run `npm run dev` which will detect your script changes in `scripts/` and automatically transpile and copy the generated script over\n\nNow you can open the project in the Age of Empires 4 editor as you would normally while being able to edit the TypeScript scripts.\n\n## Commands\n- `npm run dev`: Automatically transpiles and copies your scripts whenever you change them\n- `npm start`: Transpiles and copies your scripts once\n\n## If types are broken\nSince TypeScript support is still experimental you will likely experience incorrect types.\nTo fix them yourself you can create a type definition file (eg. `types.d.ts` in `scripts/`) and create your own type definitions in it. \nThese will automatically get picked up.\nCheck the [existing AoE4 types](https://github.com/aoemods/aoetypes/blob/master/packages/aoetypes/types/aoetypes.d.ts) or\n[the official documentation](https://www.typescriptlang.org/docs/handbook/declaration-files/templates/module-d-ts.html) for more information\nabout how to create type definitions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faoemods%2Faoe4-typescript-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faoemods%2Faoe4-typescript-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faoemods%2Faoe4-typescript-template/lists"}