diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 0000000..f84824a
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,32 @@
+---
+name: Bug report
+about: Create a report that describes an issue
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+
+
+### Description
+
+A concise description of what is causing an issue and what you expected to happen.
+
+### To reproduce
+
+Please copy & paste the code that is triggering the issue into this section and describe the context and prior steps that lead to the problem with as much detail as possible.
+
+### Error output
+
+If possible, copy any terminal outputs or attach screenshots that provide additional information on the problem.
+
+### System configuration
+
+Please complete the following information:
+
+ - Operating System [e.g. macOS]:
+ - Version of Python [e.g. 3.7]:
+ - Version of parsnip [e.g. 1.0]:
+
+Or copy & paste the output of: `python -c 'import platform; print(platform.platform()); import sys; print(sys.version); import parsnip; print(parsnip.__version__)'`
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 0000000..0354f89
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,24 @@
+---
+name: Feature request
+about: Suggest a new feature for parsnip
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+
+### Feature description
+
+A concise description of the enhancement that this feature provides or the problem it solves.
+For example: "I would like to ..." or "It would be nice if it was easier to ...".
+
+### Proposed solution
+
+A description of how you would like a possible solution to look like.
+
+*Proposals for an implementation of the idea are welcome, but not necessary.*
+
+### Additional context
+
+Any alternative solutions you might have considered or other information that might be helpful to understand this feature request.
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..ed244ab
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,23 @@
+
+
+## Description
+
+
+## Motivation and Context
+
+
+
+## Types of Changes
+
+- [ ] Documentation update
+- [ ] Bug fix
+- [ ] New feature
+- [ ] Breaking change1
+
+1The change breaks (or has the potential to break) existing functionality and should be merged into the `breaking` branch
+
+## Checklist:
+
+- [ ] I am familiar with the [Development Guidelines](https://github.com/glotzerlab/parsnip/blob/main/doc/source/development.rst)
+- [ ] The changes introduced by this pull request are covered by existing or newly introduced tests.
+- [ ] I have updated the [changelog](https://github.com/glotzerlab/parsnip/blob/main/ChangeLog.rst) and added my name to the [credits](https://github.com/glotzerlab/parsnip/blob/main/doc/source/credits.rst).
diff --git a/.github/workflows/CI.yaml b/.github/workflows/CI.yaml
new file mode 100644
index 0000000..9c5fe9e
--- /dev/null
+++ b/.github/workflows/CI.yaml
@@ -0,0 +1,45 @@
+name: Run Tests
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+on:
+ # trigger on pull requests
+ pull_request:
+
+ # trigger on all commits to master
+ push:
+ branches:
+ - "main"
+ - "breaking"
+
+ # trigger on request
+ workflow_dispatch:
+
+jobs:
+ run_tests:
+ name: Run tests on ubuntu-latest with Python ${{ matrix.python-version }}
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: true
+ matrix:
+ python-version: ["3.9","3.10","3.11","3.12"]
+ steps:
+ - uses: actions/checkout@v4
+ - name: Set up Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v5
+ with:
+ python-version: ${{ matrix.python-version }}
+ - name: Install dependencies
+ run: |
+ python -m pip install requirements.txt
+ python -m pip install tests/requirements.txt
+ - name: Install package
+ run: |
+ python --version
+ python -c "import numpy; print('numpy', numpy.__version__)"
+ python -m pip install . -v --progress-bar off
+ - name: Test with pytest
+ run: |
+ python -m pytest -v
diff --git a/parsnip/__init__.py b/parsnip/__init__.py
index 8bacc96..82ed99b 100644
--- a/parsnip/__init__.py
+++ b/parsnip/__init__.py
@@ -1,2 +1,4 @@
"""TODO: Add docstring."""
from . import parse, patterns
+
+__version__ = "0.0.2"