Readeck Development

You found a bug you'd like to tackle yourself, you'd love to improve the documentation or you want to contribute a new feature. That's fantastic, welcome on board! (or maybe, you only want to compile Readeck; that's fine too.)

To compile Readeck you need the following requirements on your system:

Clone Readeck

First, you'll need to clone Readeck:

git clone https://codeberg.org/readeck/readeck.git

Compile Readeck

To compile Readeck, go into the cloned folder and build it:

cd readeck
make setup
make all

If all goes well, readeck is available as dist/readeck.

Step by step

If you encounter issues while building, try to build using a more step by step approach so you can pinpoint the issue:

make setup
make web-build
make docs-build
make build

Customize compilation

By default Readeck will include a pure Go SQLite driver. If you'd like to compile it with the official SQLite binding, you can pass CGO_ENABLED=1 to the make all command:

CGO_ENABLED=1 make all

For convenience, you can create a .makerc at the project's root folder, containing variables available to any make target so you don't need to pass them each time you call make. For example:

CGO_ENABLED=1

Warning

You'll need the SQLite library and GCC to compile with CGO_ENABLED=1.

Working on the server

Readeck provides some developer features that let you start a server that automatically restarts upon code change.

To start the full stack, simply run:

make dev

If you're working on Go files only, you can start a more lightweight watcher:

make generate # only to ensure the assets are built the first time
make serve

Checking your changes

Before submitting a contribution, please check that both the following commands are successful:

make test
make lint

2024 © Readeck