Commit Graph

5 Commits

Author SHA1 Message Date
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
JonKazama-Hellion 923d421e57 Rebrand fork to Forgeimizer with Craftimizer conflict detector
User-facing rebrand of the Hellion Forge maintenance fork so it installs
as a separate Dalamud plugin slot named Forgeimizer and refuses to load
in parallel with upstream Craftimizer. Internal namespaces stay as
Craftimizer.* — this is a deliberate light-rename so a future upstream
merge stays straightforward.

Manifest and build:
- csproj AssemblyName = Forgeimizer (DLL is now Forgeimizer.dll)
- csproj PackageProjectUrl points at the Hellion Gitea
- csproj Authors dual-credits Asriel Camora and Hellion Forge
- Craftimizer.json renamed to Forgeimizer.json with Name/InternalName/
  Punchline/Description/RepoUrl/IconUrl/ImageUrls/Tags updated to
  Forgeimizer + Hellion-hosted URLs

Conflict detector:
- New Utils/CraftimizerConflictDetector.cs checks
  pluginInterface.InstalledPlugins for an active InternalName=="Craftimizer"
  and throws InvalidOperationException with /xlplugins guidance if found
- Plugin.cs constructor calls the detector before Service.Initialize so
  no Dalamud state is touched on conflict

Other user-facing strings:
- WindowSystem name "Craftimizer" -> "Forgeimizer"
- Settings about-tab header "Craftimizer" -> "Forgeimizer", hyperlink
  retargeted to the Hellion Gitea repo (upstream attribution stays on
  the WorkingRobot author line below)
- Configuration.MacroMateName default "Craftimizer" -> "Forgeimizer"
- /craftimizer slash command gains a /forgeimizer alias (all other
  upstream commands stay unchanged for muscle-memory compatibility)

Docs:
- README rewritten with Forgeimizer title, install section, conflict
  notice, slash command table, dual-holder license footer
- COPYRIGHT title and source-code block updated to call out both the
  rebrand and the SDK 15 migration as Hellion Forge fork maintenance
- NOTICE.md direct-word-to-Asriel section now also covers the rebrand
  scope and the conflict detector language, with explicit invitation
  to flag anything that does not sit right

LICENSE remains unchanged — Asriel Camora's MIT notice is mandatory.
Plugin Version stays at 2.9.1.1; this is a rebrand cycle, not a
version bump.
2026-05-26 20:03:23 +02:00
JonKazama-Hellion 19c7c784f8 Add Hellion fork README, NOTICE, and COPYRIGHT
Build / build (push) Failing after 1m45s
Build / bench (push) Has been cancelled
Initial Hellion Forge documentation for the Craftimizer fork.

- Replace stub README with full project page (badges, fork scope table,
  tech stack, build instructions, project status, license block, FFXIV
  disclaimer, Hellion Forge footer)
- Add NOTICE.md with acknowledgement to Asriel Camora as the upstream
  author, direct word on fork intent, scope of changes, contact path,
  and explicit non-upstreaming rationale
- Add COPYRIGHT with dual-holder source code block (Asriel 2023 +
  Hellion Online Media 2026 for the SDK 15 maintenance), visual asset
  block (Hellion Forge logo by Florian Eck, all-rights-reserved), and
  bundled binary attribution (Raphael solver)
- Drop in the Hellion Forge logo under docs/images/

LICENSE remains unchanged — Asriel Camora's original MIT notice is
mandatory under MIT clause 3.
2026-05-26 19:45:24 +02:00
Asriel Camora 2cb2b8783c Fix readme 2023-06-29 13:43:51 -07:00
Asriel Camora bea568013c Initial commit 2023-06-12 10:21:36 -07:00