diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index d73e413..646a9d0 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,3 +1,3 @@ -# Shows a "Sponsor" button on the FediHome repo. +# Shows a "Sponsor" button on the SurvivorCore repo. # https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository github: [TemujinCalidius] diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..1cb3289 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,81 @@ +name: Bug report +description: Something in SurvivorCore behaves incorrectly. +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + Thanks for filing a bug! Please fill in as much as you can — a clear repro is + the single biggest factor in getting it fixed quickly. + + Questions and "how do I…" go to [Discussions](../../discussions), not here. + - type: textarea + id: description + attributes: + label: Description + description: What went wrong? + placeholder: When I tag a part "Gatherable" and harvest it, the prompt never disappears… + validations: + required: true + - type: textarea + id: repro + attributes: + label: Steps to reproduce + description: How can a maintainer trigger this? Number the steps. + placeholder: | + 1. Serve `demo.project.json` into a place + 2. Add a Part, tag it "Gatherable", set ItemId="reed", HP=3 + 3. Play, hold the prompt 3 times + 4. … + validations: + required: true + - type: textarea + id: expected + attributes: + label: Expected behavior + description: What should have happened instead? + validations: + required: true + - type: input + id: sc-version + attributes: + label: SurvivorCore version + description: Release tag, or the commit SHA if you're on `dev`/`main`. + placeholder: v0.1.0 (or a commit SHA) + validations: + required: true + - type: input + id: studio-version + attributes: + label: Roblox Studio version + description: Studio → File → About Roblox Studio. + placeholder: 0.6XX.0.XXXXXXX + validations: + required: true + - type: input + id: rojo-plugin-version + attributes: + label: Rojo Studio plugin version + description: The Rojo plugin version in Studio (pin to 7.6.1 to match the project). + placeholder: "7.6.1" + validations: + required: true + - type: dropdown + id: consumption + attributes: + label: How are you consuming SurvivorCore? + options: + - Rojo (rojo serve / source) + - Wally package + - Drop-in SurvivorCore.rbxm from a Release + - Other (describe below) + validations: + required: true + - type: textarea + id: output + attributes: + label: Output / errors + description: Relevant Studio Output (Server + Client). Paste as text, not a screenshot. + render: text + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..487da66 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: Questions & discussion + url: https://github.com/TemujinCalidius/SurvivorCore/discussions + about: 'Ask "how do I…?", share design ideas, and show off what you built — start a Discussion.' diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..8a2140e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,46 @@ +name: Feature request +description: Suggest a mechanic, registry, component, or hook for the engine. +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + SurvivorCore ships **mechanics, not content**. The best feature requests describe a + reusable engine capability (a registry, a component, a hook, a config section) — not + a specific item/world/art asset, which belongs in your own game via `register()` or + the component layer. + + Open-ended ideas and discussion are welcome in [Discussions](../../discussions). + - type: textarea + id: description + attributes: + label: Description + description: What should SurvivorCore be able to do? + validations: + required: true + - type: textarea + id: use-case + attributes: + label: Use case + description: Why is this useful? What kind of game needs it, and how would you use it? + validations: + required: true + - type: dropdown + id: layer + attributes: + label: Which layer does this touch? + options: + - Registry layer (register() API — Items/Recipes/Stats/Mobs/…) + - Component layer (tag + attributes on creator-owned objects) + - Hooks / EventBridge (lifecycle extension points) + - Foundation (Config / Assets / Registry plumbing) + - Not sure + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: Can this already be done with a hook or component today? What did you try? + validations: + required: false diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..99c1983 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,18 @@ + + + +## Summary + + + +## How to test in Studio + + + +## Checklist + +- [ ] Added an entry to **`CHANGELOG.md`** under `## Unreleased` (or applied the `skip-changelog` label if no entry is warranted — e.g. a CI-only or trivial docs change) +- [ ] CI is green — `stylua --check`, `selene`, `luau-lsp analyze`, and **both** `rojo build`s pass +- [ ] No secrets or personal data added (this is a public repo) +- [ ] **No hardcoded asset IDs** — content comes via `register()` / components / `Assets`, and the core stays content-free