Steam client plugin framework

#61 Booting with no internet connection causes the icon to disappear

~olyve filed ticket on crankshaft todo

7 hours ago

57c2cda Update HandyPT to v0.2.0

21 hours ago


#Steam client plugin manager and framework

Crankshaft lets you install and create plugins to add more functionality to your Steam client.

builds.sr.ht status


See installation instructions at crankshaft.space.


Crankshaft requires the following dependencies:

To set up your development environment:

  • Clone this repo: git clone https://git.sr.ht/~avery/crankshaft
  • Set up Git commit hooks: make configure-git-hooks
  • Install Javascript dependencies: make install-js-deps
  • Compile and run Crankshaft: make run


Currently, Crankshaft is only distributed as a Flatpak. Crankshaft is available on Flathub.

To create a new Flatpak release:

  • Bump the version number in build/build.go
  • Add a new releases to the releases section in the Appstream metadata
    • Add release notes, you can generate a list of commits since the previous version to help:
    • git log --pretty=format:'%s' $(git describe --tags --abbrev=0)..HEAD
    • Validate the metadata: flatpak run --env=G_DEBUG=fatal-criticals org.freedesktop.appstream-glib validate desktop/space.crankshaft.Crankshaft.metainfo.xml
  • Commit these changes
  • Create a tag for the new version
    • git tag -a X.Y.Z
    • In the message, paste the release notes you made earlier
  • Push your commit and tag to main
  • Update the archive URL and checksum in the Flatpak manifest
  • Push the manifest change and wait for it to be built and released
  • Release new version of @crankshaft/types NPM package
    • make api-extractor
    • cd injected/crankshaft-types
    • yarn publish --access public
      • Bump version number to match new Crankshaft version