open-index/open-npm huggingface dataset:
npm package: @shahnavaz/spec-kit
Description: Smart CLI scaffolding tool that generates production-ready, spec-driven BDD test automation projects
Author: spec-kit contributors
Latest version: 1.0.2

# spec-kit

⚡ **spec-kit** is a smart CLI scaffolding tool that generates production-ready, spec-driven test automation project structures interactively.

## Supported Frameworks
- Playwright (TypeScript/JavaScript)
- Cypress (TypeScript/JavaScript)
- Python API Testing (OpenAPI/Schemathesis driven)

## Features
- **Spec-Driven BDD Architecture**: All frameworks scaffold a pristine `features/` -> `scenarios/` -> `tests/` structure separating intent from implementation.
- **Interactive Scaffolding**: Built with inquirer for a smooth DX.
- **Dynamic Config**: Automatically installs test dependencies, hooks up Playwright-BDD / Cypress-BDD, and structures Pytest for API testing.
- **CI & Docker**: Built-in GitHub Actions templates and Dockerfiles.
- **Reporting**: First-class support for Allure, HTML plugins, and Mochawesome (Cypress).

## Usage

You can run `spec-kit` immediately via `npx`:

```bash
npx spec-kit init
```

Wait for the prompts, select your framework, set your options, and spec-kit will build a complete end-to-end testing repository for you instantly.

---

### Playwright Structure Example
When scaffolding Playwright, spec-kit leverages `playwright-bdd` giving native Cucumber support with Playwright runners and assertions. It generates Page Objects, world fixtures, isolated test data, and sample scenarios (Authentication, Checkout, Search).

### Cypress Structure Example
Cypress generation utilizes the official `@badeball/cypress-cucumber-preprocessor` with `esbuild` for blazingly fast parsing. Provides clean custom commands and Page Object structural separation.

### Python API Structure Example
Generates a pure spec-driven API suite reading directly from `openapi.yaml`. Uses `schemathesis` to automatically contract-test every endpoint in the OpenAPI document, layered with `pytest-bdd` for functional end-to-end workflows and a robust wrapped API Client (using `requests` or `httpx`).

## Local Development

```bash
git clone https://github.com/test-forge/test-forge.git
cd spec-kit
npm install
npm link
spec-kit init
```
npm package: @shahrad/eslint-config
Description: My personal eslint config for eslint, typescript
Author: Shahrad Elahi
Latest version: 1.1.0

# @shahrad/eslint-config

My personal eslint config for [ESLint](https://eslint.org/) with [Typescript](https://www.typescriptlang.org/) recommended rules.

## Install

```bash
pnpm i -D @shahrad/eslint-config
```

## Usage

```javascript
// -- eslint.config.js
import { defineConfig } from '@shahrad/eslint-config';

export default defineConfig(
  { ignores: ['dist/**'] },
  // more configs
);
```

## License

[MIT](/LICENSE) © [Shahrad Elahi](https://github.com/shahradelahi)
npm package: @shahrad/prettier-config
Description: My personal Prettier config
Author: Shahrad Elahi
Latest version: 1.2.2

# @shahrad/prettier-config

My personal [Prettier](https://prettier.io/) config.

## Install

```bash
pnpm i -D @shahrad/prettier-config
```

## Usage

###### `package.json`

```json
{
  "prettier": "@shahrad/prettier-config"
}
```

###### `.prettierrc`

```prettier
"@shahrad/prettier-config"
```

###### `prettier.config.mjs`

```javascript
import DEFAULT_CONFIG from '@shahrad/prettier-config';

/** @type {import('prettier').Config} */
const config = Object.assign(DEFAULT_CONFIG, {
  trailingComma: 'none',
});

export default config;
```

## License

[MIT](/LICENSE) © [Shahrad Elahi](https://github.com/shahradelahi)
npm package: @shahrad/tsconfig
Description: Shared TypeScript config for my projects.
Author: Shahrad Elahi
Latest version: 1.2.0

# @shahrad/tsconfig

My personal [TSConfig](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) for [Typescript](https://www.typescriptlang.org) projects.

## Install

```bash
pnpm i -D @shahrad/tsconfig
```

## Usage

###### `tsconfig.json`

```json
{
  "$schema": "https://json.schemastore.org/tsconfig",
  "extends": "@shahrad/tsconfig"
}
```

## License

[MIT](/LICENSE) © [Shahrad Elahi](https://github.com/shahradelahi)
npm package: @shahriyar13/fake-git-history-fa
Description: A command-line tool to generate your GitHub activity graph.
Author: sh
Latest version: 1.8.0

# Generate Git Commits

A command-line tool that generates GitHub or GitLab activity graph to make it look like you have been coding regularly.

<img src="https://dl.dropboxusercontent.com/s/q2iinti6v0zbhzs/contributions.gif?dl=0" alt="How it works" />

## How To Use

1. Make sure you have [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) and
   [Node.js](https://nodejs.org/en/download/) installed on your machine.
2. Generate your commits:
   ```shell script
   npx fake-git-history-fa
   ```
   This command creates a my-history folder, initializes git, and generates commits for every day within the last year (0-3 commits per day).
3. Create [a private repository](https://github.com/new) called `my-history` in your GitHub or GitLab, and push the changes:
   and push the changes:
   ```shell script
   cd my-history
   git remote add origin git@github.com:<USERNAME>/my-history.git
   git push -u origin master
   ```

Done! Now take a look at your GitHub profile 😉

## Support This Project

If you rely on this tool and find it useful, please consider supporting it. Maintaining an open source project takes time and a cup of coffee would be greatly appreciated!

<a href="https://www.buymeacoffee.com/artiebits" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>

## Customizations

### `--commitsPerDay`

Specify the number of commits to be created for each day.
The default value is `0,3`, which means it will randomly generate from 0 to 3 commits per day. For example, to generate commits randomly between 0 and 5 per day, you can do:

```shell script
npx fake-git-history-fa --commitsPerDay "0,5"
```

### `--workdaysOnly`

Use this option if you don't want to commit on weekends. Example:

```shell script
npx fake-git-history-fa --workdaysOnly
```

### `--startDate` and `--endDate`

By default, the script generates GitHub commits for every day within the last year.
However, if you want to generate activity for specific dates, use these options:

```shell script
npx fake-git-history-fa --startDate "2020/09/01" --endDate "2020/09/30"
```

## PS

This tool was created as a joke, so please don't take it seriously. While cheating is never encouraged, if someone is judging your professional skills based on your GitHub activity graph, they deserve to see a rich activity graph 🤓
npm package: @shahriyardx/scramble-text
Description: React component library for scramble text effect
Author: Md Shahriyar Alam
Latest version: 1.1.7

# Scramble Text
React component library for scramble text effect

## Usage
```jsx
import { ScrambleText } from "@shahriyardx/scramble-text"

// in your component
<ScrambleText
   text="SCRAMBLE"
   speed={30}
   iterationPerCharacter={3}
   characters="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
   enabled={true}
>
```
npm package: @shahriyer/autogit
Description: Automate your git workflow with a single script.
Author: Raghib Shahriyer
Latest version: 1.3.0

# GitHub Automation CLI Tool

This is a Node CLI tool to automate The boring stuff 🚀.

![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/vcshahriyer/git-automation) ![npm (scoped)](https://img.shields.io/npm/v/@shahriyer/autogit) [![GitHub license](https://img.shields.io/github/license/vcshahriyer/GitAutomation)](https://github.com/vcshahriyer/GitAutomation/blob/master/LICENSE)

## Installation

> Install it globally and use across repositories with ease

```
npm i -g @shahriyer/autogit
```

## Usage

```
$ autogit help
```

![Usage](/assets/usage.png)

## **You can chain commands**

```
$ autogit nb p pr --backTo=main
```

![Usage](/assets/Demo.gif)

This will Create new branch ➡️ push ➡️ Open a Pull request ➡️ Checkout to `main` branch

## What's new in v.1.2.0!

-   Async Output to the terminal🐚.
-   Now you can ⛓️`chain` commands and flags🏳️.

## Upcoming

> Upcoming feature plan and teasers :

🔲 GitHub api integration to create and update PR.

🔲 Stash and checkout to expected branch.

🔲 All local or Selected branch Pull form immediate parent & push
(Updating branches for there dependent pull request).
npm package: @shahroze/ainews
Description: SDK for AINews
Author: shahroze
Latest version: 0.0.5

# ChainGPT AI News SDK

This library provides convenient access to the ChainGPT AI News REST API from TypeScript or JavaScript.

## Installation

```sh
npm install --save @shahroze/ainews
# or
yarn add ainews
```

<!-- x-release-please-end -->

## Usage

```js
import { AINews } from '@shahroze/ainews';

const ainews = new AINews({
  apiKey: 'Your ChainGPT API Key',
});

async function main() {
  const news = await ainews.getNews({});
}

main();
```

## Handling errors

When the library is unable to connect to the API,
or if the API returns a non-success status code (i.e., 4xx or 5xx response),
a subclass of `AINewsError` will be thrown:

```ts
import { Errors } from '@shahroze/ainews';
async function main() {
  ainews.getNews({}).then((res)=>{}).catch((err)=>{
      if (err instanceof Errors.AINewsError) {
        if (err instanceof Errors.InvalidApiKeyError) {
            console.log("Invalid Api Key Error")
        } else if (err instanceof Errors.RateLimitExceededError) {
            console.log("Rate limit exceeded Error")
        }
      }
  });
}

main();
```

Error codes are as followed:

| Status Code | Error Type                 |
| ----------- | -------------------------- |
| 403         | `InvalidApiKeyError`       |
| 429         | `RateLimitExceededError`   |
| N/A         | `AINewsError`              |
npm package: @shahroze/openaichat
Description: SDK for OpenAIChat
Author: shahroze
Latest version: 0.0.2

# ChainGPT OpenAI Chat SDK

This library provides convenient access to the ChainGPT OpenAI Chat REST API from TypeScript or JavaScript.

## Installation

```sh
npm install --save @shahroze/openaichat
# or
yarn add openaichat
```

<!-- x-release-please-end -->

## Usage

```js
import { OpenAIChat } from '@shahroze/openaichat';

const openaichat = new OpenAIChat({
  apiKey: 'Your ChainGPT API Key',
});

async function main() {
  const stream = await openaichat.createChatStream({
    question: 'Explain quantum computing in simple terms'
  });
  stream.on('data', (chunk: any)=>console.log(chunk.toString()););
  stream.on('end', ()=>console.log("Stream ended"););
}

main();
```

## Handling errors

When the library is unable to connect to the API,
or if the API returns a non-success status code (i.e., 4xx or 5xx response),
a subclass of `OpenAIChatError` will be thrown:

```ts
import { Errors } from '@shahroze/openaichat';

async function main() {
  openaichat.createChatStream({
    question: 'Explain quantum computing in simple terms'
  })
  .then((res)=>{})
  .catch((err)=>{
      if (err instanceof Errors.OpenAIChatError) {
        if (err instanceof Errors.InvalidApiKeyError) {
            console.log("Invalid Api Key Error")
        } else if (err instanceof Errors.RateLimitExceededError) {
            console.log("Rate limit exceeded Error")
        }
      }
  });
}

main();
```

Error codes are as followed:

| Status Code | Error Type                 |
| ----------- | -------------------------- |
| 403         | `InvalidApiKeyError`       |
| 429         | `RateLimitExceededError`   |
| N/A         | `OpenAIChatError`          |