Skip to content

Commit a7cbec2

Browse files
committed
Added cicd and bug report templates
1 parent 895b5ca commit a7cbec2

7 files changed

Lines changed: 283 additions & 0 deletions

File tree

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: Bug Report
2+
description: Something isn't working as expected
3+
title: "[Bug]: "
4+
labels: ["bug"]
5+
body:
6+
- type: textarea
7+
id: description
8+
attributes:
9+
label: What happened?
10+
description: A clear description of the bug.
11+
validations:
12+
required: true
13+
- type: textarea
14+
id: steps
15+
attributes:
16+
label: Steps to reproduce
17+
description: How can we reproduce this?
18+
value: |
19+
1.
20+
2.
21+
3.
22+
validations:
23+
required: true
24+
- type: textarea
25+
id: input
26+
attributes:
27+
label: Input used
28+
description: Paste your methodology text, caption, and the CLI command or Python code you ran.
29+
render: bash
30+
validations:
31+
required: true
32+
- type: textarea
33+
id: expected
34+
attributes:
35+
label: Expected behavior
36+
description: What you expected to happen.
37+
validations:
38+
required: false
39+
- type: textarea
40+
id: output
41+
attributes:
42+
label: Actual output or error
43+
description: Paste any error messages, tracebacks, or attach the generated image.
44+
render: text
45+
validations:
46+
required: true
47+
- type: input
48+
id: os
49+
attributes:
50+
label: Operating system
51+
placeholder: "e.g. Ubuntu 22.04, macOS 14.2, Windows 11"
52+
validations:
53+
required: true
54+
- type: input
55+
id: python
56+
attributes:
57+
label: Python version
58+
placeholder: "e.g. 3.11.5"
59+
validations:
60+
required: true
61+
- type: input
62+
id: version
63+
attributes:
64+
label: PaperBanana version or commit hash
65+
placeholder: "e.g. v0.1.0 or abc1234"
66+
validations:
67+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Questions & Ideas
4+
url: https://github.com/llmsresearch/paperbanana/discussions
5+
about: Use Discussions for questions, ideas, and general conversation. Issues are for bugs and concrete feature requests.
6+
- name: Submit a Reference Example (low effort)
7+
url: https://github.com/llmsresearch/paperbanana/discussions
8+
about: Drop an arXiv link and figure number in Discussions and we'll handle extraction.
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Feature Request
2+
description: Suggest a new feature or improvement
3+
title: "[Feature]: "
4+
labels: ["enhancement"]
5+
body:
6+
- type: textarea
7+
id: problem
8+
attributes:
9+
label: Problem or motivation
10+
description: What problem does this solve? What are you trying to do that isn't currently possible or is harder than it should be?
11+
validations:
12+
required: true
13+
- type: textarea
14+
id: solution
15+
attributes:
16+
label: Proposed solution
17+
description: How would you like this to work? Include CLI examples, API usage, or workflow descriptions if applicable.
18+
validations:
19+
required: true
20+
- type: dropdown
21+
id: area
22+
attributes:
23+
label: Area
24+
options:
25+
- Pipeline / agents
26+
- Reference dataset
27+
- MCP server
28+
- CLI
29+
- Python API
30+
- Evaluation
31+
- New provider support (OpenAI, Anthropic, local models, etc.)
32+
- Documentation
33+
- Other
34+
validations:
35+
required: true
36+
- type: textarea
37+
id: alternatives
38+
attributes:
39+
label: Alternatives considered
40+
description: Any alternative approaches you've thought about.
41+
validations:
42+
required: false
43+
- type: checkboxes
44+
id: contribution
45+
attributes:
46+
label: Willingness to contribute
47+
options:
48+
- label: I'd be willing to submit a PR for this feature
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Reference Example Submission
2+
description: Submit a paper with a good methodology diagram for the reference dataset
3+
title: "[Reference]: "
4+
labels: ["reference-dataset"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for helping improve the reference dataset. Better reference examples directly improve output quality.
10+
- type: input
11+
id: paper_url
12+
attributes:
13+
label: Paper URL
14+
description: arXiv link or other publicly accessible URL.
15+
placeholder: "https://arxiv.org/abs/..."
16+
validations:
17+
required: true
18+
- type: input
19+
id: figure
20+
attributes:
21+
label: Figure number
22+
description: Which figure contains the methodology diagram?
23+
placeholder: "e.g. Figure 2"
24+
validations:
25+
required: true
26+
- type: dropdown
27+
id: category
28+
attributes:
29+
label: Diagram category
30+
description: Which category best fits this diagram?
31+
options:
32+
- Agent & Reasoning
33+
- Vision & Perception
34+
- Generative & Learning
35+
- Science & Applications
36+
- Not sure
37+
validations:
38+
required: true
39+
- type: textarea
40+
id: why
41+
attributes:
42+
label: Why is this a good reference example?
43+
description: What makes this diagram clear, well-designed, or representative of its category?
44+
validations:
45+
required: false
46+
- type: checkboxes
47+
id: checks
48+
attributes:
49+
label: Checklist
50+
options:
51+
- label: The paper is publicly available
52+
required: true
53+
- label: The diagram is a methodology/architecture diagram (not a results plot or data visualization)
54+
required: true
55+
- label: The diagram has a landscape aspect ratio (roughly 1.5 to 2.5 width/height)
56+
required: true
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
## What does this PR do?
2+
3+
<!-- Brief description of the change. Link to related issue if applicable: Fixes #123 -->
4+
5+
## Type of change
6+
7+
- [ ] Bug fix
8+
- [ ] New feature
9+
- [ ] Reference dataset addition
10+
- [ ] Documentation update
11+
- [ ] Refactor (no functional change)
12+
- [ ] New provider support
13+
14+
## Changes made
15+
16+
<!-- List the specific changes. Be concrete. -->
17+
18+
-
19+
20+
## How to test
21+
22+
<!-- How can a reviewer verify this works? -->
23+
24+
1.
25+
2.
26+
27+
## Checklist
28+
29+
- [ ] `pytest tests/ -v` passes
30+
- [ ] `ruff check paperbanana/ tests/ scripts/` passes
31+
- [ ] I've added/updated tests for new functionality (if applicable)
32+
- [ ] I've updated documentation (if applicable)
33+
- [ ] For reference dataset additions: verified methodology text matches diagram, aspect ratio is within [1.5, 2.5], metadata.json is complete

CODE_OF_CONDUCT.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Code of Conduct
2+
3+
## Our Pledge
4+
5+
We are committed to making participation in this project a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
6+
7+
## Our Standards
8+
9+
**Behavior that contributes to a positive environment:**
10+
11+
- Using welcoming and inclusive language
12+
- Being respectful of differing viewpoints and experiences
13+
- Accepting constructive criticism gracefully
14+
- Focusing on what is best for the project and community
15+
- Showing empathy toward other community members
16+
17+
**Unacceptable behavior:**
18+
19+
- The use of sexualized language or imagery and unwelcome sexual attention or advances
20+
- Trolling, insulting or derogatory comments, and personal or political attacks
21+
- Public or private harassment
22+
- Publishing others' private information without explicit permission
23+
- Other conduct which could reasonably be considered inappropriate in a professional setting
24+
25+
## Scope
26+
27+
This Code of Conduct applies within all project spaces, including issues, pull requests, discussions, and any other communication channels associated with this project. It also applies when an individual is representing the project in public spaces.
28+
29+
## Enforcement
30+
31+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project maintainers at **dip@llmsresearch.com**. All complaints will be reviewed and investigated and will result in a response deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident.
32+
33+
## Attribution
34+
35+
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1.

SECURITY.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Security Policy
2+
3+
## Supported Versions
4+
5+
| Version | Supported |
6+
| ------- | --------- |
7+
| latest (main branch) | Yes |
8+
9+
## Reporting a Vulnerability
10+
11+
If you discover a security vulnerability in PaperBanana, please report it responsibly.
12+
13+
**Do not open a public issue.** Instead, email **dip@llmsresearch.com** with:
14+
15+
- A description of the vulnerability
16+
- Steps to reproduce
17+
- Potential impact
18+
- Suggested fix, if you have one
19+
20+
We will acknowledge receipt within 48 hours and aim to provide a fix or mitigation plan within 7 days for critical issues.
21+
22+
## Security Considerations
23+
24+
PaperBanana interacts with external APIs and processes user-provided text. Users should be aware of the following:
25+
26+
**API Keys**: Your Google Gemini API key is stored locally in `.env`. Never commit this file to version control. The `.gitignore` already excludes it.
27+
28+
**Generated Code Execution**: The `paperbanana plot` command generates and executes Matplotlib code via Gemini. While the execution environment is sandboxed to plotting functions, users should review generated code before running it in production environments.
29+
30+
**MCP Server**: The MCP server exposes PaperBanana's functionality to IDE clients. It runs locally and does not accept remote connections by default. Do not expose the MCP server to untrusted networks.
31+
32+
**Reference Data**: The reference dataset contains publicly available figures from arXiv papers, used under fair use for research purposes. No proprietary or restricted data is included.
33+
34+
## Dependencies
35+
36+
We monitor dependencies for known vulnerabilities through GitHub's Dependabot. If you notice a vulnerability in one of our dependencies, please report it through the process above.

0 commit comments

Comments
 (0)