Craftplan

Development Setup

Looking to run Craftplan? See the Self-Hosting guide. This page is for developers who want to contribute.

Prerequisites

Before setting up Craftplan, make sure you have the following installed:

  • mise to install the pinned Elixir, Erlang/OTP, and Node.js versions
  • Docker and Docker Compose for PostgreSQL, MinIO, and Mailpit

Starting Dependencies

Start PostgreSQL, MinIO (S3-compatible object storage), and Mailpit with the project task:

mise run services:up

Run mise run services:down to stop them, or mise run services:logs to follow their logs.

Installation

  1. Clone the repository:

    git clone https://github.com/puemos/craftplan.git
    cd craftplan
  2. Install the pinned toolchain and run the full setup (installs deps, runs migrations, builds assets, seeds data):

    mise install
    mise run setup

    This single command handles mix deps.get, mix ash.setup, asset installation, and database seeding.

  3. Start the Phoenix development server:

    mise run dev
  4. Open localhost:4000 in your browser.

Common Commands

CommandPurpose
mise run setupFull setup: deps, migrations, assets, seeds
mise run devStart the dev server
mise run testRun the test suite
mix test path/to/test.exsRun a single test file
mix test path/to/test.exs:42Run a specific test at a line
mise run formatFormat all code (Elixir, Tailwind, HEEx)
mise run format:checkCheck formatting without modifying files
mise run dialyzerStatic type analysis
mise run db:setupRun migrations and Ash introspection
mise run db:resetReset database extensions and migrations
mise run ciRun the full CI suite locally

What’s Next

After signing in, you land on Manage → Overview. Read the Overview & Planner guide to learn how the main workspace is organized.