Skip to content

captableinc/captable

Repository files navigation

Captable, Inc. cover image

Captable, Inc.

#1 Open-source Cap table management platform, an alternative to Carta, Pulley, Angelist and others.

Learn more »

Github Twitter CI License Join us on Discord

Table of contents

✨ Key features

Important

We envision a world where cap table management is accessible, secure, and empowering for all. Captable, Inc. aims to democratize the handling of cap tables, securities, and stakeholder interactions. Through cutting-edge technology and a commitment to openness, we strive to be the catalyst for positive change in financial ecosystems.

👷 Incorporation (wip) - Captable, Inc. helps you incorporate your company in minutes, with all the necessary legal documents and filings taken care of.

👷 Cap table management (wip) - Captable, Inc. helps you keep track of your company’s ownership structure, including who owns what percentage of the company, how much stock/options has been issued, and more.

Fundraise - Captable, Inc. can help you raise capital, whether its signing standard or custom SAFE or creating and managing fundraising rounds, tracking investor commitments, and more.

Investor updates - Delight your investors and team members by sending them regular updates on your company’s progress.

eSign Documents - Sign SAFE, NDA, contracts, offere letters or any type of documents with Captable Sign.

Data rooms - Captable, Inc. provides a secure virtual data room where you can store important documents and share them with investors, employees, and other stakeholders.

🤝 Community

We have a community of developers, designers, and entrepreneurs who are passionate about building the future of finance. Join us on Discord to connect with like-minded individuals, share your ideas, and collaborate on projects.

🫡 Contributing

  • Please show us some support by giving it a ⭐️
  • We are looking for contributors to help us build the future of cap table management.
  • Let's collaborate on Discord community channel.
  • Any contributions you make are truly appreciated.

Stack


Getting started

When contributing to **Captable, Inc.**, whether on GitHub or in other community spaces:
  • Be respectful, civil, and open-minded.
  • Before opening a new pull request, try searching through the issue tracker for known issues or fixes.

Setup development environment

Development environment on Gitpod

  • Click the button below to open this project in Gitpod.

Open in Gitpod


Development environment with Docker

  • Install Docker & Docker Compose

  • Fork & clone the forked repository

  • Install node and pnpm. (optional)

  • Copy .env.example to .env

    cp .env.example .env`
  • Run the following command to start the development environment

    # With pnpm installed
    pnpm dx
    
    # Without pnpm installed
    docker compose up
    
  • Run the following command to migrate and seed the database

    docker compose run app pnpm db:migrate
    docker compose run app pnpm db:seed
    

    Note Everytime you make changes to Dockerfile.dev or compose.yml, you need to rebuild the docker image by running docker compose up --build

  • Running docker compose up will start all the services on their respective ports.

  • Frequently used commands

    • docker compose up - Start the development environment
    • docker compose down - Stop the development environment
    • docker compose logs -f - View logs of the running services
    • docker compose up --build - Rebuild the docker image
    • docker compose run app pnpm db:migrate - Run database migrations
    • docker compose run app pnpm db:seed - Seed the database

Development environment without Docker

This has been tested on Mac OS and works really well. If you are using Linux/Windows/WSL, you might need to install some additional dependencies.

  • Fork the repository

  • Clone the repository

    git clone https://github.com/<your-github-name>/captable.git
  • Copy .env.example to .env

    cp .env.example .env
  • Install latest version of node and pnpm

  • Install latest version of postgres database

  • Install mailpit for SMTP and email interception

  • Create database captable in postgres database

  • Update .env file's DATABASE_URL with database credentials

  • For a quick start, you can use Supabase or Neon as well.

  • Run the following command to install dependencies

    pnpm install
  • Run the following command to migrate and seed the database

    pnpm db:migrate
    pnpm db:seed
  • Run the following command to start the development server

    pnpm dev
    
    # On a different terminal, run the following command to start the mail server
    pnpm email:dev
  • Frequently used commands

    • pnpm dev - Start the development server
    • pnpm email:dev - Start the mail server
    • pnpm db:migrate - Run database migrations
    • pnpm db:seed - Seed the database

Implement your changes

When making commits, make sure to follow the conventional commit guidelines, i.e. prepending the message with feat:, fix:, chore:, docs:, etc...

git add <file> && git commit -m "feat/fix/chore/docs: commit message"

Open a pull request

When you're done

Make a commit and push your code to your github fork and make a pull-request.

Thanks for your contributions. Much ❤️


💌 Contributors

A table of avatars from the project's contributors


Alt