Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 97 additions & 22 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -1,50 +1,125 @@
name: Bug Report
description: File a bug report
description: Report a bug or unexpected behavior in bitssh
title: "[Bug]: "
labels: ["bug", "triage"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: input
id: contact
Thanks for reporting a bug! Please fill out the sections below to help us reproduce and fix the issue.
- type: textarea
id: description
attributes:
label: Contact Details
description: How can we get in touch with you if we need more info?
placeholder: ex. email@example.com
label: Bug Description
description: A clear and concise description of what the bug is.
placeholder: "e.g. When I select a host from the TUI, the connection fails with..."
validations:
required: false
required: true
- type: textarea
id: steps
attributes:
label: Steps to Reproduce
description: How can we reproduce this behavior?
placeholder: |
1. Run `bitssh`
2. Select host 'xyz'
3. Press Enter
4. See error
validations:
required: true
- type: textarea
id: what-happened
id: expected
attributes:
label: What happened?
description: Also tell us, what did you expect to happen?
placeholder: Tell us what you see!
value: "A bug happened!"
label: Expected Behavior
description: What did you expect to happen?
placeholder: "e.g. I expected bitssh to connect to the selected host"
validations:
required: true
- type: textarea
id: actual
attributes:
label: Actual Behavior
description: What actually happened?
placeholder: "e.g. Connection timed out, error message shown, etc."
validations:
required: true
- type: input
id: bitssh-version
attributes:
label: bitssh Version
description: What version of bitssh are you running?
placeholder: "e.g. 3.7.0 (run `pip show bitssh` or `bitssh --version` or check pyproject.toml)"
validations:
required: true
- type: input
id: python-version
attributes:
label: Python Version
description: What version of Python are you using?
placeholder: "e.g. 3.12.1 (run `python --version`)"
validations:
required: true
- type: dropdown
id: Operating System's
id: os
attributes:
label: What OS are you seeing the problem on?
multiple: true
label: Operating System
description: What OS are you running bitssh on?
options:
- linux
- windows
- Macos
- Linux
- macOS
- Windows (WSL)
- Windows (Native)
- Other
validations:
required: true
- type: input
id: terminal
attributes:
label: Terminal Emulator
description: Which terminal emulator are you using?
placeholder: "e.g. iTerm2, GNOME Terminal, Windows Terminal, Alacritty"
validations:
required: false
- type: textarea
id: ssh-config
attributes:
label: SSH Config (Sanitized)
description: |
Please share a sanitized version of your `~/.ssh/config` if relevant to the bug.
**IMPORTANT: Remove or redact any hostnames, IP addresses, usernames, and keys before sharing!**
placeholder: |
Host myserver
Hostname xxx.xx.xx.xx
User myuser
Port 22
render: shell
validations:
required: false
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
label: Relevant Log Output
description: Please copy and paste any relevant log output or traceback. This will be automatically formatted as code.
placeholder: "Paste the full traceback or error output here"
render: shell
validations:
required: false
- type: checkboxes
id: pre-checks
attributes:
label: Pre-submission Checks
options:
- label: I am running the latest version of bitssh
required: false
- label: I have checked that a similar issue does not already exist
required: true
- label: My `~/.ssh/config` file exists and is properly formatted
required: false
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/FOSS-Community/website-fossc/blob/main/CODE_OF_CONDUCT.md)
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/Mr-Sunglasses/bitssh/blob/main/CODE_OF_CONDUCT.md)
options:
- label: I agree to follow this project's Code of Conduct
required: true
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Questions & Discussions
url: https://github.com/Mr-Sunglasses/bitssh/discussions
about: Ask questions and discuss ideas with the community
74 changes: 52 additions & 22 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
@@ -1,41 +1,71 @@
name: Feature request
description: Suggest an idea for this project
title: "[Feature] <title>"
labels: "feature"

name: Feature Request
description: Suggest a new feature or enhancement for bitssh
title: "[Feature]: "
labels: ["feature"]
body:
- type: markdown
attributes:
value: Is your feature request related to a problem? Please describe.
value: |
Thanks for suggesting a feature! Please describe your idea clearly so we can evaluate it.
- type: textarea
id: problem
attributes:
label: Describe the feature you'd like to request
description: A clear and concise description of what the problem is.
placeholder : |
Ex. I'm always frustrated when [...]
label: Problem / Use Case
description: What problem does this feature solve? What's your workflow that could be improved?
placeholder: |
e.g. I manage many SSH hosts and it's hard to find the one I need in the TUI list...
validations:
required: true
- type: textarea
id: solution
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
placeholder : |
Ex. I want the solution like [...]
label: Proposed Solution
description: Describe the feature or behavior you'd like to see.
placeholder: |
e.g. Add a search/filter feature to the TUI so users can quickly find a host by name...
validations:
required: true
- type: dropdown
id: feature-area
attributes:
label: Feature Area
description: Which part of bitssh does this feature relate to?
options:
- TUI (Terminal User Interface)
- SSH Connection Handling
- SSH Config Parsing
- CLI Arguments / Options
- Installation / Packaging
- Documentation
- Other
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.
placeholder : |
Ex. I want to extend the function A by adding someting more
label: Alternatives Considered
description: Have you considered any alternative solutions or workarounds?
placeholder: |
e.g. I currently use `grep` on my SSH config, but it would be much nicer to have this built into bitssh...
validations:
required: false
- type: textarea
id: additional-context
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.
placeholder : |
context, screenshots, related links , etc.
label: Additional Context
description: Add any screenshots, mockups, or references to similar features in other tools.
placeholder: |
e.g. Similar to how `sshmenu` or `sshrc` handles host selection...
validations:
required: false
- type: checkboxes
id: pre-checks
attributes:
label: Pre-submission Checks
options:
- label: I have checked that this feature does not already exist in bitssh
required: true
- label: I have searched existing issues to ensure this hasn't been requested before
required: true
- label: This feature would benefit most bitssh users, not just me
required: false
67 changes: 41 additions & 26 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,53 @@
# Description
## Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Briefly describe what this PR does and why.

Fixes # (issue)
Fixes #(issue)

## Type of change
## Type of Change

Please delete options that are not relevant.

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update
- [ ] Refactor (code restructuring without changing behavior)
- [ ] Documentation update
- [ ] CI/Build improvement

## Affected Area

- [ ] TUI (Terminal User Interface)
- [ ] SSH Connection Handling
- [ ] SSH Config Parsing
- [ ] CLI Arguments / Options
- [ ] Installation / Packaging
- [ ] Tests
- [ ] Documentation

## Testing

Describe how you tested your changes.

- [ ] I tested manually by running `bitssh` and connecting to a host
- [ ] I ran the existing test suite (`pytest`)
- [ ] I added new tests for my changes

# How Has This Been Tested?
**Python version tested**:
**OS tested on**:

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
## SSH Config Tested (if applicable)

- [ ] Test A
- [ ] Test B
If your change affects SSH config parsing or connection behavior, please describe the config entries used for testing (redact sensitive info):

**Test Configuration**:
* Firmware version:
* Hardware:
* Toolchain:
* SDK:
```
Host example
Hostname x.x.x.x
User test
Port 22
```

# Checklist:
## Checklist

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My code follows the project's style guidelines (`ruff` and `black`)
- [ ] I have performed a self-review of my code
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules
- [ ] I have updated the documentation if needed
Loading
Loading