Thank you for thinking about contributing! ts-ghost is a small project that wants to grow and improve. We are always looking for new contributors to help us make it better. This document will help you get started.
We use pnpm as our package manager, so make sure to install it first.
git clone git@github.com:PhilDL/ts-ghost.git
cd ts-ghost
pnpm i
pnpm buildThis is a monorepo powered by turborepo, so you can run commands in the root directory and it will run the command in all packages.
# From the project root directory
pnpm buildThis will build all the packages.
During your developement you may want to keep the tests running in watch mode.
# From the project root directory
pnpm test:watch
# If you want to test a specific package
pnpm test:watch --filter @ts-ghost/core-apiIntegration testing is done in @ts-ghost/content-api and @ts-ghost/admin-api packages, against a test instance of Ghost called astro-starter-ghost. These tests are
made to be run in CI with the hidden .env variables containing admin and content API key set for that specific ghost instance.
Trying to run these tests locally without having the correct .env values will certainly fail.
# From the project root directory
# This will fail as it is expecting specific values from a specific Ghost Instance
pnpm test:integration:watch# Eslint
pnpm lint
# Typecheck typescript
pnpm typecheck# From the project root directory
pnpm validatecd www/ && pnpm devThis project is a monorepo of packages with well-defined purposes. It is composed of an app "ghost-blog-buster", and several API Client packages.
- The
ghost-blog-busterCLI is located in theappsdirectory. - Client API Packages are located in the
packagesdirectory.
TODO: write description and help for this package.
TODO: write description and help for this package.
TODO: write description and help for this package.
TODO: write description and help for this package.