Skip to content
Open
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
60 changes: 60 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Contributing

Thanks for your interest in contributing to Tyde.

Tyde is a Go desktop environment built with Fyne. Useful contributions are focused, based on the `develop` branch, and include tests or validation for the desktop, window manager, or platform behavior they affect.

## Getting Started

1. Install Go.
2. Fork and clone the repository.
3. Base your work on the `develop` branch.

```bash
git clone https://github.com/FyshOS/tyde.git
cd tyde
git checkout develop
git checkout -b your-change
```

Some local checks and tests need desktop or graphics-related system libraries. The GitHub Actions workflows install packages such as `clang`, `lld`, Mesa/OpenGL development libraries, X11/Wayland development libraries, `libpam-dev`, and `xvfb` on Linux.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be a report of what actions have been seen to do rather than what contributors should set up. It would be better to be explicit or link to https://docs.fyne.io/started/quick/


## Local Tests

Run the Go test suite before opening a pull request:

```bash
go test -tags ci -covermode=atomic -coverprofile=coverage.out ./...

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

covermode adds slowness and is not required to test.

```

On Linux, the CI workflow runs the main test suite under `xvfb-run` and also runs Wayland-specific tests:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another actions report - this is not needed for developers as they have X running already.


```bash
xvfb-run go test -tags ci -covermode=atomic -coverprofile=coverage.out ./...
go test -tags no_glfw,ci,wayland ./...
```

## Static Analysis

The static analysis workflow runs:

```bash
go vet ./...
gofumpt -d -e .
goimports -e -d .
gocyclo -over 30 .
staticcheck ./...
```

If formatting tools report changes, apply them before pushing.

## Pull Requests

Please keep pull requests focused and include:

- what changed
- why the change is needed
- which tests and static checks you ran
- whether the change affects public APIs, desktop behavior, window manager behavior, or platform-specific code

The pull request template asks contributors to include tests, run lint and formatting checks, and confirm that tests pass. If any item does not apply, explain why in the pull request.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This also seems like an AI-ism. Describe that the user should do rather than what they might find.

i.e. When opening a pull request remember to complete the pull request template on GitHub

Loading