Skip to content

Latest commit

 

History

History
96 lines (63 loc) · 1.48 KB

contribute.md

File metadata and controls

96 lines (63 loc) · 1.48 KB

Contribute

This page describe the project structure and gives you a bit of help to start contributing.

The project is maintained by a single person: sundowndev. Contributions are welcome !

!!! tip "Want to contribute ? Clone the project and open some pull requests !"

Project

Installation

See the installation page to install the project.

File structure

api         # REST API code
client      # web client code
cmd         # Command-line app code
docs        # Documentation
pkg         # Code base for scanners, utils ...
scripts     # Development & deployment scripts
go.mod      # Go modules file
main.go     # Application entrypoint

Testing

Go code

go test -v ./...

# Collect coverage
go test -coverprofile=coverage.out ./...

# Open coverage file as HTML
go tool cover -html=coverage.out

Typescript code

Developping on the web client.

cd client

yarn test
yarn test:unit
yarn test:e2e

Formatting

Go code

We use a shell script to format Go files.

sh ./scripts/format.sh

# You can also use GolangCI
golangci-lint run -D errcheck

Typescript code

cd client

yarn lint
yarn lint:fix

Documentation

We use mkdocs to write our documentation.

Install mkdocs

python3 -m pip install mkdocs

Serve documentation on localhost

mkdocs serve

Deploy on github pages

mkdocs gh-deploy