{"id":42556258,"url":"https://github.com/adepierre/ficsit-companion","last_synced_at":"2026-01-28T19:42:52.151Z","repository":{"id":253980153,"uuid":"845121827","full_name":"adepierre/ficsit-companion","owner":"adepierre","description":"Node-based production planner for the game Satisfactory","archived":false,"fork":false,"pushed_at":"2025-05-04T20:26:29.000Z","size":2760,"stargazers_count":42,"open_issues_count":5,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-04T21:25:33.539Z","etag":null,"topics":["cpp","imgui","satisfactory"],"latest_commit_sha":null,"homepage":"https://adepierre.github.io/ficsit-companion","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adepierre.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-20T16:12:48.000Z","updated_at":"2025-05-04T20:15:40.000Z","dependencies_parsed_at":"2025-05-04T21:21:53.657Z","dependency_job_id":"fe42bf81-0c20-4814-870c-d8e5b7f85664","html_url":"https://github.com/adepierre/ficsit-companion","commit_stats":null,"previous_names":["adepierre/ficsit-companion"],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/adepierre/ficsit-companion","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adepierre%2Fficsit-companion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adepierre%2Fficsit-companion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adepierre%2Fficsit-companion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adepierre%2Fficsit-companion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adepierre","download_url":"https://codeload.github.com/adepierre/ficsit-companion/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adepierre%2Fficsit-companion/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28850473,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T15:15:36.453Z","status":"ssl_error","status_checked_at":"2026-01-28T15:15:13.020Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","imgui","satisfactory"],"created_at":"2026-01-28T19:42:52.069Z","updated_at":"2026-01-28T19:42:52.145Z","avatar_url":"https://github.com/adepierre.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\" style=\"margin-top: 0px;\"\u003eFicsit Companion\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003eA node-based Satisfactory production planner\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/adepierre/ficsit-companion/actions/workflows/build.yaml/badge.svg\" alt=\"Build status\"\u003e\n    \u003ca href=\"https://discord.gg/JntZTZehQB\" target=\"_blank\"\u003e\u003cimg src=\"https://badgen.net/badge/icon/Discord?icon=discord\u0026label\" alt=\"Discord link\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://adepierre.github.io/ficsit-companion/\" target=\"_blank\"\u003e\u003cimg src=\"https://badgen.net/badge/%F0%9F%8C%90/Online%20version/blue\" alt=\"Online version\"\u003e\u003c/a\u003e\n    \u003cimg src=\"https://badgen.net/badge/license/MIT/orange\" alt=\"License MIT\"\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\" style=\"margin-bottom: 0px !important;\"\u003e\n  \u003cvideo width=\"720\" src=\"https://github.com/user-attachments/assets/7867f428-bc26-46e7-b9dc-9f7dc76c97be\" alt=\"ficsit companion demo video\" align=\"center\"\u003e\n\u003c/p\u003e\n\nFicsit Companion is a node based production planner for Satisfactory. You can use the online version [here](https://adepierre.github.io/ficsit-companion/) or download a standalone desktop version from the [release page](https://github.com/adepierre/ficsit-companion/releases/latest).\n\n## Plans and ideas\n\nThis is a partial list of what *could* eventually be integrated into Ficsit Companion in the future. Please keep in mind that it is mostly developed by one person on free time (and my factory also needs to grow), so there is no timeline and some features may end up never being implemented.\n\n\u003cdetails\u003e\n\u003csummary\u003eUI/UX improvements\u003c/summary\u003e\n\nUsually, I tend to favor functionnality before look (please don't judge my shoebox factories). As a consequence the UI and web version are currently not very pretty and lots of thing could be improved visually for a better experience.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003ePin reordering\u003c/summary\u003e\n\nInside a node, in/out pins order is irrelevant. However, being able to reorder them could be helpful to get cleaner layouts with less link crossing overall. Currently a partial solution is implemented: pins are automatically sorted based on the position of the linked node (if any).\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eColor modifiers\u003c/summary\u003e\n\nAdding the ability to change colors for links/nodes would definitely help having better organized graphs.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eAutomatic tests\u003c/summary\u003e\n\nThis is more a developper thing, but adding automatic tests using the [ImGui Test Engine](https://github.com/ocornut/imgui_test_engine) would be very helpful to speed up development and debugging, avoid regressions etc...\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eIn-game integration\u003c/summary\u003e\n\nI don't know much about Satisfactory mods, but as this is a C++ project using ImGui, I think it may be possible to have it integrated directly in game as a mod/part of a mod. At the moment this is just an idea though, and it would probably require a lot of tweaking to have it working.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eNode placing/sorting\u003c/summary\u003e\n\nHaving a button to automatically sort/place all the nodes on screen to minimize link crossing would be very useful. Not sure how to implement it properly yet though.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eAutomatic planning\u003c/summary\u003e\n\nI'm not a fan of fully automatic tools that can generate full optimized production chains, as I think they take away part of the fun of the planning phase. That being said, it could still be useful to add an option to expand a pin with a full production chain. Development-wise, it may be quite hard to implement from scratch, but using a tool like lpsolve could be fairly easy, assuming it's possible to translate Satisfactory constraints into the chosen solver language.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eOther games support\u003c/summary\u003e\n\nThe main concept of node editor production planner is not specific to Satisfactory and could be extended to other similar games (Factorio, Dyson Sphere Program...). The only requirement would be the possibility to generate a similar recipes json file (and potentially have images for the items).\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eImage exporter\u003c/summary\u003e\n\nCurrently, if you want to visualize a previously generated production chain, you need to reopen it inside Ficsit Companion. It means each node takes a lot of space with all the pins. It would be helpful to have an option to export it to a more compact format, potentially an image, where you can easily see everything at a glance. This could either be integrated directly in the app or as a side script reading from a saved file.\n\u003c/details\u003e\n\n\n## Building\n\n```bash\ngit clone https://github.com/adepierre/ficsit-companion.git\ncd ficsit-companion\nmkdir build\ncd build\ncmake -DCMAKE_BUILD_TYPE=Release -S .. -B .\ncmake --build . --config Release\n```\n\nTo build the web version locally you'll need to first install emscripten. Web version will be located inside ``build/web``\n```bash\ngit clone https://github.com/adepierre/ficsit-companion.git\ncd ficsit-companion\nmkdir build\ncd build\n/path/to/emscripten/emsdk activate latest\nemcmake cmake -DCMAKE_BUILD_TYPE=Release -S .. -B .\ncmake --build . --config Release\n```\n\n## Updating\n\nThe recipes are currently up to date with version 1.0 of the game. To update to a different version, one can use the [provided script](scripts/data_extractor.py). It requires having the Docs.json file provided in the game files as well as item icons extracted from the game. For more informations about the Docs.json file you can check the official [wiki page](https://satisfactory.wiki.gg/wiki/Community_resources) and for icons extraction you can refer to [this tutorial](https://docs.ficsit.app/satisfactory-modding/latest/Development/ExtractGameFiles.html).\n\nUsing FModel, you'll have to extract at least these folders for icons:\n- FactoryGame/Content/FactoryGame/Resource/Parts\n- FactoryGame/Content/FactoryGame/Resource/RawResources\n- FactoryGame/Content/FactoryGame/Resource/Environment/Crystal\n- FactoryGame/Content/FactoryGame/Resource/Environment/AnimalParts\n- FactoryGame/Content/FactoryGame/Equipment\n- FactoryGame/Content/FactoryGame/Prototype/WAT (for somersloop icon)\n\n## Credits\n\nThanks to the amazing ocornut and thedmd for their libraries ([Dear ImGui](https://github.com/ocornut/imgui/) and [ImGui Node Editor](https://github.com/thedmd/imgui-node-editor) respectively).\n\n## Disclaimer\n\nFicsit Companion is not an official Ficsit nor Coffee Stain Studios product. All images comes from Satisfactory and are Coffee Stain Studios intellectual property.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadepierre%2Fficsit-companion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadepierre%2Fficsit-companion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadepierre%2Fficsit-companion/lists"}