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 [email protected]:PhilDL/ts-ghost.git
cd ts-ghost
pnpm i
pnpm build
This 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 build
This 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-api
Integration 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 validate
cd www/ && pnpm dev
This 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-buster
CLI is located in theapps
directory. - Client API Packages are located in the
packages
directory.
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.