Files
Craftimizer/README.md
T
JonKazama-Hellion 614e97abf7 Add release pipeline, custom repo manifest, and pre-push linter
First release-ready cycle for Forgeimizer. Bumps the version to 0.1.0,
introduces the Hellion Forge custom repo distribution path, and wires
up the HellionChat-style pre-push lint gate.

Version:
- csproj <Version> 2.9.1.1 → 0.1.0. Forgeimizer adopts its own SemVer
  line starting at 0.1.0; the upstream Craftimizer 2.9.1.1 base is
  documented in the manifest description, CHANGELOG, README, and
  NOTICE for each release.

Release pipeline (.gitea/workflows/):
- build.yml on push/PR/dispatch: downloads Dalamud staging, dotnet
  restore + build of Craftimizer/Craftimizer.csproj. Fails the workflow
  if the plugin no longer compiles against current SDK 15.
- release.yml on v*-tag + dispatch: builds Release, locates the
  packager-produced latest.zip under Craftimizer/bin/x64/Release/,
  extracts the matching ## vX.Y.Z block from CHANGELOG.md via awk,
  appends .gitea/release-footer.md, and attaches everything to the
  Gitea release via gitea.com/actions/release-action.
- release-footer.md: install path with the custom-repo URL, conflict
  notice, attribution to Asriel Camora, MIT licence reference,
  Hellion Forge footer.
- security.yml: references the shared
  JonKazama-Hellion/security-workflows/security-scan.yml@main
  workflow (Semgrep + Trivy) on push/PR + weekly Monday schedule +
  dispatch.

Custom Dalamud repo manifest:
- repo.json at the repo root. AssemblyVersion 0.1.0.0,
  TestingAssemblyVersion 0.1.0.0, all three DownloadLink* pointing
  at releases/download/v0.1.0/latest.zip, embedded Changelog block,
  full description, tag list, icon and image URLs hosted off the
  Hellion Gitea. Subscribers add the raw URL of this file to
  Dalamud's Custom Plugin Repositories list.

Linter tooling:
- dotnet-tools.json with csharpier 1.2.6 as a local tool.
- .markdownlint.json copied from HellionChat (atx headers, dash
  bullets, underscore italics, asterisk strong) with MD060 disabled
  for our long-cell tables.
- renovate.json adapted from HellionChat: weekly schedule, grouped
  minor/patch updates per ecosystem, major updates get their own
  breaking-change PR, weekly lock file refresh, OSV vulnerability
  alerts.

Pre-push lint gate (.githooks/ + scripts/):
- .githooks/pre-push runs scripts/preflight.sh.
- preflight.sh: 4 blocks A (version consistency), B (dotnet build),
  C (dotnet csharpier check Craftimizer/), D (markdownlint via npx).
- verify-version-consistency.sh: csproj <Version> matches
  repo.json AssemblyVersion + TestingAssemblyVersion + a vX.Y.Z
  tag string is present in all three DownloadLink* URLs. Block A
  fails loud with a Fix: hint if anything drifts.
- setup-hooks.sh: sets core.hooksPath to .githooks, chmod +x the
  scripts. Run once after cloning.

CHANGELOG:
- New CHANGELOG.md at the repo root. First entry is v0.1.0 with the
  Hellion-style block (date, summary, bullet list, upstream-base
  attribution, full-history link). The release workflow extracts
  this entry verbatim as the Gitea release body.

Docs:
- README header updated with the new version badge, a release badge,
  and a build badge. New CHANGELOG reference, slash-command table,
  install section with both custom-repo and dev-install paths,
  conflict notice paragraph.

Plugin Version 0.1.0 stays in line with the verify-version-consistency
check; tag v0.1.0 is intentionally NOT pushed in this commit. Once the
user enables Gitea Actions on the repo, push the tag separately to
trigger the first release build.
2026-05-26 20:21:54 +02:00

9.1 KiB

Forgeimizer

Build License: MIT Latest release Dalamud API .NET FFXIV Upstream

Hellion Forge

Version 0.1.0 — a Hellion Forge maintenance fork of Craftimizer 2.9.1.1 by Asriel Camora, brought back to life on Dalamud SDK 15 for FFXIV 7.5+. Installs as a standalone plugin under the name Forgeimizer, refuses to load while upstream Craftimizer is active.

Forgeimizer uses an independent version line (starting at 0.1.0). The upstream Craftimizer version the current fork is built on is always called out in the description above and the changelog entry for each release. See CHANGELOG.md for the full release history.

Upstream Craftimizer received its last update for FFXIV 7.4 in late 2025 and has been dormant since. With the Dalamud API jump from level 14 to 15 in early 2026, the plugin stopped loading. Forgeimizer is a narrow API-compatibility cycle that gets the crafting plugin back on its feet for personal and friend-circle use. No features added, no design changes, no behavior departures from upstream. If Asriel ships an official SDK 15 update upstream, Forgeimizer folds back into a pure mirror and the recommendation will be to switch back.

Acknowledgements

Every line of crafting logic, every solver heuristic, the entire simulator, the recipe data layer, the synthesis hooks, and all UI windows are Asriel Camora's work. Forgeimizer only unblocks the API path and changes the user-facing plugin identity. Full acknowledgement in NOTICE.md.

Forgeimizer is maintained under Hellion Forge, the modding and plugin line of Hellion Online Media.


What this fork changes

Area Upstream Craftimizer 2.9.1.1 Forgeimizer
Plugin display name (Dalamud installer) Craftimizer Forgeimizer
InternalName (config slot) Craftimizer Forgeimizer (separate pluginConfigs/Forgeimizer/)
Assembly Craftimizer.dll Forgeimizer.dll
Conflict handling n/a Throws InvalidOperationException on load if upstream Craftimizer is active
Dalamud SDK 14.0.1 15.0.0
Dalamud API Level 14 15
FFXIVClientStructs.FFXIV.Component.GUI type ValueType AtkValueType (upstream rename)
Dalamud.Interface.Utility.Raii.ImRaii nested IEndObject, Color (removed in SDK15) local IEndObject interface in ImRaii2.cs; typed ImRaii.*Disposable returns
Settings.TabItem ref-bool lifetime var open = true; TabItem(label, ref open, flags) (rejected by SDK 15 escape analysis) TabItem(label, flags) overload (no ref)

Internal namespaces (Craftimizer.*) are intentionally left alone. This is a deliberate light-rename so a future upstream merge stays simple.


Tech Stack

Category Technology
Platform Dalamud Plugin (API Level 15)
Language C# / .NET 10 (net10.0-windows)
Build Dalamud.NET.Sdk 15.0.0
UI Dear ImGui via Dalamud bindings
Solver Raphael (Rust crate, bundled as raphael_bindings.dll)
Toolchain dotnet 10 SDK

Install

Coming once the release pipeline lands. Once active, point Dalamud at the repo.json URL from this repository root and Forgeimizer shows up in the All Plugins list.

From source (dev install)

git clone ssh://git@gitea.hellion-forge.cloud:2222/JonKazama-Hellion/Craftimizer.git
cd Craftimizer
dotnet build Craftimizer.sln -c Release

The plugin DLL plus manifest land in Craftimizer/bin/x64/Release/. Point Dalamud's Dev Plugin Locations at that folder (/xlsettingsExperimental) to load it as a dev plugin.

Conflict with upstream Craftimizer

Forgeimizer refuses to load if upstream Craftimizer is also active. Both plugins hook the same FFXIV UseAction and IsActionHighlighted paths, and running them in parallel would corrupt either's state. The Forgeimizer constructor throws an InvalidOperationException with a clear message pointing at /xlplugins if it detects an active Craftimizer install.

Disable upstream Craftimizer in /xlplugins before enabling Forgeimizer.


Project Status

Experimental Hellion fork — small-circle use. Custom repo and release pipeline are next on the roadmap. If upstream Craftimizer resumes active maintenance, Forgeimizer archives and the recommendation will be to switch back upstream.


Slash Commands

All upstream Craftimizer slash commands work unchanged, plus one alias:

Command What it does
/craftimizer or /forgeimizer Open the settings window
/crafteditor or /macroeditor Open the crafting macro editor
/craftaction Execute the next suggested action in synth helper
/craftretry Click "Retry" in the synthesis helper
/craftmacros or /macrolist Open the crafting macros window

Community & Support

For anything that relates back to upstream Craftimizer or to attribution, see the contact path in NOTICE.md.


License

MIT (same license as upstream Craftimizer). Full text in LICENSE. Copyright details with dual-holder block in COPYRIGHT. Personal acknowledgement to the upstream author in NOTICE.md.

© 2023 Asriel Camora for the original Craftimizer plugin. © 2026 Hellion Online Media for the Forgeimizer rebrand and the Dalamud SDK 15 fork-maintenance modifications.

FFXIV Disclaimer

FINAL FANTASY XIV © SQUARE ENIX CO., LTD. All rights reserved. Craftimizer and Forgeimizer are unofficial, fan-made plugins and are not affiliated with, supported by, sponsored by, or approved by Square Enix.


Project Documents

Document Contents
LICENSE MIT licence full text (Asriel Camora original notice intact).
COPYRIGHT Dual-holder copyright block, visual asset attribution.
NOTICE.md Acknowledgement to upstream author, scope of fork, contact.

Maintained under Hellion Forge, the modding and plugin line of Hellion Online Media | Bad Harzburg | hellion-media.de