Crankshaft lets you install and create plugins to add more functionality to your Steam client.
See installation instructions at crankshaft.space.
Crankshaft requires the following dependencies:
Crankshaft on Windows 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