Giter Club home page Giter Club logo

satisfactorymodmanager-dev's Introduction

Satisfactory Mod Manager

Mod manager for Satisfactory. Handles all the steps of installing mods for you.

Implemented in Wails.

Installation and Usage

Check the modding documentation for installation and usage instructions.

Features

  • One-click install of any mod
  • Automatically downloads the dependencies of any mod
  • Mod update notifications
  • Mod profiles and sharing of them
  • View the mod description in the app

Reporting issues

If you have any questions or run into issues, you can ask in the Satisfactory Modding discord for quicker responses than the GitHub issues. If there is any error message, please include it along with the generated debug info zip.

Troubleshooting

Check the modding documentation for common issues and their solutions.

  • Profile and installation records are located in %APPDATA%\ficsit\
  • Downloads are cached in %LOCALAPPDATA%\ficsit\downloadCache\
  • Logs are stored in %LOCALAPPDATA%\SatisfactoryModManager\logs

Development

Dependencies

  • Go 1.22
  • pnpm
  • nodejs
  • Wails (go install github.com/wailsapp/wails/v2/cmd/wails@latest)
  • IDE of Choice. Goland or VSCode suggested.

Configuration

If you want to point to the SMR staging API instead of production, edit:

  • main.go to set api-base to the staging api (https://api.ficsit.dev)
  • frontend\.graphqlrc to set schema to the staging api (https://api.ficsit.dev/v2/query)
  • frontend\codegen.yml to set schema to the staging api (https://api.ficsit.dev/v2/query)

Development Server

The development server will hot reload whenever you make changes to the Go or Typescript code.

wails dev

Upon successful launch of the development server, the application will open automatically. The command line output will also include a localhost URL you can visit in your browser if you wish to utilize browser developer tools for debugging.

Make sure you don't already have a copy of the application running or the command will silently fail.

Although wails dev should run these commands for you under normal circumstances, you may need to run pnpm graphql-codegen in the frontend directory to update the code generated from the SMR API, or run pnpm translations to update the translation data.

IDE Configuration

Make sure that your IDE is connecting with the frontend's installation of ESLint to get the best experience.

VSCode users, a preconfigured workspace is provided in .vscode/ that allows editing both Go and Svelte files while maintaining correct ESLint functionality.

Building

wails build

Linting

Install golangci-lint via the directions here, but make sure to install the version specified in .github/workflows/push.yaml instead of whatever it suggests.

Then, to run it, use:

golangci-lint run --fix

You may also need to manually run the frontend linter. First, navigate to the frontend directory, then run:

pnpm run format

Localization

If you'd like to help translate and localize SMM to different languages, join our discord server.

SMM handles localization through the Tolgee Svelte integration. This allows for in-context translation - simply alt-click on a translatable element to open the Tolgee interface.

In order to edit translations in-context, you will need to provide a tolgee API key with edit permissions. You can create an API key for yourself here once you're added to the project. To supply this API key at development time, create or edit /frontend/.env.local and supply the key in a similar format as .env.

The in-context translation screenshot feature requires installing the Tolgee Tools browser extension. After running wails dev, open http://localhost:34115/ in your browser of choice to access the application.

satisfactorymodmanager-dev's People

Contributors

mircearoata avatar budak7273 avatar vilsol avatar mklierman avatar bunjiboys avatar rosuav avatar feyko avatar elightcap avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.