Skip to content

Commit f2d07a7

Browse files
committed
docs(readme): add Contributing section
1 parent f6736ca commit f2d07a7

1 file changed

Lines changed: 23 additions & 1 deletion

File tree

README.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,28 @@ Improved BASIC for the F256 computers.
55
SuperBASIC Reference Manual PDF:
66
[reference/source/f256jr_basic_ref.pdf](reference/source/f256jr_basic_ref.pdf)
77

8+
## Contributing
9+
10+
We’d love your help in making SuperBASIC the best BASIC interpreter out there!
11+
12+
Whether you’re fixing a bug, improving performance, or simply correcting a typo in the manual, your contribution is greatly appreciated. By contributing, you agree that your work will be licensed under the [MIT License](./LICENSE).
13+
14+
To keep our history clean and make it easier to automate [releases](#releasing-a-new-version), we follow the [Conventional Commits](https://www.conventionalcommits.org/) style for commit messages. Here are some examples:
15+
16+
```
17+
git log --oneline
18+
19+
5bd1cf7 feat: add `at` modifier for `print`
20+
63b442a fix: `print at 59, 79; "*";` causes the screen to scroll
21+
089f839 perf: improve `load` performance
22+
9278ca9 refmanual: add `call` statement docs
23+
1c43a28 docs: README fixes, MAME testing instructions
24+
78e6ad2 build: support for gen 2 builds
25+
c21ae79 chore: enable line ending normalization
26+
```
27+
28+
When we generate release notes, the first four categories (`feat`, `fix`, `perf`, and `refmanual`) appear in their own sections, while everything else is grouped under _Internal_.
29+
830
## Local development
931
You need Make, Python and 64tass assembler on your machine.
1032

@@ -78,7 +100,7 @@ Attempting to program sector 0x01 with sb01.bin
78100
...
79101
```
80102

81-
### Releasing a new version
103+
## Releasing a new version
82104
To ensure quality and reproducibility, official releases are handled through GitHub workflows.
83105

84106
The [release PR preparation](/.github/workflows/prepare-release-pr.yml) workflow monitors pushes to `main` and automatically creates or updates [a release PR](https://github.com/FoenixRetro/f256-superbasic/pulls?q=is%3Apr+is%3Aopen+label%3Arelease) that includes all unreleased changes. This PR includes a log of contributions and is assigned a version based on the major and minor numbers in [`source/Makefile`](/source/Makefile), with the patch number determined by the date of the latest contribution.

0 commit comments

Comments
 (0)