Skip to content
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

chore #523: update contributing instructions #528

Merged
merged 1 commit into from
Apr 17, 2024
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
26 changes: 26 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Contributing

Thanks for your interest in Harlequin! Harlequin is primarily maintained by [Ted Conbeer](https://github.com/tconbeer), but he welcomes all contributions.

## Sponsoring Harlequin

Please consider [sponsoring Harlequin's author](https://github.com/sponsors/tconbeer), so he can continue to dedicate time to Harlequin.

## Providing Feedback

Ted would love to hear from you!

- [Create a New Discussion](https://github.com/tconbeer/harlequin/discussions/new/choose) to request new features, get troubleshooting support, or say hello.
- [Open an Issue](https://github.com/tconbeer/harlequin/issues/new?assignees=&labels=&projects=&template=bug_report.md&title=) to report bugs (Please use the bug template!).

## Contributing Documentation

Code for the [harlequin.sh](https://harlequin.sh/) website is hosted in the [`harlequin-web`](https://github.com/tconbeer/harlequin-web) repo. The docs are all written in Markdown, which makes them easy to update. Please open PRs against that repo if our docs can be improved.

## Contributing Code

We aim to create a welcoming and inclusive environment for new contributors, whether this is your first open-source contribution or your 1,000th. Please see the [Contributing Guide](https://harlequin.sh/docs/contributing/index) for detailed instructions on local development and testing, including an end-to-end walkthrough [video](https://www.tella.tv/video/cls3nmne700000gl4bcp91arr/view).

## Creating an Adapter

In addition to contributing to Harlequin core, you can contribute to one of Harlequin's many [adapters](https://harlequin.sh/docs/adapters), or create your own. There is a [guide to creating an adapter](https://harlequin.sh/docs/contributing/adapter-guide) on the Harlequin website.
23 changes: 5 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,25 +65,12 @@ COLOR, KEY BINDING, OR COPY-PASTE PROBLEMS? See [Troubleshooting](https://harleq

Visit [harlequin.sh](https://harlequin.sh) for an overview of features and full documentation.

## Contributing

Thanks for your interest in Harlequin! Harlequin is primarily maintained by [Ted Conbeer](https://github.com/tconbeer), but he welcomes all contributions and is looking for additional maintainers!

### Providing Feedback
## Sponsoring Harlequin

We'd love to hear from you! [Open an Issue](https://github.com/tconbeer/harlequin/issues/new) to request new features, report bugs, or say hello.
Please consider [sponsoring Harlequin's author](https://github.com/sponsors/tconbeer), so he can continue to dedicate time to Harlequin.

### Setting up Your Dev Environment and Running Tests

1. Install Poetry v1.2 or higher if you don't have it already. You may also need or want pyenv, make, and gcc.
1. Fork this repo, and then clone the fork into a directory (let's call it `harlequin`), then `cd harlequin`.
1. Use `poetry install --sync` to install the project (editable) and its dependencies (including all test and dev dependencies) into a new virtual env.
1. Use `poetry shell` to spawn a subshell.
1. Type `make` to run all tests and linters, or run `pytest`, `black .`, `ruff . --fix`, and `mypy` individually.
## Contributing

### Opening PRs
Thanks for your interest in Harlequin! Harlequin is primarily maintained by [Ted Conbeer](https://github.com/tconbeer), but he welcomes all contributions!

1. PRs should be motivated by an open issue. If there isn't already an issue describing the feature or bug, [open one](https://github.com/tconbeer/harlequin/issues/new). Do this before you write code, so you don't waste time on something that won't get merged.
2. Ideally new features and bug fixes would be tested, to prevent future regressions. Textual provides a test harness that we use to test features of Harlequin. You can find some examples in the `tests` directory of this project. Please include a test in your PR, but if you can't figure it out, open a PR to ask for help.
2. Open a PR from your fork to the `main` branch of `tconbeer/harlequin`. In the PR description, link to the open issue, and then write a few sentences about **why** you wrote the code you did: explain your design, etc.
3. Ted may ask you to make changes, or he may make them for you. Don't take this the wrong way -- he values your contributions, but he knows this isn't your job, either, so if it's faster for him, he may push a commit to your branch or create a new branch from your commits.
Please see [`CONTRIBUTING.md`](./CONTRIBUTING.md) for more information.