{"id":21299713,"url":"https://github.com/ericoporto/agstoolbox","last_synced_at":"2026-06-07T02:01:26.900Z","repository":{"id":44783730,"uuid":"451260609","full_name":"ericoporto/agstoolbox","owner":"ericoporto","description":"🧰Utility Adventure Game Studio software to help manage, install, and uninstall different AGS Editor versions.","archived":false,"fork":false,"pushed_at":"2024-07-21T00:46:12.000Z","size":3178,"stargazers_count":9,"open_issues_count":14,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-11-08T15:04:54.840Z","etag":null,"topics":["adventure-game-studio","adventuregamestudio","ags","ags-editor","python"],"latest_commit_sha":null,"homepage":"https://www.adventuregamestudio.co.uk/forums/index.php?topic=59938.0","language":"Python","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/ericoporto.png","metadata":{"files":{"readme":"README.BBCode","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"ericoporto"}},"created_at":"2022-01-23T23:46:44.000Z","updated_at":"2024-07-21T00:46:15.000Z","dependencies_parsed_at":"2023-12-22T13:42:49.467Z","dependency_job_id":"b9b160ac-35c0-428c-8477-c7bc53172390","html_url":"https://github.com/ericoporto/agstoolbox","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericoporto%2Fagstoolbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericoporto%2Fagstoolbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericoporto%2Fagstoolbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericoporto%2Fagstoolbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericoporto","download_url":"https://codeload.github.com/ericoporto/agstoolbox/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225750130,"owners_count":17518315,"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":["adventure-game-studio","adventuregamestudio","ags","ags-editor","python"],"created_at":"2024-11-21T15:05:10.540Z","updated_at":"2026-06-07T02:01:26.889Z","avatar_url":"https://github.com/ericoporto.png","language":"Python","funding_links":["https://github.com/sponsors/ericoporto"],"categories":[],"sub_categories":[],"readme":"[size=14pt][b]AGS Toolbox🧰[/b][/size] [color=gray][b]version 0.6.1 [/b][/color]\n\n[url=\"https://github.com/ericoporto/agstoolbox/releases/download/0.6.1/agstoolbox.exe\"]Get Latest Release [b]agstoolbox.exe[/b][/url] | [url=\"https://github.com/ericoporto/agstoolbox/releases/download/0.6.1/atbx.exe\"]companion [b]atbx.exe[/b][/url] | [url=\"https://github.com/ericoporto/agstoolbox\"]GitHub Repo[/url]\n\n[img]https://img.shields.io/pypi/pyversions/agstoolbox[/img] [url=\"https://pypi.org/project/agstoolbox/\"][img]https://img.shields.io/pypi/v/agstoolbox[/img][/url] [url=\"https://github.com/ericoporto/agstoolbox\"][img]https://img.shields.io/github/release-date/ericoporto/agstoolbox?color=blue\u0026label=%F0%9F%93%85[/img][/url]\n\n🚨[b]NOTE:[/b] A clean windows 11 installation may require you install this [url=\"https://download.visualstudio.microsoft.com/download/pr/11100230/15ccb3f02745c7b206ad10373cbca89b/VC_redist.x64.exe\"]VC_redist.x64.exe (VS2017 redistributable)[/url].\n\nHi, I made something intended for those that deal with [b]multiple versions of AGS Editors and multiple AGS Game Projects[/b]. Place the [font=Courier New]agstoolbox.exe[/font] in a folder under your user, like \"[font=Courier New]C:\\Users\\MY_USER\\software[/font]\", before you run it.\n\nIf you wish, you can add this folder on PATH too and add [font=Courier New]atbx.exe[/font] there, which is the lean command line only executable.\n\n[img]https://i.imgur.com/UnwSeDU.png[/img]\n\nAfter you run the agstoolbox.exe, you will find [b]a bluecup in your indicator area of your taskbar[/b], near the clock area. Double click or right click it, to open the main panel.\n\n[u]Features[/u]\n[list]\n[li]Editors that you install using AGS Toolbox are called Managed Editors, as they are managed through the tool. Just double click in any Editor available to Download to get one.[/li]\n[li]Editors you have acquired through other means (like installed through Chocolatey), are called Externally Installed Editors, directories to look for can be configured in the Settings.[/li]\n[li]Game Projects are looked for in directories set in the Settings. It will understand the Editor Version it was used to create, open in it by simply double clicking. You can also use right click to open in a different version.[/li]\n[li]You can add it to your Windows initialization if you want a quick shortcut to AGS game development (it's in the settings menu)[/li]\n[/list]\n\n[size=1][i]Right clicking any item on the list will show available actions, double clicking will execute the command marked in [b]bold[/b].[/i][/size]\n\nI made it initially for myself to help handle my own games and modules. It has also an additional pair tool, atbx, that provides the same functionalities through a command line interface - intended for CI and automation.\n\nFor people in Unity, this may be a similar AGS version of the Unity Hub. I actually modeled it on the JetBrains Toolbox, which I use to manage different versions of CLion, Android Studio and PyCharm - it's also developed in PyCharm!\n\n[b]Command Line Usage[/b]\n\nNOTE: On Windows, due to OS and PyInstaller limitations, [font=Courier New]agstoolbox.exe[/font] doesn't work with command line arguments, so [font=Courier New]atbx.exe[/font] is for exclusive command line usage.\n\n[code=bash]$ atbx --help\nusage: atbx [-h] [-s {bash,zsh,tcsh}] [-v] {list,install,open,build,settings,export,pack} ...\n\nagstoolbox is an application to help manage AGS Editor versions.\n\npositional arguments:\n  {list,install,open,build,settings,export,pack}\n                        command\n    list                lists things\n    install             install tools\n    open                open an editor or project\n    build               build an ags project\n    settings            modify or show settings\n    export              export from ags project\n    pack                package build results\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -s {bash,zsh,tcsh}    print shell completion script\n  -v, --version         get software version.\n\nCopyright 2026 Erico Vieira Porto, MIT.[/code]\n\nAs an example, a command line to force install the latest 3.6 AGS Editor, as a managed Editor is as follows\n\n[code=bash]$ atbx install editor 3.6 -f\nWill install managed AGS Editor release 3.6.0.47\n Downloading... 40475597/40475597 B |████████████████████████████████| AGS-3.6.0.47.zip\nExtracting...\nInstalled release 3.6.0.47[/code]\n\nAdditionally, when using [font=Courier New]--version[/font] to check the version, atbx will attempt to alert if a newer version is available online.\n\nThe command line interface is working, but it is still quite limited, if you have more needs for it, please ask me!\n\nTab completion is also provided, the script for it can be generated with [font=Courier New]-s[/font] parameter, if you need help setting up just ask.\n\n[hr]\n\n[b]atbx command line commands[/b]\n\n[b]Command: list editors[/b]\n\nThis is meant to list the available AGS Editors. It will use the agstoolbox settings behind the scenes, and by default will only list managed editors.\nIt supports the options below:\n\n[list]\n[li][font=Courier New]-u, --unmanaged[/font], search for unmanaged editors, following the directories specified in settings.[/li]\n[li][font=Courier New]-d, --download[/font], it will list editors available for download (from AGS GitHub releases).[/li]\n[li][font=Courier New]-p PATH, --path PATH[/font], it will instead look for AGS Editors in a specific path, ignoring settings.[/li]\n[/list]\n\nExample:\n\n[code=bash]atbx list editors -d[/code]\n\nWill return a list of editors, with their versions and their links.\n\n[b]Command: list projects[/b]\n\nThis command is for retrieving a list of AGS Game projects, it will by default search the directories configured in settings.\nIt supports one option below:\n[list]\n[li][font=Courier New]-p PATH, --path PATH[/font], it will instead look for AGS Game Projects in the specified path, ignoring settings.[/li]\n[/list]\n\nExample:\n\n[code=bash]atbx list projects -p .[/code]\n\nWill instead list any available AGS Game Project in the current directory or any subdirectory, recursively.\n\n[b]Command: install[/b]\n\nThis command is meant for installing tools, for now only AGS Editor is available, but you still have to specify it with its subcommand.\n\n[b]Command: install editor[/b]\n\nThis command will download the AGS Editor zip archive and unpack in the managed editors directory.\nIt requires an argument that has to be either a version (e.g.: 4.0.0.25) or you can pass the directory of an AGS Game Project, and it will pick the specific version that project was last saved with.\nIt supports the options below:\n[list]\n[li][font=Courier New]-f, --force[/font], if the editor is already in the managed editors, it will be redownloaded if necessary, and it will unpack overwriting it in the managed editors directory.[/li]\n[li][font=Courier New]-q, --quiet[/font], it won't print the download progress, this may be useful in a CI environment.[/li]\n[/list]\n\n\nExample:\n\n[code=bash]atbx install editor 3.6.3.3[/code]\n\nThis will install editor 3.6.3.3 and make it available as a managed editor.\n\n[b]Command: open editor[/b]\n\nThis command is meant to open a specific editor version, which you need to pass as an argument. If it can't find an exact match it will warn and try to find one compatible to the specified version.\n\nExample:\n\n[code=bash]atbx open editor 3.6.3.3[/code]\n\n[b]Command: open project[/b]\n\nThis command requires an AGS Game Project path as an argument. It will try to find an Editor compatible with the project and open it.\nBy default, this command will block the terminal - you can [font=Courier New]Ctrl+C[/font] in the terminal to force close AGS Editor, or it will proceed normally when the Editor exits.\nIt supports the options below:\n[list]\n[li][font=Courier New]-n, --non-blocking[/font], if you use this, the command line will return and the Editor will not block it while it's open.[/li]\n[li][font=Courier New]-w, --which-editor[/font], don't actually open the editor with the project, instead return the path of the Editor that was matched for the project.[/li]\n[li][font=Courier New]-e VER, --editor VER[/font], use this specific editor version instead of what is in the Game Project[/li]\n[/list]\n\n\nExample:\n\n[code=bash]atbx open project -n .[/code]\n\nOpens the AGS Game Project in the current directory with the matching editor, without blocking the terminal.\n\n\n[b]Command: build[/b]\n\nThis command requires an AGS Game Project path as an argument.\nIn case of an error, this command returns non-zero exit code, so it's safe to use it in CI pipelines.\nIt will open the matched AGS Editor (the same from [font=Courier New]open project[/font] command), but it will use the [font=Courier New]/compile[/font] AGS Editor parameter to for it to build the project and exit.\nIt supports the options below:\n[list]\n[li][font=Courier New]-n, --non-blocking[/font], if you use this, the command line will return and the Editor will not block it while it's open. Don't use this on a CI environment.[/li]\n[li][font=Courier New]-t SEC, --timeout SEC[/font], the seconds to wait before interrupting the build. This only works when blocking. It's useful if a project may cause an exception that somehow leads to unwanted user interaction that can block the build.[/li]\n[li][font=Courier New]-e VER, --editor VER[/font], use this specific editor version instead of what is in the Game Project[/li]\n[/list]\n\nExample:\n\n[code=bash]atbx build -t 300 .[/code]\n\nBuilds the project in the current directory, but exits if it isn't finished in 5 minutes.\n\n\n[b]Command: settings show[/b]\n\nThis will print all the settings in the terminal, so you can quickly read it.\n\n[b]Command: settings set[/b]\n\n[b]NOTE:[/b] I haven't had time to proper adjust this, if you need to change settings in your computer the easy way is to use the agstoolbox, the graphical version, it has a proper graphical menu you can configure everything in much easier way.\n\nThis command can be used to set the value of the settings from the command line. For now only [font=Courier New]tools_install_dir[/font] can be passed, along with the dir to install it.\n\nExample:\n\n[code=bash]atbx settings set tools_install_dir /MY_TOOLS[/code]\n\nThis will set the tools install dir as [font=Courier New]/MY_TOOLS[/font]. For now, prefer operating the settings with the graphical interface. If you have a need for configuring the settings from the command line open an issue so I can prioritize this.\n\n\n[b]Command: export script[/b]\n\nThis is meant to export a script module ([font=Courier New].scm[/font] file).\n\nIt requires three positional arguments, in order:\n[list]\n[li][font=Courier New]PROJECT_PATH[/font], path to the project with the module[/li]\n[li][font=Courier New]MODULE_NAME[/font], name of the script module[/li]\n[li][font=Courier New]OUT_DIR[/font], where to export the script module[/li]\n[/list]\n\n[b]Command: export template[/b]\n\nThis is meant to export a game as a template. In AGS Editor versions where this is not supported as a command line parameter of the Editor itself, AGS ToolBox will use it's own AGS Template export implementation, but in Editor versions where this is supported, it will use the Editor own machinery to do this, if the Editor is installed.\n\nIt supports the options below:\n[list]\n[li][font=Courier New]-f, --force-editor[/font], force using the AGSEditor [font=Courier New]/maketemplate[/font] command if supported[/li]\n[li][font=Courier New]-t SEC, --timeout SEC[/font], the seconds to wait before interrupting the build.[/li]\n[/list]\n\n[b]Command: pack[/b]\n\nThis command will create a directory named [font=Courier New]Dist[/font] at the root of your game project path, and put any built binaries there packaged for distribution.\nCurrently it only support Windows, Web and Linux builds.\n\n[list]\n[li]For _Windows_ builds it zips the contents of [font=Courier New]Compiled/Windows[/font] directory in a file named [font=Courier New]GAMENAME_windows.zip[/font], and puts it in [font=Courier New]Dist[/font] directory.[/li]\n[li]For _Web_ builds it does the same, it zips the contents of [font=Courier New]Compiled/Web[/font] directory in a file named [font=Courier New]GAMENAME_web.zip[/font], and puts it in [font=Courier New]Dist[/font] directory.[/li]\n[li]For _Linux_ builds it will archive the contents of [font=Courier New]Compiled/Linux[/font] directory in a tar file named [font=Courier New]GAMENAME_linux.tar.gz[/font], and adjust the execution bit of the necessary files to make it executable when unpacked on a Linux distro; this tar file is put in the [font=Courier New]Dist[/font] directory.[/li]\n[/list]\n\nIt requires the positional argument below:\n\n[list]\n[li][font=Courier New]PROJECT_PATH[/font], path to the project with the module[/li]\n[/list]\n\nExample:\n\n[code=bash]atbx pack .[/code]\n\nIt will package any built games from the project in the current directory and put it in the [font=Courier New]Dist[/font] directory it creates.\n\n\n[hr]\n\n[b]tab completion on Windows Git-Bash[/b]\n\nCheck if you have a [font=Courier New]~/.bashrc[/font] file, attempt to show it\n\n[code=bash]cat ~/.bashrc[/code]\n\nIf you get an error message, you don't have one yet, lets generate one\n\n[code=bash]cat  /etc/bash.bashrc \u003e ~/.bashrc[/code]\n\nWe are going to create a directory to store additional bash completion in your Windows user home,\nand then use atbx to generate the bash completion script and then add a line to bashrc to load it\nonce a new shell loads.\n\n[code=bash]mkdir ~/bash_completion.d/\natbx -s bash \u003e ~/bash_completion.d/atbx\necho \"source ~/bash_completion.d/atbx\" \u003e\u003e ~/.bashrc[/code]\n\nOnce you close and reload the terminal, using atbx and pressing tab should show the commands, like\n[font=Courier New]list[/font], [font=Courier New]install[/font], ...\n\nWhenever you update atbx, regenerate it's completion script using\n[code=bash]atbx -s bash \u003e ~/bash_completion.d/atbx[/code]\n\n[hr]\n\nExperimentally, AGS Toolbox is also available on PyPI. Prefer the exe releases above for now, the PyPI releases are intended for uses of it's core parts and the [b]atbx[/b] command line utility in a future continuous integration tool.\n\n[hr]\n\nAGS Toolbox is written in Python, so if you are interested in a new feature and want to contribute code, just ask me and I can explain the basics of it.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericoporto%2Fagstoolbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fericoporto%2Fagstoolbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericoporto%2Fagstoolbox/lists"}