Files
factorio-scenario-ExpCluster/CONTRIBUTING.md
T
bbassieandClaude Opus 5 d495a345d6 Resolve clusterio through CLUSTERIO rather than in ci only
The library path was injected by the workflow, so an editor opened on
this repo could not resolve `modules/clusterio/*`. It now comes from
the environment in both places.

It cannot be written relative to this repo: emmylua does not normalise
`..` in a library path, and an absolute path containing `..` fails the
same way, so the location has to come from outside.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 16:04:16 +00:00

17 lines
1.4 KiB
Markdown

# Contributing
All are welcome to make bug reports, feature requests, and pull requests for our scenario. We do not require you to have any coding knowledge to make bug reports and feature requests. If you have any questions ask us in our discord.
For developers wanting to add features please follow these guidelines:
- All lua code is documented using ldoc.
- Set `CLUSTERIO` to your clusterio checkout, the lint needs it to resolve `modules/clusterio/*`. emmylua does not normalise `..` in a library path, so it cannot be written relative to this repo.
- Lua is checked with [emmylua](https://github.com/EmmyLuaLs/emmylua-analyzer-rust), configured by `.emmyrc.json`. Install the EmmyLua extension rather than sumneko, and let the factoriomod-debug extension write your machine local library paths to `.luarc.json`, which is git ignored. Note that an inline cast must be written `--[[@as T]]`, the spaced form is not parsed.
- Changes should be made on your own fork and merged into `main` through a pull request.
- Each pull request should be limited to one feature or a few bug fixes and link to the related issue page.
- Pull requests are automatically linted and documentation checked.
- Pull requests are manually reviewed to maintain code and language quality.
- New features should have the branch names: `feature/feature-name`
- Bug fixes should have the branch names: `fix/bug-name`
- Commits should have meaningful messages.