Contributing | Plik

Contributions are welcome! Here's how to get involved.

Getting Help

Development Setup

Prerequisites

  • Go (see go.mod for minimum version)
  • Node.js
  • Make

Building

bash

git clone https://github.com/root-gg/plik.git
cd plik

# Build everything (frontend + server + client)
make

# Build only the server
make server

# Build only the frontend
make frontend

# Build only the client
make client

Running Tests

bash

# Go unit tests
make test

# Go linter (golangci-lint)
make lint

# Backend integration tests (requires Docker)
make test-backends

Running Locally

Start the Go backend:

bash

cd server
./plikd --config ./plikd.cfg

The server starts at http://127.0.0.1:8080 and serves both the API and the web interface.

Webapp dev server

For frontend development with hot-reload, run the Vite dev server which proxies API calls to the Go backend:

bash

make docs
cd webapp
npm install
npm run dev           # http://localhost:5173
npm run dev -- --host # expose to local network

Documentation dev server

To preview the documentation site locally:

bash

cd docs
npm install
npm run dev           # http://localhost:5173/plik/
npm run dev -- --host # expose to local network

AI-Assisted Development

Plik ships with built-in support for AI coding agents (Cursor, Antigravity, Copilot, etc.). If you're using an agentic coding assistant, the repo is pre-configured to give it deep project context.

This is all still very exploratory/experimental, and subject to change as the community is converging to a golden standard. We won't try to adapt to everyone's own IDE/setup.

Agent Context Files

FilePurpose
AGENTS.mdEntry point for AI agents — tech stack, repo layout, build/test commands, conventions
ARCHITECTURE.mdSystem-wide architecture overview
server/ARCHITECTURE.mdServer internals (handlers, middleware, backends)
client/ARCHITECTURE.mdCLI client (commands, config, crypto, archive, MCP)
webapp/ARCHITECTURE.mdVue 3 SPA (components, routing, state)
plik/ARCHITECTURE.mdGo client library (public API, types)

Your agent should read AGENTS.md first, then follow pointers to scoped ARCHITECTURE.md files for the area being worked on.

Agentic Workflows

Pre-built workflows live in .agents/workflows/ and can be invoked as slash commands:

CommandWhat it does
/review-changesCritical self-review of local changes (lint, build, test, code review checklist)
/prepare-prFull PR preparation pipeline (review → commit → push → draft PR)

Code Organization

See the Architecture Overview for details on how the code is structured.