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

Thanks for your interest in contributing to `treels`.

## Getting started

```bash
git clone https://github.com/OussamaM1/treels.git
cd treels
go test ./...
```

## Development workflow

Before opening a pull request, run:

```bash
go test ./...
go vet ./...
golangci-lint run
```

If you do not have `golangci-lint` installed, CI will still run it on the pull request.

## Contribution guidelines

- Keep changes focused and easy to review.
- Add or update tests for behavior changes.
- Update documentation for user-facing changes.
- Prefer existing project patterns before adding new abstractions.
- Avoid introducing new dependencies unless they are clearly justified.

## Adding or changing CLI behavior

For a new flag or output behavior, update:

- `cmd/flag.go`
- `module/types.go`
- relevant implementation under `service/`
- tests under `cmd/` and/or `service/`
- `README.md`
- relevant files under `docs/`

## Documentation style

- Prefer examples using `--no-icons` unless documenting icon behavior.
- Keep README concise and link to detailed docs.
- Document flag interactions when behavior may be surprising.
- Be explicit about limitations, especially for `.gitignore` and JSON output.

## Reporting bugs

When reporting a bug, include:

- operating system
- `treels --version`
- command used
- expected output
- actual output
- small reproduction directory structure, if possible

## Feature requests

Good feature requests explain:

- the problem or workflow
- proposed CLI usage
- expected output
- any interaction with existing flags
Loading
Loading