# ficsit-cli [![push](https://github.com/Vilsol/ficsit-cli/actions/workflows/push.yaml/badge.svg)](https://github.com/Vilsol/ficsit-cli/actions/workflows/push.yaml) ![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/vilsol/ficsit-cli) ![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/vilsol/ficsit-cli) [![GitHub license](https://img.shields.io/github/license/Vilsol/ficsit-cli)](https://github.com/Vilsol/ficsit-cli/blob/master/LICENSE) ![GitHub all releases](https://img.shields.io/github/downloads/vilsol/ficsit-cli/total) A CLI tool for managing mods for the game Satisfactory --- ## Installation
amd64 386 arm64 armv7 ppc64le
Windows amd64 386 arm64 armv7 N/A
Arch yay -S ficsit-cli-bin
Debian amd64 386 arm64 armv7 ppc64le
Fedora amd64 386 arm64 armv7 ppc64le
Alpine amd64 386 arm64 armv7 ppc64le
Linux amd64 386 arm64 armv7 ppc64le
macOS darwin_all N/A
## Usage ### Interactive CLI To launch the interactive CLI, run the executable without any arguments. ### Command Line Run `ficsit help` to see a list of available commands. ## Troubleshooting * Profile and installation records are located in `%APPDATA%\ficsit\` * Downloads are cached in `%LOCALAPPDATA%\ficsit\downloadCache\` ## Development ### Dependencies * [Go 1.21](https://go.dev/doc/install) * IDE of Choice. Goland or VSCode suggested. ### Code Generation If you update any of the GraphQL queries, run this to update generated code: ```bash (echo "y") | npx graphqurl https://api.ficsit.app/v2/query --introspect -H 'content-type: application/json' > schema.graphql go generate -tags tools -x ./... ``` If this command fails due to a mismatched schema, you may need to use the url `https://api.ficsit.dev/v2/query` instead. ## Building ```bash go build ``` Will produce `ficsit-cli.exe` in the repo root directory. ### Linting Install `golangci-lint` via the directions [here](https://golangci-lint.run/usage/install/#local-installation), but make sure to install the version specified in `.github/workflows/push.yaml` instead of whatever it suggests. Then, to run it, use: ```bash golangci-lint run --fix ``` ### Updating generated docs The files within `./docs` are generated using cobra, use the following to update them. ```bash go run tools.go ```