Skip to content

dotBunny/K9

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

282 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

K9

A collection of functionality useful for automation in Game Development.

Disclaimer
K9 is by no means the most optimized battle-ready code, nor is it meant to be. It is a finite set of functionality built for purpose over the years to augment and enhance existing automation and build systems.

The origin of many of these tools simply comes from wanting to augment some automated process in a way that wasn't easily available or not platform agnostic.

Requirements

Git

Git needs to be accessible from your command prompt; some Git clients do not add Git to the PATH so it may be easier to just use the installers found at: https://git-scm.com/download/.

.NET SDK 10.0

The bootstrapped build requires the installation of the .NET 10.0 SDK, which can be found at: https://dotnet.microsoft.com/en-us/download/dotnet/10.0. In 2026, a modernization effort was made to bring all applications to target C# 14 w/ .NET Runtime 10, and libraries targeting C# 14 w/ .NET Standard 2.1.

Development

It is important to keep your IDE building in DEBUG mode when actively developing as both K9.Workspace.Bootstrap and K9.Workspace.Setup have destructive actions which will wipe out any changes to the source code if ran in RELEASE or WORKSPACE mode.

Applications

Documentation Description
K9.OS.CleanFolder Cleans a folder and its subdirectories based on the specified exclusion filters.
K9.OS.CopyFile Copy a file to the target folder, optionally extracting it.
K9.OS.CopyFolder A simple safe way to copy a folder's contents to another folder.
K9.OS.CreateArchive Create an archive.
K9.OS.DeleteFile Deletes a file, with no nonsense.
K9.OS.DeleteFolder Deletes a folder, with no nonsense.
K9.OS.ExtractArchive Extract an archive.
K9.OS.FileReplacer A tool for replacing content in a file in one-shot.
K9.OS.KeepAlive An application designed to keep a launched application running, much like a service
K9.OS.NetMap Provide a mechanism for ensuring network shares are mapped as expected.
K9.OS.SetEnvironmentVariable Set different environment variables based on inputs.
K9.OS.ScreenResolution A tool to force a specific screen resolution.
K9.OS.Wrapper Wrap execution of applications to control error handling and logging.
K9.OS.WriteTextFile Write text content with replacements to a file.
K9.Publish.SteamToken An application to check out and check-in the token used for SteamGuard uploads.
K9.Test.CompareImage A tool to compare two images and fail if they are different.
K9.Unreal.PerforceTypes A tool to detect improper types of files in Perforce for Unreal Engine source.
K9.Unreal.ToNUnit Convert Gauntlet JSON reports to NUnit XML reports.
K9.Workspace.Bootstrap A tool to bootstrap a user-workspace.
K9.Workspace.Reset A tool to reset a user-workspace.
K9.Workspace.Setup A tool to setup a user-workspace.
K9 A tool to execute pre-defined tasks.

Base Flags

While each application will have its own flags, there are some common flags shared across all applications, excluding K9.Workspace.Bootstrap.

Argument Description
NO-PAUSE Do not pause and wait for any key on exit.
QUIET Run in quiet mode, not asking for user input, etc.
HELP Show help for the application.

Workspace

Folder Structure

Folder Description
/K9/Binaries Where all the compiled binaries are stored when built via the Workspace configuration. This folder should be ignored by your chosen VCS.
/K9/Bootstrap Where the compiled K9.Workspace.Bootstrap should be stored in your chosen VCS.
/K9/Source Where the repository should be checked out.
/K9/Defaults Where the default configuration files are stored that get read by the different applications.

About

A collection of functionality useful for automation in Game Development.

Resources

License

Stars

Watchers

Forks

Contributors

Languages