1
0
Fork 0
freesewing/sites/dev/docs/tutorials/getting-started-linux/dev-setup
Benjamin Fan dcf7c0412b fix(dev): v4 tutorial setup changes (#278)
Changes to tutorial documentation:
1. Changed instances of `yarn` to `npm`. Remove references to installing `yarn`.
2. Changed instances of `@freesewing/new-design` to `@freesewing/studio`.
3. Changed instances of "lab" to "development environment" and `npm run lab` to `npm run org`.
4. Changed instances of Node v18.17.0 to v20.19.1. ~(I think I might have missed it in one spot. I'll submit a future PR for it.)~

I did not touch the Getting "Started with Vercel" and "Getting Started with Codespaces" tutorials. I need to take a closer look at these to see if they are still relevant or if we might want to remove them.

Co-authored-by: Benjamin Fan <ben-git@swinglonga.com>
Reviewed-on: https://codeberg.org/freesewing/freesewing/pulls/278
Reviewed-by: Joost De Cock <joostdecock@noreply.codeberg.org>
Co-authored-by: Benjamin Fan <benjamesben@noreply.codeberg.org>
Co-committed-by: Benjamin Fan <benjamesben@noreply.codeberg.org>
2025-05-18 09:32:33 +00:00
..
readme.mdx fix(dev): v4 tutorial setup changes (#278) 2025-05-18 09:32:33 +00:00

---
title: Setting up the FreeSewing development environment
sidebar_position: 40
---

FreeSewing provides the studio, a development environment to help you design and develop patterns.

There are two ways to run this studio:

- [**Repository studio**](#monorepo-studio): Use this if you intend to
  contribute your work to FreeSewing
- [**Stand-alone studio**](#stand-alone-studio): Use this if you want
  to do your own thing, and not contribute to FreeSewing

## Repository studio

:::note
This is the recommended way for (aspiring) FreeSewing contributors
:::

### TL;DR

```bash
git clone https://codeberg.org/freesewing/freesewing.git
cd freesewing
npm run kickstart
```

:::tip
Even better: [clone your own
fork](https://codeberg.org/freesewing/freesewing/fork)

```bash
git clone https://codeberg.org/your-username/freesewing.git
cd freesewing
npm run kickstart
```

:::

This sets up the monorepo. If you would like to create a new design or plugin, run the
following command:

```sh
npm run add
```

### Step by step

:::note
These docs assume you have git installed.
But if you're running Linux, you have git, right?
:::

#### Fork our repository

You'll want to fork our repository. This way you have your own copy where you can make
all the changes you want. To do so, visit https://codeberg.org/freesewing/freesewing/fork

#### Clone the forked repository

Now that you have your very own fork, it's time to clone it locally.

```bash
git clone <url to your fork>
```

Make sure to use the URL to your own fork, typically `https://codeberg.org/your-username/freesewing.git` but
obviously with your real username rather than `your-username`.

#### Install dependencies

Enter the directory that was created, and run the `npm run kickstart` command:

```bash
cd freesewing
npm run kickstart
```

Now you're ready to [start the development environment](/tutorials/getting-started-linux/dev-start).

### Creating a new design or plugin

If you would like to create a new design or plugin, run the following command:

```sh
npm run add
```

After you've answered [some questions](#questions), it create a new
sub-folder for your design in the `designs` folder.

Now you're ready to [start the development
environment](/tutorials/getting-started-linux/dev-start).

## Stand-alone development

With Node.js installed, all you need to do to setup the stand-alone development environment is run this command:

```bash
npx @freesewing/studio
```

After you enter the folder name to create, it will take a while to set
everything up. When it's done, you will have a new folder with the development
environment inside.

### Creating a new design

If you would like to create a new design, enter the folder that was just created and run the following command:

```sh
npm run add
```

After you've answered [some questions](#questions), it create a new
sub-folder for your design in the `designs` folder.

Now you're ready to [start the development
environment](/tutorials/getting-started-linux/dev-start).

:::note

### Questions

#### What design name to use

Please stick to a single word name using \[a-z] to avoid problems.

#### What template to use

Use `From scratch` unless you want to start from our of our blocks:

- Use `Extend Brian` to start from [Brian](https://freesewing.eu/designs/brian)
- Use `Extend Bent` to start from [Bent](https://freesewing.eu/designs/bent)
- Use `Extend Bella` to start from [Bella](https://freesewing.eu/designs/bella)
- Use `Extend Breanna` to start from [Breanna](https://freesewing.eu/designs/breanna)
- Use `Extend Titan` to start from [Titan](https://freesewing.eu/designs/titan)

:::