Renpy Gitignore -
saves/* !saves/.gitkeep Most Ren’Py projects have this structure:
If you’re building a visual novel with Ren’Py and using Git for version control, you’ve probably noticed a lot of clutter. Compiled files, cache data, and platform-specific leftovers can bloat your repository, cause unnecessary merge conflicts, and even expose sensitive information.
my_visual_novel/ ├── .gitignore ├── game/ │ ├── script.rpy │ ├── gui.rpy │ └── ... └── renpy/ (Ren'Py SDK – usually not committed) commit the renpy/ SDK folder. Each developer should install Ren’Py separately. If your project is open source, committing the SDK violates its license. renpy gitignore
A proper .gitignore file solves all of that.
Here’s the essential .gitignore template for any Ren’Py project—plus an explanation of why each entry matters. Create a file named .gitignore in the root folder of your Ren’Py project (the same folder that contains script.rpy , gui.rpy , etc.) and paste this: saves/*
Instead, put this in your root .gitignore :
mkdir -p saves touch saves/.gitkeep git add saves/.gitkeep Then in .gitignore : └── renpy/ (Ren'Py SDK – usually not committed)
# Ren'Py compiled and generated files *.rpyc *.rpymc cache/ saves/ log.txt errors.txt traceback.txt updater.json build/ dist/ tmp/ android-build/ android-project/ android-*.apk web/ *.app *.dmg *.exe *.zip *.sh *.tar.bz2 Python cache pycache / *.py[cod] *.so Editor & OS junk .DS_Store Thumbs.db *.swp *.swo *~ .idea/ .vscode/ *.iml Secrets (never commit these!) steam_appid.txt steam_upload.vdf secrets.rpym *.pem *.key *.env Ren'Py launcher/developer files renpy_cache/ editor_cache/ Why Each Section Matters *.rpyc and *.rpymc Ren’Py compiles your .rpy script files into bytecode ( .rpyc ) for faster loading. These are regeneratable and change on every run. Committing them creates meaningless merge conflicts. cache/ and saves/ Cache files are temporary graphics or data caches. Save files belong to players, not your repository. Never track them. build/ , dist/ , tmp/ These folders are created when you build distributions from the Ren’Py launcher. Your source control should contain the source, not the packaged game. web/ , *.app , *.exe , etc. These are complete, compiled game outputs for various platforms. They’re large, binary, and should be generated by CI or manual builds, not stored in Git. __pycache__/ Python bytecode left by Ren’Py’s Python modules. Unnecessary and system-specific. .DS_Store , Thumbs.db , .idea/ System and IDE metadata. Keeps commits clean for all team members. steam_appid.txt , secrets.rpym You don’t want your Steam App ID or API keys accidentally public. secrets.rpym is a great pattern for local passwords or analytics tokens. Special Case: Want to Keep an Empty Folder? Git doesn’t track empty folders. If your game expects a folder like saves/ or cache/ to exist, add a .gitkeep file inside it.
One of the features MobaXterm has which I desperately am looking for in many others is the MultiExec feature. The ability to open multiple sessies en issue a command which is executed on all of them. So far MobaXterm has the most useful implementation of this. However since Moba is quite bloated with features I don’t use and not exactly bugfree, I would consider another client, if only …
SecureCRT has this capability.
Right-click the tab and select “Send Commands to This Group”, then go to “View -> Command Window” which will open an area at the bottom of the screen. Anything typed in command window will go to all of the sessions.
Royal TS also has can execute on multiple connections.
Anyone have a suggestion for something that is cross platform on all three (Win/Mac/Linux)?
I’m currently using a Windows laptop and Apple laptop (work & personal), but I’m considering converting the work laptop to Linux. I currently use RoyalTS, but there’s no Linux version…