-
Notifications
You must be signed in to change notification settings - Fork 1
docs: add PR template, YAML issue forms, and CONTRIBUTING.md #85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,68 @@ | ||
| name: Bug Report | ||
| description: Report a bug in ChainWeaver | ||
| title: "[Bug]: " | ||
| labels: ["bug"] | ||
| body: | ||
| - type: textarea | ||
| id: description | ||
| attributes: | ||
| label: Description | ||
| description: A clear description of the bug. | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: steps | ||
| attributes: | ||
| label: Steps to Reproduce | ||
| description: Steps to reproduce the behavior. | ||
| placeholder: | | ||
| 1. Create a flow with ... | ||
| 2. Run ... | ||
| 3. See error | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: expected | ||
| attributes: | ||
| label: Expected Behavior | ||
| description: What you expected to happen. | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: actual | ||
| attributes: | ||
| label: Actual Behavior | ||
| description: What actually happened. | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: dropdown | ||
| id: python-version | ||
| attributes: | ||
| label: Python Version | ||
| options: | ||
| - "3.10" | ||
| - "3.11" | ||
| - "3.12" | ||
| - "3.13" | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: input | ||
| id: chainweaver-version | ||
| attributes: | ||
| label: ChainWeaver Version | ||
| placeholder: e.g. 0.1.0 | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: context | ||
| attributes: | ||
| label: Additional Context | ||
| description: Any other context about the problem (logs, screenshots, etc.). | ||
| validations: | ||
| required: false | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| name: Feature Request | ||
| description: Suggest a new feature or enhancement | ||
| title: "[Feature]: " | ||
| labels: ["enhancement"] | ||
| body: | ||
| - type: textarea | ||
| id: problem | ||
| attributes: | ||
| label: Problem Statement | ||
| description: What problem does this feature solve? | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: solution | ||
| attributes: | ||
| label: Proposed Solution | ||
| description: Describe the solution you'd like. | ||
| validations: | ||
| required: true | ||
|
Comment on lines
+6
to
+20
Owner
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Issue #41 specifies separate "Description" and "Use case" fields. This collapses them into "Problem Statement" (L9). Also "Proposed Solution" is |
||
|
|
||
|
Comment on lines
+14
to
+21
|
||
| - type: textarea | ||
| id: alternatives | ||
| attributes: | ||
| label: Alternatives Considered | ||
| description: Any alternative solutions or features you've considered. | ||
| validations: | ||
| required: false | ||
|
|
||
| - type: textarea | ||
| id: context | ||
| attributes: | ||
| label: Additional Context | ||
| description: Any other context or screenshots. | ||
| validations: | ||
| required: false | ||
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,21 @@ | ||||||||
| ## Summary | ||||||||
|
|
||||||||
|
|
||||||||
| ## Changes | ||||||||
|
|
||||||||
| - | ||||||||
|
|
||||||||
| ## Testing | ||||||||
|
|
||||||||
| - [ ] All existing tests pass (`pytest`) | ||||||||
| - [ ] New tests added for new functionality | ||||||||
| - [ ] Linting passes (`ruff check`) | ||||||||
|
||||||||
| - [ ] Linting passes (`ruff check`) | |
| - [ ] Linting passes (`ruff check`) | |
| - [ ] Formatting passes (`ruff format --check`) |
Copilot
AI
Mar 6, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The template asks for mypy to pass, but mypy is not part of the repo's .[dev] dependencies, and CI doesn't run it. Either add mypy to the dev extra/CI, or remove/soften this checklist item so contributors aren't required to run a tool that isn't provided by the project.
| - [ ] Type checking passes (`mypy`) | |
| - [ ] Type checking passes (e.g., `mypy`, if configured) |
| Original file line number | Diff line number | Diff line change | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,67 @@ | ||||||||||||
| # Contributing to ChainWeaver | ||||||||||||
|
|
||||||||||||
| Thank you for your interest in contributing to ChainWeaver! This guide covers how to get started. | ||||||||||||
|
|
||||||||||||
| ## Getting Started | ||||||||||||
|
|
||||||||||||
| 1. **Fork** the repository and clone your fork: | ||||||||||||
| ```bash | ||||||||||||
| git clone https://github.com/<your-username>/ChainWeaver.git | ||||||||||||
| cd ChainWeaver | ||||||||||||
| ``` | ||||||||||||
|
|
||||||||||||
| 2. **Install dependencies** (requires Python 3.10+): | ||||||||||||
| ```bash | ||||||||||||
| pip install -e ".[dev]" | ||||||||||||
| ``` | ||||||||||||
|
|
||||||||||||
| 3. **Create a branch** from `main`: | ||||||||||||
| ```bash | ||||||||||||
| git checkout -b your-feature-branch | ||||||||||||
| ``` | ||||||||||||
|
|
||||||||||||
| ## Development Workflow | ||||||||||||
|
|
||||||||||||
| ### Code Style | ||||||||||||
|
|
||||||||||||
| - Follow existing project conventions (see `.github/copilot-instructions.md`) | ||||||||||||
| - Use [ruff](https://github.com/astral-sh/ruff) for linting: `ruff check .` | ||||||||||||
|
||||||||||||
| - Use [ruff](https://github.com/astral-sh/ruff) for linting: `ruff check .` | |
| - Use [ruff](https://github.com/astral-sh/ruff) for linting and formatting (mirroring the CI configuration in `.github/workflows/ci.yml`): | |
| ```bash | |
| ruff check src tests | |
| ruff format --check src tests |
Copilot
AI
Mar 6, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mypy is listed as a required/expected type-checking tool, but it is not included in the project's dev extra in pyproject.toml. Either add mypy to [project.optional-dependencies].dev (and ideally CI) or adjust this guidance so contributors following pip install -e ".[dev]" aren't blocked by a missing tool.
| - Use [mypy](https://mypy-lang.org/) for type checking: `mypy .` | |
| - (Optional but recommended) Use [mypy](https://mypy-lang.org/) for type checking: `mypy .` (install with `pip install mypy` if it is not already available) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two minor items:
- L28:
.github/copilot-instructions.mdis referenced but doesn't exist yet (issue Add .github/copilot-instructions.md with coding conventions and validation commands #53). Consider noting it's forthcoming or removing for now. - L29–L30:
ruff check .andmypy .— project convention uses scoped paths (ruff check chainweaver/ tests/ examples/,mypy chainweaver/).
Copilot
AI
Mar 6, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Local test instructions use pytest, while CI runs python -m pytest tests/ -v. Since this guide is meant to help contributors preflight CI, consider matching the CI invocation (including tests/ and -v) to reduce surprises.
| pytest | |
| python -m pytest tests/ -v |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR is marked as closing #41, but #41's definition of done includes adding
.github/ISSUE_TEMPLATE/config.yml(e.g., to controlblank_issues_enabled). That file isn't included in this PR; either add it or update the PR description/issue linkage so the closure is accurate.