diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 00000000..033d008c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,23 @@ +name: Bug Report +description: File a bug report +labels: [bug] +body: + - type: textarea + id: description + attributes: + label: Description + validations: + required: true + - type: textarea + id: steps + attributes: + label: Steps to Reproduce + render: julia + validations: + required: true + - type: input + id: version + attributes: + label: Version + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..b6fa3fa9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: Discussions + url: https://github.com/harmoniqs/DirectTrajOpt.jl/discussions + about: Questions and discussion. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 00000000..83d3bd22 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,14 @@ +name: Feature Request +description: Suggest an idea +labels: [enhancement] +body: + - type: textarea + id: motivation + attributes: + label: Motivation + validations: + required: true + - type: textarea + id: proposal + attributes: + label: Proposed Solution diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..454d149e --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,13 @@ +## Related Issue +Closes # + +## Description + +## Type of Change +- [ ] Bug fix +- [ ] New feature +- [ ] Documentation +- [ ] Infrastructure + +## Verification +- [ ] `julia runtests.jl` exits 0 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..29a34fa3 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,34 @@ +# Contributing to DirectTrajOpt.jl + +Welcome! DirectTrajOpt.jl provides the low-level optimization infrastructure +for [Piccolo.jl](https://github.com/harmoniqs/Piccolo.jl) — trajectory +parametrizations, integrators, and solver backends. Licensed under MIT. + +Every code change needs a GitHub issue and a PR. Create one first if it does +not exist. + +## Dev Setup + +```bash +git clone git@github.com:harmoniqs/DirectTrajOpt.jl.git && cd DirectTrajOpt.jl +julia --project -e 'using Pkg; Pkg.instantiate()' +``` + +## Running Tests + +```bash +julia --project test/runtests.jl +``` + +## Submitting a PR + +1. Create an issue describing the change. +2. Branch from `main`. +3. Commit focused changes with descriptive messages. +4. Run the test suite. +5. Open a draft PR with `Closes #` at the first commit. +6. Mark ready when green. + +## Getting Help + +Use [GitHub Discussions](https://github.com/harmoniqs/DirectTrajOpt.jl/discussions) for questions.