Developed by improvisers — made for improvisers. Impromat offers all necessary features to plan your upcoming improv sessions with all fundamental exercises and games. Impromat is meant to be the go to app for improvisational theatre.
Access the app at impromat.app.
On a visionary level, Impromat should be the supporting application for any improvisational theatre activities.
Our mission is the fostering of knowledge exchange for improv workshops and exercises and build an active global community around it.
As first steps, Impromat will support the workshop facilitation journey from:
- Planning a Workshop
- Facilitating the Workshop
- Sharing the Workshop
For an up-to-date overview see Impromats Milestones.
First of all, by using it, creating new exercises and games and share your workshop creations with the community. Contribute with bug reports or new feature ideas through issues.
Second of all, Impromat is open-source, thus you can also get your hands dirty and pick a good first issue for getting started.
The following section describes the technical quick start for running Impromat locally.
- Install NodeJs
- Install PostgreSQL (possible to run via Docker as well)
- Install Yarn 3
Clone repository via SSH:
git clone git@github.com:marcoklein/impromat.git
...or via HTTPS
git clone https://github.com/marcoklein/impromat.git
Install all dependencies:
yarn install
Build impromat frontend and impromat backend:
yarn workspaces foreach --from '{impromat,impromat-api}' run build
Run database migrations:
yarn workspace impromat-api run prisma:migrate
Seed database:
yarn workspace impromat-api run prisma db seed
Start the development server for frontend and backend:
yarn dev
Now you should have a running local version of the impromat application at http://localhost:3000.
Explore project graph:
yarn dlx nx graph
The folke.vscode-monorepo-workspace
extension can list all monorepo extensions in the workspace. Use the following command in the command plate after installation to activate them:
>monorepo: Select Workspace Folders
The project uses changesets for maintaining changelogs and version bumps across packages.
For adding a changeset run the following command from any workspace:
yarn changeset:add
Impromat adheres to Semantic Versioning.
We use ncu for updating all dependencies across the monorepo.
yarn ncu
Upgrade a workspace to latest dependencies:
yarn ncu --configFileName .ncurc-latest.json --workspace impromat-api -u