artcraft/frontend
Brandon Thomas 0004726a36 ArtCraft Desktop (fresh start)
This is a fresh start for the `artcraft` repo.

The old monorepo, which included our web API gateway, job services, SRE
tools, various frontends, and more has moved to `artcraft-services`

You can find the full git history here:

https://github.com/storytold/artcraft-services

This change was motivated by the fact that the entire git history was
hundreds of gigabytes in size, which is unwieldy for anyone not in the
core team that doesn't care about support services outside of the core
artcraft app.

We wanted to keep this repo in its well-known place since we already
have users and activity here.

Please update your remotes to either `artcraft-services` or make a fresh
clone of this repo.

History can be found at the artcraft-services repo.
2026-09-11 14:19:51 -04:00
..
.vscode ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
apps/artcraft ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
libs ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
scripts ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
.editorconfig ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
.eslintignore ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
.eslintrc.json ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
.gitignore ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
.nxignore ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
README.md ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
api_docs.html ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
build_modules.sh ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
clean_modules.sh ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
nx.json ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
package-lock.json ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
package.json ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
tsconfig.base.json ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
tsconfig.json ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00
vitest.workspace.ts ArtCraft Desktop (fresh start) 2026-09-11 14:19:51 -04:00

README.md

Artcraft frontend

This Nx workspace contains the Tauri desktop frontend in apps/artcraft and its shared libraries in libs. Website and Netlify builds live in artcraft-services.

Use Node.js 20 or newer and npm. Run the following commands from frontend/:

npm ci
npx nx dev artcraft
npx nx build artcraft

The frontend development server uses port 5173. Start the Rust app separately from the repository root:

./script/artcraft/unix_rust_dev.sh

The repository-root frontend launcher installs dependencies and starts the same server:

./script/artcraft/unix_frontend_dev.sh

On Windows, use script/artcraft/windows_frontend_dev.ps1 and script/artcraft/windows_rust_dev.ps1 in separate terminals. See development setup for Rust and Tauri prerequisites.

The Vite build writes apps/artcraft/dist, which Tauri bundles. Public resources come from apps/artcraft/app/public. The app also needs its retained libraries, root package lock, TypeScript project references, and Nx/Vite configuration. The aliases in tsconfig.base.json resolve shared libraries to their source for both development and production. The desktop build does not require library dist/ outputs or a separate library build.

Import shared libraries by the names declared in their package.json files:

import { Button } from "@storyteller/ui-button";
import { Modal } from "@storyteller/ui-modal";

Use the workspace-local Nx version through npx nx. npm ci and the release workflows use the checked-in lockfile; do not reinstall different Nx versions inside CI.

clean_modules.sh is an explicit cleanup command that removes build outputs, Nx caches, and frontend dependencies. Do not run it when preserving local build outputs during repository pruning.