Skip to content

Commit

Permalink
docs: update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
k2on committed Oct 26, 2024
1 parent 29fc4af commit efcc422
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 74 deletions.
97 changes: 27 additions & 70 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,73 +1,30 @@
# Turborepo Design System starter with Changesets

This is an official React design system starter powered by Turborepo. Versioning and package publishing is handled by [Changesets](https://github.com/changesets/changesets) and fully automated with GitHub Actions.

## Using this example

Run the following command:

```sh
npx create-turbo@latest -e with-changesets
```

## What's inside?

This Turborepo includes the following:

### Apps and Packages

- `docs`: A placeholder documentation site powered by [Next.js](https://nextjs.org/)
- `@acme/core`: core React components
- `@acme/utils`: shared React utilities
- `@acme/tsconfig`: shared `tsconfig.json`s used throughout the monorepo
- `@acme/eslint-config`: ESLint preset

Each package and app is 100% [TypeScript](https://www.typescriptlang.org/).

### Utilities

This Turborepo has some additional tools already setup for you:

- [TypeScript](https://www.typescriptlang.org/) for static type checking
- [ESLint](https://eslint.org/) for code linting
- [Prettier](https://prettier.io) for code formatting

### Useful commands

- `yarn build` - Build all packages and the docs site
- `yarn dev` - Develop all packages and the docs site
- `yarn lint` - Lint all packages
- `yarn changeset` - Generate a changeset
- `yarn clean` - Clean up all `node_modules` and `dist` folders (runs each package's clean script)

### Changing the npm organization scope

The npm organization scope for this design system starter is `@acme`. To change this, it's a bit manual at the moment, but you'll need to do the following:

- Rename folders in `packages/*` to replace `acme` with your desired scope
- Search and replace `acme` with your desired scope
- Re-run `yarn install`

## Versioning and Publishing packages

Package publishing has been configured using [Changesets](https://github.com/changesets/changesets). Please review their [documentation](https://github.com/changesets/changesets#documentation) to familiarize yourself with the workflow.

This example comes with automated npm releases setup in a [GitHub Action](https://github.com/changesets/action). To get this working, you will need to create an `NPM_TOKEN` and `GITHUB_TOKEN` in your repository settings. You should also install the [Changesets bot](https://github.com/apps/changeset-bot) on your GitHub repository as well.

For more information about this automation, refer to the official [changesets documentation](https://github.com/changesets/changesets/blob/main/docs/automating-changesets.md)

### npm

If you want to publish package to the public npm registry and make them publicly available, this is already setup.

To publish packages to a private npm organization scope, **remove** the following from each of the `package.json`'s

```diff
- "publishConfig": {
- "access": "public"
- },
# Koons CLI

Simple typesafe CLI framework.

```ts
import { run, router, command } from "@koons/cli";
import z from "zod";

const cli = router({
add: router({
module: command()
.describe("Add a module")
.input(z.object({ name: z.number() }))
.fn(({ name }) => {
console.log(`Adding module: "${name}`);
}),
}),
version: command()
.describe("Show the CLI version")
.fn(() => console.log("Version 1.0")),
});

run(cli);
```

### GitHub Package Registry
## Installation

See [Working with the npm registry](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry#publishing-a-package-using-publishconfig-in-the-packagejson-file)
```sh
yarn add @koons/cli
```
3 changes: 0 additions & 3 deletions examples/basic/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ const cli = router({
console.log(`Adding module: "${name}`);
}),
}),
help: command()
.describe("Show help for the CLI")
.fn(() => console.log("Help command")),
version: command()
.describe("Show the CLI version")
.fn(() => console.log("Version 1.0")),
Expand Down
30 changes: 30 additions & 0 deletions packages/cli/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Koons CLI

Simple typesafe CLI framework.

```ts
import { run, router, command } from "@koons/cli";
import z from "zod";

const cli = router({
add: router({
module: command()
.describe("Add a module")
.input(z.object({ name: z.number() }))
.fn(({ name }) => {
console.log(`Adding module: "${name}`);
}),
}),
version: command()
.describe("Show the CLI version")
.fn(() => console.log("Version 1.0")),
});

run(cli);
```

## Installation

```sh
yarn add @koons/cli
```
2 changes: 1 addition & 1 deletion packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@koons/cli",
"version": "0.1.0",
"version": "0.1.1",
"main": "./dist/index.js",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
Expand Down

0 comments on commit efcc422

Please sign in to comment.