// Hooks import { useApp } from 'shared/hooks/use-app.mjs' // Dependencies import { serverSideTranslations } from 'next-i18next/serverSideTranslations' // Components import Head from 'next/head' import { PageWrapper } from 'shared/components/wrappers/page.mjs' import { BareLayout } from 'site/components/layouts/bare.mjs' import { Icons } from 'shared/components/navigation/primary.mjs' import { Highlight } from 'shared/components/mdx/highlight.mjs' import { Popout } from 'shared/components/popout.mjs' import { WebLink } from 'shared/components/web-link.mjs' import { PageLink } from 'shared/components/page-link.mjs' const title = 'Welcome to FreeSewing.dev' const HomePage = () => { const app = useApp() return ( {title}

FreeSewing .dev

Documentation for contributors & developers

To learn more about FreeSewing and try our platform go to{' '} freesewing.org

FreeSewing 3

We're working on it 🤓

The upcoming version 3 of FreeSewing is currently under development. Our core library has stabilized and we have updated our documentation for FreeSewing version 3.

Looking for v2 documentation?

Visit for the documentation for version 2 of FreeSewing.

What's changed?

Check{' '} {' '} to learn about what is new in version 3 of FreeSewing, and what changes you should make in your own designs to port them to version 3.

If you have any questions to which you can't find the answers here, please{' '} .

TL;DR

Got node? 🤔

All you need is NodeJS; Then run the following command in a terminal:

npx @freesewing/new-design

This command will setup the FreeSewing development environment for you.

Refer to our{' '} {' '} for more info on setting up your development environment.

Need help? 🤯

When you have questions or find yourself scratching your head you can{' '} in various ways.

While we are all volunteers, we have a pretty good track record of helping people, and we plan to keep it that way. So {' '} 💜

Support FreeSewing

FreeSewing is fuelled by a voluntary subscription model

If you think what we do is worthwhile, and if you can spare a few coins each month without hardship, please support our work

Become a Patron
) } export default HomePage export async function getStaticProps() { return { props: { ...(await serverSideTranslations('en')), }, } }