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:

  • Elixir 1.18 or later
  • Erlang/OTP 25 or later
  • PostgreSQL 16 or later
  • Node.js 18 or later (for asset building)
  • Docker and Docker Compose (recommended for running PostgreSQL and MinIO)

Starting Dependencies

The easiest way to run PostgreSQL and MinIO (S3-compatible object storage) is with Docker Compose:

docker-compose up -d

This starts PostgreSQL 16 on the default port and MinIO for file storage.

Installation

  1. Clone the repository:

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

    mix setup

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

  3. Start the Phoenix development server:

    mix phx.server
  4. Open localhost:4000 in your browser.

Common Commands

CommandPurpose
mix setupFull setup: deps, migrations, assets, seeds
mix phx.serverStart the dev server
mix 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
mix formatFormat all code (Elixir, Tailwind, HEEx)
mix dialyzerStatic type analysis
mix ash.setupRun migrations and Ash introspection
mix ash.resetDrop, create, migrate, and seed the database

What’s Next

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