{"id":15014562,"url":"https://github.com/kaleidosium/tsuki","last_synced_at":"2025-04-12T08:12:59.247Z","repository":{"id":256211952,"uuid":"849991932","full_name":"Kaleidosium/Tsuki","owner":"Kaleidosium","description":"LÖVE Template For YueScript","archived":false,"fork":false,"pushed_at":"2025-03-27T08:05:27.000Z","size":102,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-12T08:12:53.992Z","etag":null,"topics":["love","love2d","yue","yuescript"],"latest_commit_sha":null,"homepage":"","language":"MoonScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kaleidosium.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-08-30T16:52:12.000Z","updated_at":"2025-03-27T08:05:30.000Z","dependencies_parsed_at":"2024-09-09T16:42:59.214Z","dependency_job_id":"756b7261-fcf5-4b13-8857-1a3e0c9aef94","html_url":"https://github.com/Kaleidosium/Tsuki","commit_stats":null,"previous_names":["kaleidosium/tsuki"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaleidosium%2FTsuki","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaleidosium%2FTsuki/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaleidosium%2FTsuki/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaleidosium%2FTsuki/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kaleidosium","download_url":"https://codeload.github.com/Kaleidosium/Tsuki/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248537144,"owners_count":21120711,"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":["love","love2d","yue","yuescript"],"created_at":"2024-09-24T19:45:46.701Z","updated_at":"2025-04-12T08:12:59.237Z","avatar_url":"https://github.com/Kaleidosium.png","language":"MoonScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tsuki 🈷️\n\nTsuki is a project template to quickly set up LÖVE to run [YueScript](https://github.com/IppClub/YueScript) instead of Lua,\n_without_ precompiling your `.yue` files to `.lua`\n\nThis repository was forked from [novafacing](https://github.com/novafacing)'s [selene](https://github.com/novafacing/selene).\n\n## Table of Contents\n\n- [Tsuki 🈷️](#tsuki-️)\n  - [Table of Contents](#table-of-contents)\n  - [Installing](#installing)\n    - [Install LÖVE](#install-löve)\n    - [Create Your Game](#create-your-game)\n  - [Using](#using)\n    - [First Run](#first-run)\n    - [Writing Your Game](#writing-your-game)\n  - [Testing](#testing)\n    - [Testing](#testing-1)\n    - [Release Builds](#release-builds)\n      - [Debugging Release Builds](#debugging-release-builds)\n  - [Useful Documentation](#useful-documentation)\n  - [Contributions and Bug Fixes](#contributions-and-bug-fixes)\n  - [Thanks](#thanks)\n  - [License](#license)\n\n## Installing\n\nTsuki works on Linux, macOS and Windows. It should also work anywhere else\nthat LÖVE runs!\n\n### Install LÖVE\n\nTsuki needs LÖVE to be installed to run your game, and you can get the installer\nfor your platform at [the LÖVE website](https://love2d.org).\n\n### Create Your Game\n\nYou have two options when using Tsuki to create your game:\n\nFirst (and most recommended) is to use this repo as a template repo. To do that, click\nthe button at the top right of the [github page](https://github.com/kaleidosium/tsuki)\nthat says \"Use this template\". That will create a new repo in your account that is a\ncopy of the Tsuki repo!\n\nSecond, is you can directly clone and modify this repo (or a fork of it), or just\ndownload the zip file of this repo.\n\nOnce you have decided, just clone this repo (replace the link with your own if you\nforked or used it as a template):\n\n```sh\ngit clone https://github.com/kaleidosium/tsuki.git\n```\n\n## Using\n\n### First Run\n\nNow that you have the repository set up, you will need a couple dependencies:\n\n- `lua == 5.1`: You can probably install from your package manager i.e.\n  `apt install lua5.1`\n- `luarocks`: You can probably also install this from your package manager, or you can\n  get it [here](https://luarocks.org/#quick-start)\n- `act`: For local release builds, you will need to install\n  [act](https://github.com/nektos/act)\n\nOnce you have `luarocks` installed, you can install the dependencies with:\n\n```sh\nluarocks make --dev\n```\n\nDon't forget the `--dev`, it's important! Finally, run `love .` to start your game! There is\na demo project already configured for you, and you should see something like this:\n\n![A screenshot of the game running, displaying a moon image on the default LÖVE dark background](https://github.com/user-attachments/assets/fe8d7fe2-7001-4a0b-83ca-d3b0584a5d40)\n\nand you should be able to move around with the arrow keys.\n\n### Writing Your Game\n\nNow that you're all set up, write your game! Your source code should go in\n[the src directory](src/), and you can add as many files as you want.\n[The main file](src/Main.yue) gives an example of how to require another file (in this\ncase `Game.yue`) to make your game's code modular. There is also a `Player` class\nand a `Vector2` class to demonstrate how you might make your game even _more_ modular.\n\n## Testing\n\n### Testing\n\nThere is a build/test script `build.yue` provided that works automatically with the\ntemplate repo. You can invoke it to run tests like:\n\n```sh\nyue -e build.yue src --test\n```\n\nIt will run `busted` tests on all files matching a pattern, which defaults to\n`Test.+%.yue` but you can provide your own once you start writing your own tests like\nso:\n\n```sh\nyue -e build.yue src --test --pattern '.+Test%.yue'\n```\n\n### Release Builds\n\nRelease builds of projects will contain the bare minimum files to run, so for release\nall `.yue` files will be compiled to `.lua`, all extra libraries are removed, and a\n`.love` or `.exe` is produced. You can produce a release build by running:\n\n```sh\nact --artifact-server-path=release\n```\n\nThis will spin up a pipeline, build your release, and output the files to `release`.\n\n#### Debugging Release Builds\n\nThe release build uses `build.yue` to compile all your `.yue` files to `.lua`.\nIf you have an issue, you can invoke it locally:\n\n```sh\nyue -e build.yue src\n```\n\nThis will display any build errors encountered.\n\nYou can clean up the lua files from the source tree with:\n\n```sh\nyue -e build.yue src --clean\n```\n\nBut be aware this will delete _all_ `.lua` files in `src`!\n\n## Useful Documentation\n\n- [LÖVE Documentation](https://love2d.org/wiki/Main_Page)\n- [YueScript Documentation](https://YueScript.org/)\n\n## Contributions and Bug Fixes\n\nBug fixes and contributions are welcome! If you find any issues, just open an Issue and I'll\ntake a look at it. I'm not going to formalize the process too much, because this is a tiny repo\nand I don't expect I'll add too much code to it. Any improvements are likewise appreciated!\n\n## Thanks\n\nThanks for using Tsuki! I hope it helps you create great games, and if you do, please open a PR to\nadd a gif or screenshot of your game and a link to it to this README so you can show it off!\n\nAnd special thanks to [novafacing](https://github.com/novafacing) (The creator of [Selene](https://github.com/novafacing/selene)),\n[pigpigyyy](https://github.com/pigpigyyy) (The creator of [YueScript](https://github.com/IppClub/YueScript)),\n[leafo](https://github.com/leafo) (The creator of [MoonScript](https://github.com/leafo/moonscript)),\nand various other people who have contributed to the projects this one relies or built on. Without their contributions,\nthis project would not have existed.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaleidosium%2Ftsuki","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaleidosium%2Ftsuki","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaleidosium%2Ftsuki/lists"}