{"id":45631613,"url":"https://github.com/kyonru/feather","last_synced_at":"2026-06-02T05:00:52.692Z","repository":{"id":309127865,"uuid":"1032205660","full_name":"Kyonru/feather","owner":"Kyonru","description":"Debugging, runtime inspection, profiling, remote sessions, and developer workflows for Löve2D games.","archived":false,"fork":false,"pushed_at":"2026-05-24T22:12:51.000Z","size":18319,"stargazers_count":31,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-25T00:32:53.292Z","etag":null,"topics":["cli","debugger","devtool","gamedev","logs","love2d","lua","monitoring","package-manager","plugin-system"],"latest_commit_sha":null,"homepage":"https://kyonru.github.io/feather/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kyonru.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":"kyonru"}},"created_at":"2025-08-05T01:26:13.000Z","updated_at":"2026-05-24T22:05:20.000Z","dependencies_parsed_at":"2025-08-26T05:29:57.590Z","dependency_job_id":null,"html_url":"https://github.com/Kyonru/feather","commit_stats":null,"previous_names":["kyonru/feather"],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/Kyonru/feather","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kyonru%2Ffeather","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kyonru%2Ffeather/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kyonru%2Ffeather/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kyonru%2Ffeather/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kyonru","download_url":"https://codeload.github.com/Kyonru/feather/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kyonru%2Ffeather/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33806987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cli","debugger","devtool","gamedev","logs","love2d","lua","monitoring","package-manager","plugin-system"],"created_at":"2026-02-24T00:09:03.049Z","updated_at":"2026-06-02T05:00:52.685Z","avatar_url":"https://github.com/Kyonru.png","language":"TypeScript","funding_links":["https://github.com/sponsors/kyonru"],"categories":[],"sub_categories":[],"readme":"# Feather — CLI Debugging, Inspection, and Builds for LÖVE\n\n\u003e [!IMPORTANT]\n\u003e This is the dev version of Feather, for stable releases go to the [release page](https://github.com/Kyonru/feather/releases).\n\n[![GitHub Release](https://img.shields.io/github/v/release/Kyonru/feather)](https://github.com/Kyonru/feather/releases)\n[![npm](https://img.shields.io/npm/v/@kyonru/feather)](https://www.npmjs.com/package/@kyonru/feather)\n[![npm downloads](https://img.shields.io/npm/dm/@kyonru/feather)](https://www.npmjs.com/package/@kyonru/feather)\n[![VS Code](https://img.shields.io/visual-studio-marketplace/v/SolenodonteLabs.feather-cli-vscode)](https://marketplace.visualstudio.com/items?itemName=SolenodonteLabs.feather-cli-vscode)\n[![LuaRocks](https://img.shields.io/luarocks/v/kyonru/feather)](https://luarocks.org/modules/kyonru/feather)\n\nFeather is a CLI for debugging, inspecting, and manage packages for [LÖVE](https://love2d.org) games.\n\nIt gives you a live window into your running game _(logs, variables, errors, performance)_ without touching your game's release build. Inspired by [LoveBird](https://github.com/rxi/lovebird) and [Flipper](https://github.com/facebook/flipper).\n\nThe goal is to make the day-to-day loop of writing and testing a LÖVE game faster: less time adding print statements and restarting, more time actually building.\n\n**[✨ Demo](https://feather-showcase.up.railway.app)** · **[📖 Documentation](https://kyonru.github.io/feather)** · [Releases](https://github.com/Kyonru/feather/releases) · [Changelog](CHANGELOG.md) · [Contributing](CONTRIBUTING.md)\n\n---\n\n## What it does\n\n- **Live log viewer** — See `print()` output in real time without a terminal window.\n- **Variable inspection** — Watch values update as the game runs.\n- **Error capturing** — Errors are caught and shown with a full stack trace.\n- **Step debugger** — Breakpoints, step over/into/out, call stack, local variable inspection.\n- **Session Replay** — Record inputs plus game-defined state checkpoints so playthroughs can be replayed, exported, and debugged later.\n- **Console / REPL** — Execute Lua in the running game (opt-in, requires an `apiKey`).\n- **Plugin system** — 18+ built-in plugins (collision debug, animation inspector, audio debug, particle editor, and more). Plugins define their UI in Lua; the desktop app renders it automatically.\n- **Multi-session** — Connect multiple games at the same time.\n- **Mobile and platform builds** — CLI-managed web, Android, iOS, Windows, macOS, Linux, and SteamOS workflows.\n- **Screenshots \u0026 GIF capture** — Built-in capture plugin.\n- **Log file viewer** — Open `.featherlog` files for offline inspection.\n- **CLI** — No Lua changes needed to run, debug, build, or clean up love2d games.\n  - **Package Manager** — Install packages from a curated list of popular love2D packages.\n\n---\n\n![log tab](docs/images/logs.png)\n![performance tab](docs/images/performance.png)\n![observability tab](docs/images/observable.png)\n![!assets tab](docs/images/assets.png)\n![!debugger tab](docs/images/debugger.png)\n\n---\n\n## Quick Start\n\nInstall the Feather desktop app and CLI:\n\n1. Download the desktop app from [Releases](https://github.com/Kyonru/feather/releases).\n2. Install the CLI:\n\n```bash\nnpm install -g @kyonru/feather\n```\n\nInitialize your project, open the Feather app, then run the game:\n\n```bash\nfeather init path/to/my-game\nfeather run path/to/my-game\n```\n\nFeather is injected by the CLI for dev runs and debug builds, so your game code does not need a manual `require` for any target.\n\nOptional vendor setup for web, mobile, and packaged desktop workflows:\n\n```bash\nfeather build vendor add web --dir path/to/my-game\nfeather run path/to/my-game --target web\n\nfeather build vendor add android --dir path/to/my-game\nfeather run path/to/my-game --target android\n\nfeather build vendor add ios --dir path/to/my-game\nfeather run path/to/my-game --target ios\n```\n\nFor all build vendors, including desktop packaging runtimes:\n\n```bash\nfeather build vendor add all --dir path/to/my-game\n```\n\nBuild release artifacts from the same CLI flow:\n\n```bash\nfeather build love --dir path/to/my-game\nfeather build android --dir path/to/my-game --release\nfeather build ios --dir path/to/my-game --release\nfeather build windows --dir path/to/my-game\nfeather build macos --dir path/to/my-game\nfeather build linux --dir path/to/my-game\nfeather build steamos --dir path/to/my-game\n```\n\nFor more commands and options:\n\n```bash\nfeather --help\nfeather run --help\n```\n\nSee the [CLI docs](docs/cli.md) for `feather run`, `feather doctor`, `feather build`, and `feather upload`.\n\n---\n\n## Package manager\n\nFeather includes a curated installer for common LÖVE libraries. It is not a general package manager — it is a hand-picked catalog of known-good libraries with verified SHA-256 checksums and a lockfile you can commit.\n\n```sh\nfeather package install anim8       # install a library\nfeather package install             # restore everything in feather.lock.json\nfeather package audit               # verify checksums of installed files\nfeather package list                # browse the catalog\n```\n\nAvailable libraries include anim8, bump, hump, lume, flux, inspect, middleclass, classic, push, sti, and windfield. See [packages/README.md](packages/README.md) for the full list and command reference.\n\n---\n\n## [Documentation](https://kyonru.github.io/feather)\n\n- [Installation](docs/installation.md)\n- [CLI](docs/cli.md)\n- [Configuration](docs/configuration.md)\n- [Usage](docs/usage.md) — observers, logging, console, step debugger\n- [Session Replay](docs/session-replay.md)\n- [Plugins](docs/plugins.md)\n- [Packages](packages/README.md)\n- [Recommendations](docs/recommendations.md) — security, performance, release builds\n\n---\n\n## Built-in Lua dependencies\n\n- [Hump Class](https://github.com/vrld/hump/blob/master/class.lua)\n- [Inspect](https://github.com/kikito/inspect.lua)\n- [json.lua](https://github.com/rxi/json.lua)\n- [log.lua](https://github.com/rxi/log.lua)\n- [ws.lua](https://github.com/flaribbit/love2d-lua-websocket)\n\n---\n\n## Credits\n\n- [LoveBird](https://github.com/rxi/lovebird) by rxi — original inspiration\n- [Love-Dialogue](https://github.com/Miisan-png/Love-Dialogue) by Miisan-png — plugin system reference\n- [HUMP](https://github.com/vrld/hump), [anim8](https://github.com/kikito/anim8), [flux](https://github.com/rxi/flux), [bump.lua](https://github.com/kikito/bump.lua), [lua-state-machine](https://github.com/kyleconroy/lua-state-machine)\n- [love2d-community/awesome-love2d](https://github.com/love2d-community/awesome-love2d?tab=readme-ov-file#animation) - Inspiration for package helpers\n- [GitHub Theme for VS Code](https://github.com/primer/github-vscode-theme) by Primer — optional app theme palettes\n- [Noctis](https://github.com/liviuschera/noctis) by Liviu Schera — optional app theme palettes\n- [Rainglow](https://github.com/rainglow/vscode) by Dayle Rees — optional app theme palettes\n- [Tokyo Night](https://github.com/tokyo-night/tokyo-night-vscode-theme) by Enkia — optional app theme palettes\n- [Microsoft C/C++ Themes](https://github.com/microsoft/vscode-cpptools/tree/main/Themes) — optional Visual Studio C/C++ theme palettes\n\n---\n\n## License\n\nThe license applies to products that directly replicate the logic or purpose of this tool. It does not apply to games built using it as a development tool.\n\nSee [LICENSE.md](LICENSE.md).\n\n## AI usage\n\nThe architecture and planning of this tool is my own work. The main goal of this tool is to improve developer experience, meaning providing utilities to save time for my own developer experience and hopefully others. AI autocompletion is used for the creation of some of the features in this tool. This is not an AI driven tool nor a product designed by AI. This is a devtool made by an indie dev for indie devs nothing else. All generated code is reviewed by me. But I understand some people are not comfortable with AI involvement in any form. I respect that.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkyonru%2Ffeather","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkyonru%2Ffeather","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkyonru%2Ffeather/lists"}