open-index/open-npm huggingface dataset:
npm package: @nick-mazuk/cli
Description: Create, develop, and maintain a monorepo with ease.
Latest version: 1.0.8

# Monorepo cli

**Goal**: Create, develop, and maintain a monorepo with ease.

## Features

- [ ] Publish packages to npm
- [ ] Feature flags
- [ ] Internally sharable libraries
- [ ] Code owners

## Goals

These are mostly stretch goals. No idea how possible they are, but I'm aiming for them.

- Linting/testing should always be 5 minutes or less

## FAQ

**What are the design philosophies?**

- **O(1) development time**: Ideally, as the monorepo grows, developer time should not. Performance is not a nice-to-have. It's a must-have. You won't always achieve O(1) performance, but strive to get as close as possible.
- **Less is more**: The less code you write, and the more code you delete, the better.
- **Predictable**: Developers should be able to predict the CLI's API. Complexity is ok as long as you can accurately predict what to do.
- **Simple**: Always choose simple when all else is equal. This can help with predictability.
- **Collaboration**: Code is meant to be collaborated on. Therefore, collaborative coding should be a first-class citizen.
- **Automate everything**: If it can be automated, automate it.
- **Through limitation there's freedom**: By enforcing smart defaults, we can make assumptions that improve performance and developer experience. If there's a structure for doing things, we can even eliminate lots of boilerplate.
- **Write from scratch**: Unless there's a really good reason not to, write everything from scratch. This allows for larger optimizations, less unused code, and better user experience.

**What's the scope of this monorepo?**

In short, I'm aiming to streamline the entire process of writing JS code, including creating new projects, to testing, building, publishing on npm, deploying, etc. If it's part of a standard JS workflow, this CLI will probably help.

Exact feature set and API are yet to be determined.

Though note that this CLI is opinionated and not all workflows will be supported. I'm aiming to create the ideal workflow. Therefore, it may be incompatible with how you currently work.

**Will X be supported?**

Currently, I plan on supporting:

- pnpm (not npm or yarn)
- ES Modules (not commonjs)
- TypeScript
- Sveltekit
- Jest?
- Cypress?

Depending on how much I like Go, I may also support Go packages as well. Then, I can have everything in one monorepo.

**Why is this written in Go and not JavaScript?**

While this monorepo is going to focus on JavaScript projects initially, Go is much faster at scale. Tools like [esbuild](https://github.com/evanw/esbuild) have shown that JS developer tools don't need to be written in JavaScript, leveraging much faster performance than JS ever could. Plus, I want to learn Go.

**Is this production ready?**

No. I'm not even using it yet. Consider this in experimental. Many features are missing. API's may change at any time. And the overall structure of the monorepo will likely change.
npm package: @nick-mazuk/semantic-release-config
Description: A config for [semantic-release](https://github.com/semantic-release/semantic-release).
Latest version: 1.1.3

# Semantic release config

A config for [semantic-release](https://github.com/semantic-release/semantic-release).

- Adds a few extra commit types
- Creates changelog automatically
- Pushes changelog back into Git repo

## Installation

Install the config and it's peer dependencies.

```bash
pnpm i -D @nick-mazuk/semantic-release-config semantic-release @semantic-release/changelog @semantic-release/git
```

Create a `release.config.js` file in the root of your repo.

```js
module.exports = {
    extends: ['@nick-mazuk/semantic-release-config'],
}
```

## Usage with GitHub Actions

Create a `.github/workflows/release.yml` file.

```yml
name: Release

on:
  push:
    branches:
      - main

jobs:
  release:
    name: Release
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2.1.5
        with:
          node-version: 14
      - name: Install dependencies
        run: npx pnpm i --frozen-lockfile=false
      - name: Release
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
        run: npx semantic-release
```

Add your `NPM_TOKEN` token to your repository's secrets.

## Available commit types

- **build**: Changes that affect the build system (example scopes: gulp, broccoli, npm)
- **bump**: Dependency updates
- **ci**: Changes to our CI configuration files and scripts (example scopes: Circle, BrowserStack, SauceLabs)
- **docs**: Documentation only changes
- **feat**: A new feature
- **fix**: A bug fix
- **perf**: A code change that improves performance
- **refactor**: A code change that neither fixes a bug nor adds a feature
- **test**: Adding missing tests or correcting existing tests
- **style**: A change in CSS
- **BREAKING**: Any breaking change
npm package: @nick-mazuk/sveltekit-cli
Description: Blast through your Sveltekit development and stop writing all boilerplate code. Works best if starting with my [sveltekit-template](https://github.com/Nick-Mazuk/sveltekit-template).
Latest version: 1.2.3

# Sveltekit CLI

Blast through your Sveltekit development and stop writing all boilerplate code. Works best if starting with my [sveltekit-template](https://github.com/Nick-Mazuk/sveltekit-template).

- Create new pages with cypress tests
- Create new endpoints complete with type definitions
- Create new layouts and resets (with all the right CSS)
- …and more!

This project is still in the early stages. See [Usage](#usage) for complete feature-set.

## Install

This CLI can either be installed locally or globally. If you started with my [sveltekit-template](https://github.com/Nick-Mazuk/sveltekit-template), this CLI is already installed.

### Local installation

```bash
pnpm i -D @nick-mazuk/sveltekit-cli
```

Then create script aliases in the package.json. For instance,

```json
{
    "scripts": {
        "create-page": "kit create-page",
        "create-layout": "kit create-layout",
        "create-endpoint": "kit create-endpoint"
    },
}
```

### Global installation

```bash
pnpm i -g @nick-mazuk/sveltekit-cli
```

The CLI can then be run using

```bash
kit <cmd> [args]
```

## Usage

```bash
kit <cmd> [args]

Commands:
  kit create-page      Creates a new page
  kit create-layout    Creates a new layout
  kit create-endpoint  Creates a new endpoint

Options:
  -v, --version  Show version number                                   [boolean]
  -h, --help     Show help                                             [boolean]
```

## License

This project is open sourced with the [MIT](LICENSE) license.
npm package: @nick-mazuk/tsconfig
Description: an tsconfig for my personal projects
Latest version: 0.1.1

# tsconfig
 
A strict tsconfig for TypeScript projects.

## Getting started

Install from NPM, including peer dependencies, with `--save-dev`

```bash
npm i @nick-mazuk/tsconfig typescript --save-dev
```

Then, create a `tsconfig.json` file in the root of your project with

```json
{
    "extends": "@nick-mazuk/tsconfig",
    "include": ["**/*.ts", "*.ts"], // add other files to include here
    "exclude": ["node_modules"]
}
```

### Versions

This package has configs for different scenarios (more coming).

| Version | extends | includes |
| ---- | ---- | ---- |
| **NextJS** | `@nick-mazuk/tsconfig/next` | `["next-env.d.ts", "**/*.ts", "**/*.tsx", "pages/_app.tsx", "error.tsx.config"]` |

When using a more specific config, the base config is not needed. For instance, with NextJS, this is all that's required:

```json
{
    "extends": "@nick-mazuk/tsconfig",
    "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "pages/_app.tsx", "error.tsx.config"],
    "exclude": ["node_modules"]
}
```