open-index/open-npm huggingface dataset:
npm package: @karasushin/biome-config
Description: Biome configuration preset
Author: Karasu
Latest version: 1.0.1

# @karasushin/biome-config

[![npm version](https://img.shields.io/npm/v/@karasushin/biome-config.svg)](https://www.npmjs.com/package/@karasushin/biome-config)
[![license](https://img.shields.io/npm/l/@karasushin/biome-config.svg)](https://github.com/KarasuShin/biome-config/blob/master/LICENSE)

Biome configuration preset.

## Installation

```bash
npm install @karasushin/biome-config
```

## Usage

biome.json

```json
{
  "extends": ["@karasushin/biome-config"]
}
```
npm package: @karasushin/eslint-config
Description: [![npm package](https://img.shields.io/npm/v/@karasushin/eslint-config.svg)](https://www.npmjs.com/package/@karasushin/eslint-config)
Author: Karasu Shin
Latest version: 2.1.0

# @karasushin/eslint-config

[![npm package](https://img.shields.io/npm/v/@karasushin/eslint-config.svg)](https://www.npmjs.com/package/@karasushin/eslint-config)

[English](./README.md) / 简体中文

## 用法

### 安装

```bash
pnpm add -D eslint @karasushin/eslint-config
```

### 配置

在你的项目下创建一个 `eslint.config.js`


```js
import { karasu } from '@karasushin/eslint'

export default karasu()
```

你也可以进行一些自定义配置
```js
export default karasu({
  typescript: true, // default true
  react: true, // default false
  markdown: true, // default false
})
```

### 添加 lint 脚本

添加以下内容到 `package.json`
```json
{
  "scripts": {
    "lint": "eslint .",
    "lint:fix": "eslint . --fix"
  }
}
```

### 配置 VSCode
编辑 `settings.json`
```json
{
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true,
    "source.organizeImports": "never"
  },
  "eslint.experimental.useFlatConfig": true,
  "eslint.format.enable": true,
  "eslint.validate": [
    "html",
    "javascript",
    "javascriptreact",
    "json",
    "jsonc"
    "markdown",
    "typescript",
    "typescriptreact",
  ]
}
```
npm package: @karasushin/react-native-serial-port-api
Description: React Native Serial Port API
Author: bastengao
Latest version: 1.3.2

# react-native-serial-port-api

Only for android platform based on [Android-SerialPort-API](https://github.com/licheedev/Android-SerialPort-API).

## Getting started

`$ npm install react-native-serial-port-api --save`

### (Optional) React Native < 0.60

Run this command if use React Native before version 0.60.

`$ npx react-native link react-native-serial-port-api`

[Autolinking](https://github.com/react-native-community/cli/blob/master/docs/autolinking.md) will works for 0.60 or above.

## Usage

```javascript
import SerialPortAPI from 'react-native-serial-port-api';

async function example() {
  const serialPort = await SerialPortAPI.open("/dev/ttyS4", { baudRate: 38400 });

  // subscribe received data
  const sub = serialPort.onReceived(buff => {
    console.log(buff.toString('hex').toUpperCase());
  })

  // unsubscribe
  // sub.remove();

  // send data with hex format
  await serialPort.send('00FF');

  // close
  serialPort.close();
}
```

See [documentation](https://bastengao.com/react-native-serial-port-api/) for details.

## Development

Generate API docs.

    npm install -g jsdoc
    jsdoc src -r -R README.md -t node_modules/docdash -d ./docs/
npm package: @karasushin/tsconfig
Description: [![npm package](https://img.shields.io/npm/v/@karasushin/tsconfig.svg)](https://www.npmjs.com/package/@karasushin/tsconfig)
Author: karasu shin
Latest version: 1.3.0

# @karasushin/tsconfig

[![npm package](https://img.shields.io/npm/v/@karasushin/tsconfig.svg)](https://www.npmjs.com/package/@karasushin/tsconfig)

## Install

```bash
  pnpm add -D @karasushin/tsconfig
```

## Usage

```json
{
  "extends": "@karausushin/tsconfig/base",
  "compilerOptions": {
    // ...
  }
}
```

```json
{
  "extends": "@karausushin/tsconfig/lib",
  "compilerOptions": {
    // ...
  }
}
```

```json
{
  "extends": "@karausushin/tsconfig/react-lib",
  "compilerOptions": {
    // ...
  }
}
```
## License

MIT
npm package: @karate-combat/api
Description: Karate Combat API Client
Author: Sensei Organization
Latest version: 2.3.2

# Karate Combat Public API client

A zero dependency client for retrieving content from [Karate Combat Public API](https://karate.com/docs)

## Installation

Node 18 or above is required.

```shell
npm i @karate-combat/api
```

```shell
yarn add @karate-combat/api
```

## Usage

```typescript
import { getFightEvent } from '@karate-combat/api'
// or
import * as kumite from '@karate-combat/api' // kumite.getFightEvent()
// or
const dojo = require('@karate-combat/api')
```

## Examples

```typescript
const kc44 = await getFightEventBySlug('kc44')

const luizRocha = await getFighter('74EHYTnT6xMJ6EXk8Z7cra')

const results = await getFightEventResults('5dKKpZKGDPcgxbeGNJQ1fH')
```
npm package: @karbon14/whitepaper
Description: Karbon14 Whitepaper
Latest version: 1.6.1

# Karbon14 Whitepaper

[![Build Status](https://travis-ci.org/karbon14/whitepaper.svg?branch=master)](https://travis-ci.org/karbon14/whitepaper) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release) [![npm](https://img.shields.io/npm/v/@karbon14/whitepaper.svg?maxAge=3600)](https://www.npmjs.com/package/@karbon14/whitepaper)


## Team
[![Natanael Zalazar](https://avatars.githubusercontent.com/u/11928153?s=64)](https://github.com/zalazarnatanael)  |
[![Jose Luis Casella](https://avatars2.githubusercontent.com/u/23145933?s=64)](https://github.com/visionk14) |
[![Walter Zalazar](https://avatars3.githubusercontent.com/u/5795257?s=64)](https://github.com/wolverinek14) |
|---|---|---|
Natanael Zalazar | Jose Luis Casella | Walter Zalazar |
:octocat:[@zalazarnatanael](https://github.com/zalazarnatanael) | :octocat:[@visionk14](https://github.com/visionk14) | :octocat:[@wolverinek14](https://github.com/wolverinek14) |


## License
[MIT](https://github.com/karbon14/whitepaper/blob/master/.github/LICENSE)
npm package: @karbonjs/api
Description: Type-safe API client for Karbon backends with SSR and client support
Latest version: 0.3.8

# @karbonjs/api

Type-safe API client for Karbon backends. Supports both **server-side** (SSR) and **client-side** with automatic token refresh.

## Install

```bash
npm install @karbonjs/api @karbonjs/types
```

## Server-side (SSR)

For SvelteKit `load` functions, Next.js `getServerSideProps`, or any Node.js server code.

```typescript
import { createServerApi } from '@karbonjs/api/server'

const callApi = createServerApi('http://localhost:3005/api/v1')

// In a SvelteKit load function
export async function load() {
  const articles = await callApi('/articles?per_page=10')
  return { articles: articles.data }
}

// With authentication
const user = await callApi('/account/profile', {
  token: 'jwt-token-here'
})
```

## Client-side

For browser-side API calls with automatic 401 retry via refresh tokens.

```typescript
import { createClientApi } from '@karbonjs/api'

const api = createClientApi({
  baseUrl: '/api/v1',
  getToken: () => localStorage.getItem('token'),
  refreshToken: async () => {
    const res = await fetch('/auth/refresh', { method: 'POST' })
    const data = await res.json()
    localStorage.setItem('token', data.token)
    return data.token
  },
  onAuthFailure: () => {
    window.location.href = '/login'
  },
})

// Auto-refreshes token on 401 (max 3 retries, then calls onAuthFailure)
const articles = await api('/articles')
```

## API Proxy (SvelteKit)

```typescript
import { createProxy } from '@karbonjs/api/server'

export const { GET, POST, PUT, PATCH, DELETE } = createProxy({
  backend: 'http://localhost:8080',
  prefix: '/api',
  csrf: true,
  rateLimit: { '*': { max: 200, windowSec: 60 } },
})
```

Security: path sanitization, CSRF strict origin check, X-Forwarded-For sanitization, rate limiting, body size limit.

## Options

```typescript
await callApi('/articles', {
  method: 'POST',
  body: { title: 'New article' },
  token: 'bearer-token',
  headers: { 'X-Custom': 'value' },
  timeout: 5000,  // ms, default 15000
})
```

## License

MIT
npm package: @karbonjs/auth
Description: Authentication helpers for Karbon — token management, user cache, hooks
Latest version: 0.3.8

# @karbonjs/auth

Authentication helpers for Karbon — token management, user cache, and role hierarchy. Pure TypeScript, framework-agnostic.

## Install

```bash
npm install @karbonjs/auth @karbonjs/types
```

## User Cache (SSR)

Prevents hammering your `/profile` endpoint on every SSR request.

```typescript
import { createUserCache } from '@karbonjs/auth'

const userCache = createUserCache({
  ttl: 120_000,   // 2 minutes
  maxSize: 500,    // max cached users
})

// In your SSR hook
let user = userCache.get(token)
if (!user) {
  user = await fetchProfile(token)
  if (user) userCache.set(token, user)
}
```

## Token Manager

Server-side token refresh with deduplication (prevents multiple concurrent refresh requests).

```typescript
import { createTokenManager } from '@karbonjs/auth'

const tokenManager = createTokenManager({
  apiUrl: 'http://localhost:3005/api/v1',
  refreshEndpoint: '/auth/refresh',
  onRefresh: (tokens) => {
    cookies.set('token', tokens.token)
    cookies.set('refresh_token', tokens.refreshToken)
  },
  onExpired: () => {
    cookies.delete('token')
  },
})

const newTokens = await tokenManager.refresh(refreshToken, sessionId)
```

Features: AbortController timeout, concurrent dedup, JWT structure validation.

### User Cache

Collision-resistant 64-bit token hashing, LRU eviction, TTL expiration, `destroy()` for cleanup.

## Role Hierarchy

Check roles with inheritance support.

```typescript
import { hasRole, isAdmin, highestRole } from '@karbonjs/auth'

const hierarchy = {
  'ROLE_SUPER_ADMIN': ['ROLE_ADMIN'],
  'ROLE_ADMIN': ['ROLE_EDITOR'],
  'ROLE_EDITOR': ['ROLE_USER'],
  'ROLE_USER': [],
}

hasRole(['ROLE_ADMIN'], 'ROLE_USER', hierarchy)   // true (inherits)
hasRole(['ROLE_USER'], 'ROLE_ADMIN', hierarchy)    // false
isAdmin(['ROLE_SUPER_ADMIN'], hierarchy)           // true
highestRole(['ROLE_USER', 'ROLE_ADMIN'], hierarchy) // "ROLE_ADMIN"
```

## License

MIT
npm package: @karbonjs/types
Description: Shared TypeScript types for Karbon API responses
Latest version: 0.3.8

# @karbonjs/types

Shared TypeScript types for Karbon API responses. Used by `@karbonjs/api` and your application code.

## Install

```bash
npm install @karbonjs/types
```

## Types

```typescript
import type { ApiList, ApiResult, ApiError, ApiCallOptions, BaseContent, AuthUser, PaginationParams } from '@karbonjs/types'

// Paginated API response
const res: ApiList<Article> = await callApi('/articles')
res.data        // Article[]
res.meta.total  // number
res.meta.page   // number

// Base content fields (common to all CMS content types)
interface Article extends BaseContent {
  body: string
  bodyShort: string
}

// Auth user
const user: AuthUser = {
  id: 1,
  username: 'admin',
  email: 'admin@example.com',
  roles: ['ROLE_ADMIN'],
}
```

## License

MIT
npm package: @karbonjs/ui-core
Description: Shared design tokens, CSS, and types for Karbon UI components
Latest version: 0.3.8

# @karbonjs/ui-core

Shared design tokens, CSS variables, and TypeScript prop types for Karbon UI components.

This package is used internally by `@karbonjs/ui-svelte` and `@karbonjs/ui-react`. You generally don't need to install it directly — it's pulled in automatically as a dependency.

## Install

```bash
npm install @karbonjs/ui-core
```

## Design Tokens (CSS)

```css
@import '@karbonjs/ui-core/css';

/* Available variables */
button {
  border-radius: var(--karbon-radius-md);
  font-family: var(--karbon-font-sans);
  transition: all var(--karbon-transition);
}
```

## Component Prop Types

```typescript
import type { ButtonProps, BadgeProps, AlertProps, ModalProps, PaginationProps } from '@karbonjs/ui-core'

// Use in your own component implementations
const props: ButtonProps = {
  variant: 'primary',
  size: 'md',
  loading: false,
}
```

## License

MIT
npm package: @karbonn/foreman
Description: Foreman is usefull to list and compare npm dependencies accross multiple repositories. Feed foreman with your projects, it will list project by project common dependencies, and their respective version.
Author: Aymeric Aveline
Latest version: 1.0.0

## Why

Foreman is usefull to list and compare npm dependencies accross multiple repositories. Feed foreman with your projects, it will list project by project common dependencies, and their respective version.

## Installation

`npm i -g @karbonn/foreman`

## How to use

- Declare a json file (your-file.json):
  `{ "project-a": "/path/to/project-a", "project-b": "/path/to/project-b" }`

- Run Foreman:
  `foreman -f /path/your-file.json`
npm package: @karcass/cli
Description: CLI for karcass skeleton which helps to build simple CLI interfaces
Author: Valeriy Shibanov
Latest version: 0.0.3

# @karcass/cli

CLI for <a href="https://github.com/karcass-ts/karcass">karcass</a> skeleton which helps to build simple CLI interfaces

## Installation

```
npm install @karcass/cli
```

## Usage

With this code in `example.ts`:

```typescript
import { Cli, AbstractConsoleCommand } from '@karcass/cli'

const cli = new Cli()

class SomeCommand extends AbstractConsoleCommand {
    public static meta = { name: 'do:some', description: 'Does some action' }
    public async execute() {
        console.log('It\'s just work!')
    }
}
cli.add(SomeCommand, () => new SomeCommand())

cli.run()
```

Executing &nbsp;`ts-node example.ts`&nbsp; will print:

```
=== Available commands: ===
  --help   Show this help
  do:some  Does some action
```

And executing of &nbsp;`ts-node example.js do:some`&nbsp; will print:

```
It's just work!
```

Also you can turn off default --help command behaviour by turning off corresponding setting:

```
const cli = new Cli({ useDefaultHelpCommand: false })
```
npm package: @karcass/cli-service
Description: Cli service for karcass skeleton which helps to build simple CLI interfaces
Author: Valeriy Shibanov
Latest version: 0.0.7
Deprecated: @karcass/cli-service deprecated, please use @karcass/cli

# @karcass/cli-service

CLI service for <a href="https://github.com/karcass-ts/karcass">karcass</a> skeleton which helps to build simple CLI interfaces

## Installation

```
npm install @karcass/cli-service
```

## Usage

With this code in `example.ts`:

```typescript
import { CliService, AbstractConsoleCommand } from '@karcass/cli-service'

const cliService = new CliService()

class SomeCommand extends AbstractConsoleCommand {
    public static meta = { name: 'do:some', description: 'Does some action' }
    public async execute() {
        console.log('It\'s just work!')
    }
}

cliService.run()
```

Executing &nbsp;`ts-node example.ts`&nbsp; will print:

```
=== Available commands: ===
  --help   Show this help
  do:some  Does some action
```

And executing of &nbsp;`ts-node example.js do:some`&nbsp; will print:

```
It's just work!
```

Also you can turn off default --help command behaviour by turning off corresponding setting:

```
const cliService = new CliService({ useDefaultHelpCommand: false })
```
npm package: @karcass/migration-commands
Description: CliService commands for creation, doing and undoing TypeORM migrations
Author: Valeriy Shibanov
Latest version: 0.0.2

# @karcass/migration-commands

<a href="https://github.com/karcass-ts/cli-service">CliService</a> commands for creation, doing and undoing TypeORM migrations.
This commands included by default in <a href="https://github.com/karcass-ts/karcass">karcass</a>.

## Installation

```
npm install @karcass/migration-commands
```

## Usage

index.ts:

```typescript
import { CliService } from '@karcass/cli-service'
import { createConnection } from 'typeorm'
import { CreateMigrationCommand, MigrateCommand, MigrateUndoCommand } from '@karcass/migration-commands'

const cliService = new CliService()
const connection = await createConnection({
    type: 'sqlite',
    database: 'test/test.sqlite',
})
cliService.add(CreateMigrationCommand, () => new CreateMigrationCommand())
cliService.add(MigrateCommand, () => new MigrateCommand(connection))
cliService.add(MigrateUndoCommand, () => new MigrateUndoCommand(connection))

await cliService.run()
```

Output:

```
=== Available commands: ===
  --help                           Show this help
  migrations:generate <path/name>  Create migration with name from argument, e.g. migrations:generate MyBundle/Migrations/MyMigrationName
  migrations:migrate               Doing migrations
  migrations:migrate:undo          Reverts last migration
```

So running `ts-node index.ts migrations:generate test/MyMigration` will create a file with name like `test/1577032764-MyMigration.ts` and contents like:

```typescript
import { MigrationInterface, QueryRunner } from 'typeorm'

export default class MyMigration1577032764233 implements MigrationInterface {
    public async up(queryRunner: QueryRunner): Promise<any> {}

    public async down(queryRunner: QueryRunner): Promise<any> {}
}
```

Command `ts-node index.ts migrations:migrate` will apply all non-applied migrations.

Command `ts-noed index.ts migrations:migrate:undo` reverts one last migrated migration.

More about migrations in TypeORM you can read <a href="https://github.com/typeorm/typeorm/blob/master/docs/migrations.md">here</a>.
npm package: @karcass/template-reducer
Description: Abstract base class for template reducing according to user preferences
Author: Valeriy Shibanov
Latest version: 0.0.21

# @karcass/template-reducer

Base abstract class for TemplateReducer, which used by <a href="https://github.com/karcass-ts/karcass">karcass</a> templates for telling
to installation process how template should be changed corresponding user config.

## Example

See https://github.com/karcass-ts/template/blob/master/TemplateReducer.ts for example
npm package: @kard/esfix
Description: Eslint CLI default configuration and fix utility.
Author: Dmitriy Karmalita
Latest version: 1.0.2

# Esfix

[![Build Status](https://travis-ci.org/dkarmalita/esfix.svg?branch=master)](https://travis-ci.org/dkarmalita/esfix)
[![codecov](https://codecov.io/gh/dkarmalita/esfix/branch/master/graph/badge.svg)](https://codecov.io/gh/dkarmalita/esfix)

**Table of Content**

<!-- MarkdownTOC -->

- [Installation](#installation)
- [Configuration exaple](#configuration-exaple)
- [Command line options](#command-line-options)
- [Troubleshooting](#troubleshooting)
  - [Different indent sizes](#different-indent-sizes)

<!-- /MarkdownTOC -->

## Installation

`npm i --dev @kard/esfix`

Or with yarn

`yarn add --dev @kard/esfix`

## Configuration exaple

In the `package.json`:

```
  "scripts": {
    "esfix": "esfix"
  },
  "eslintConfig": {
    "files": [ "src/**/*.js", "src/**/*.jsx" ],
    "fix": true
  }
```

Notes:
* The `eslintConfig` section can be used to rewrite all of the eslint options. Please refer to the [Configuration File Formats](https://eslint.org/docs/user-guide/configuring#configuration-file-formats) and [Rules](https://eslint.org/docs/rules/) pages of eslint documentation.

## Command line options

`--nolocals` - Ignore any local configurations of the analyzed projects. Whet this key is presents, the only internal configuration of the package is using.

`--dryrun` - No fixes are carried out linting is performed and all of its messages are shown. It's like to run eslint without `--fix`.

`--showconfig` - Show summarized config. No checks or fixes are carried out in this case.

## Troubleshooting

### Different indent sizes

It is especially painful when only indent is rewritten in a separate file (for instance: the main configuration is inside `.eslintrc.json` while rewrite is placed inside `package.json`)

**Error pattern**
```
error: Expected indentation of ... space characters but found ... (react/jsx-indent-props) at ...

...

11 errors and 1 warning found.
11 errors potentially fixable with the `--fix` option.
```

**Solution**: make sure that these rules are in sync.
```
  "rules": {
    "indent": ["error", 2],
    "react/jsx-indent": [ "error", 2 ],
    "react/jsx-indent-props": [ "error", 2 ]
  }
```
npm package: @kard/webpack-config
Description: `npm i --dev @kard/webpack-config`
Author: Dmitriy Karmalita
Latest version: 2.0.1

## Installation

`npm i --dev @kard/webpack-config`

Or with yarn

`yarn add --dev @kard/webpack-config`

## Configuration exaple

In the `package.json`:

```
  "scripts": {
    "build": "wp-build",
    "serve": "wp-serve"
  },
  "webpack": {
    "source": "src",
    "static": "static",
    "build": "dist",
    "html": "src/index.ejs",
    "main": "src/app.js",
    "devport": "3000",
    "alias": {
        "@Services": "src/services"
    }
  },
```


## Module resolving

According to the setup, you can either refer your modules relative to the source root or define alias object in the package.json of our project. For a case of the setup example above, both references to the `services` are equivalent:
```js
import { preloader } from '@Services'
import { preloader } from 'services'
```

## Valid Example

__index.ejs__
```html
<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
    <link rel="icon" href="/favicon.ico?v=<%= htmlWebpackPlugin.options.favid %>">
    <title><%= htmlWebpackPlugin.options.pkg.name %></title>
    <base href="<%= htmlWebpackPlugin.options.publicPath %>">
    <!--link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css"-->
  </head>
  <body>
    <div id='root'>Loading...</div>
  </body>
</html>
```
npm package: @kardiachain/eslint-config
Description: Eslint config for Kardiachain's FrontEnd Apps
Author: RabbitDoge
Latest version: 1.0.0

# eslint-config-pancake

Pancake Eslint config with:

- Airbnb config
- Typescript
- Prettier

## Usage

```
npx install-peerdeps --dev @pancakeswap/eslint-config-pancake
```

Add `"extends": "@pancakeswap/eslint-config-pancake"` to your eslint config file.
npm package: @kardiachain/kaidex-swap-sdk
Description: 🛠 An SDK for building applications on top of KaidexSwap.
Author: KardiaChain
Latest version: 1.0.3

# KaiDexswap SDK

Forked from the [Uniswap SDK](https://github.com/Uniswap/uniswap-v2-sdk/commit/a88048e9c4198a5bdaea00883ca00c8c8e582605).

You can refer to the Uniswap SDK documentation [uniswap.org](https://uniswap.org/docs/v2/SDK/getting-started/).

## Running tests

To run the tests, follow these steps. You must have at least node v10 and [yarn](https://yarnpkg.com/) installed.

First clone the repository:

```sh
git clone https://github.com/kardiachain/kaidex-swap-sdk.git
```

Move into the KaiDexswap-sdk working directory

```sh
cd kaidex-swap-sdk/
```

Install dependencies

```sh
yarn install
```

Run tests

```sh
yarn test
```

You should see output like the following:

```sh
yarn run v1.22.4
$ tsdx test
 PASS  test/constants.test.ts
 PASS  test/pair.test.ts
 PASS  test/fraction.test.ts
 PASS  test/miscellaneous.test.ts
 PASS  test/entities.test.ts
 PASS  test/trade.test.ts

Test Suites: 1 skipped, 6 passed, 6 of 7 total
Tests:       3 skipped, 82 passed, 85 total
Snapshots:   0 total
Time:        5.091s
Ran all test suites.
✨  Done in 6.61s.
```
npm package: @kardo-dev/cli
Description: AI-Readiness score for your Git project
Latest version: 0.1.1

# @kardo-dev/cli

> AI-Readiness score for your Git project in 10 seconds.

## Usage

```bash
# Run without installing
npx @kardo-dev/cli

# Install globally
npm install -g @kardo-dev/cli
kardo
```

## Options

```
kardo [PATH] [OPTIONS]

Arguments:
  [PATH]  Path to project directory [default: .]

Options:
  --format <FORMAT>    Output format: summary, detailed, json, badge [default: summary]
  --threshold <N>      Exit code 2 if score below N (0-100)
  --verbose, -v        Show per-file details
  --no-interactive     Non-interactive mode (CI)

Subcommands:
  fix   Auto-fix scaffold issues (creates missing CLAUDE.md, README.md)
  init  Generate a kardo.toml config file
```

## License

Apache-2.0
npm package: @kardoe/better-auth-combo-auth
Description: Combo authentication (magic link + OTP) utility for Better Auth with AWS SES
Author: Quickback
Latest version: 1.0.1

# @kardoe/better-auth-combo-auth

Combo authentication utility for Better Auth - sends both magic link AND OTP code in a single email.

## Installation

```bash
npm install @kardoe/better-auth-combo-auth @kardoe/better-auth-aws-ses
# or
pnpm add @kardoe/better-auth-combo-auth @kardoe/better-auth-aws-ses
```

## Usage

This package provides a `sendVerificationOTP` callback that wraps Better Auth's emailOTP plugin to send combo auth emails (magic link + OTP).

```typescript
import { betterAuth } from "better-auth";
import { emailOTP } from "better-auth/plugins";
import { awsSESPlugin } from "@kardoe/better-auth-aws-ses";
import { createComboAuthSendVerificationOTP } from "@kardoe/better-auth-combo-auth";

const sesConfig = {
  region: process.env.AWS_SES_REGION!,
  accessKeyId: process.env.AWS_ACCESS_KEY_ID!,
  secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY!,
  fromEmail: process.env.EMAIL_FROM!,
  fromName: process.env.EMAIL_FROM_NAME!,
  appName: "My App",
  appUrl: "https://myapp.com",
  useComboAuthEmail: true,
};

export const auth = betterAuth({
  // ... your config
  plugins: [
    awsSESPlugin(sesConfig),
    emailOTP({
      sendVerificationOTP: createComboAuthSendVerificationOTP({
        sesConfig,
        baseUrl: "https://myapp.com",
        defaultCallback: "/dashboard",
        welcomeRoute: "/welcome",
        emailOTPRoute: "/verify",
      }),
    }),
  ],
});
```

## How It Works

When a user requests an OTP (for sign-in or email verification), instead of just sending an OTP code, this utility sends an email containing:

1. **Magic Link** - A clickable link that auto-submits the OTP
2. **OTP Code** - The code that can be manually entered

The magic link encodes the OTP, email, and callback URL in a base64 payload, allowing the frontend to auto-verify the user when they click the link.

## Options

| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `sesConfig` | `SESConfig` | required | AWS SES configuration |
| `baseUrl` | `string` | required | Base URL of your application |
| `defaultCallback` | `string` | `"/profile"` | URL to redirect after authentication |
| `welcomeRoute` | `string` | `"/welcome"` | Route for signup/welcome flow |
| `emailOTPRoute` | `string` | `"/email-otp"` | Route for email OTP verification |

## License

MIT
npm package: @kardoe/better-auth-upgrade-anonymous
Description: Upgrade anonymous users to full users - Better Auth plugin
Author: Quickback
Latest version: 1.1.1

# @kardoe/better-auth-upgrade-anonymous

Upgrade anonymous users to full users - a Better Auth plugin.

## Installation

```bash
npm install @kardoe/better-auth-upgrade-anonymous
# or
pnpm add @kardoe/better-auth-upgrade-anonymous
```

## Usage

### Server

```typescript
import { betterAuth } from "better-auth";
import { upgradeAnonymous } from "@kardoe/better-auth-upgrade-anonymous";

export const auth = betterAuth({
  // ... your config
  plugins: [
    upgradeAnonymous(),
  ],
});
```

### Client

```typescript
import { createAuthClient } from "better-auth/client";
import { upgradeAnonymousClient } from "@kardoe/better-auth-upgrade-anonymous/client";

export const authClient = createAuthClient({
  plugins: [
    upgradeAnonymousClient(),
  ],
});

// Upgrade an anonymous user
await authClient.upgradeAnonymous();
```

## API

### `POST /auth/v1/upgrade-anonymous`

Upgrades the current anonymous user to a full user by setting `isAnonymous: false`.

**Requires authentication.**

**Response:**
```json
{
  "success": true,
  "user": { ... },
  "session": { ... }
}
```

## License

MIT
npm package: @kards-stats/kards-tools
Description: Tools for interacting with the kards backend as well as utils used across Kards Stats
Author: KlutzyBubbles
Latest version: 0.4.6-alpha

[![codecov](https://codecov.io/gh/Kards-Stats/kards-tools/branch/main/graph/badge.svg?token=R1K3WAXVT0)](https://codecov.io/gh/Kards-Stats/kards-tools)
[![Version](https://img.shields.io/github/package-json/v/Kards-Stats/kards-tools?color=blue&label=Master%20Version)](https://github.com/Kards-Stats/kards-tools/blob/main/package.json)
[![NPM Version](https://img.shields.io/npm/v/@kards-stats/kards-tools?color=blue&label=NPM%20Version)](https://github.com/Kards-Stats/kards-tools/blob/main/package.json)
[![Node Version](https://img.shields.io/node/v/@kards-stats/kards-tools?label=Node%20Version)](https://github.com/Kards-Stats/kards-tools/blob/main/package.json)
[![Requirements Status](https://requires.io/github/Kards-Stats/kards-tools/requirements.svg?branch=main)](https://requires.io/github/Kards-Stats/kards-tools/requirements/?branch=main)
[![DeepScan grade](https://deepscan.io/api/teams/14943/projects/18070/branches/432262/badge/grade.svg)](https://deepscan.io/dashboard#view=project&tid=14943&pid=18070&bid=432262)

# kards-tools
Library used for interacting with the kards backend

Includes other library functions that are used by multiple kards-stats projects

## Cloning
After cloning the repo, apart from the normal ```npm i```, it is required to run ```npm run dev:generate``` and is advised to also run ```npm run clean```

## Usage
Development is changing the way this module works, check tests and source code to see how it is used in its current form. Sorry :/

## Testing
Due to the nature of this project and the fact that this project uses un-documented API routes, the released package will never be garaunteed stable.

These tests use sensative information (usernames and passwords to log into kards), these have been placed in json files with example json files published to git.

To run the tests, simply rename all *.example.json to *.json and fill in any information, then run ```npm run test``` which will clean and build then test.

## Versioning
All NPM release source can be found in the releases section.

Pre v1 (0.x.x-alpha) Alpha releases do NOT follow semantic versioning instead of <major>.<minor>.<patch> they follow 0.<major>.<minor> as functionality was changing during development

## Commiting
This repo along with all kards-stats active repos use ```standard``` or ```ts-standard``` to format files. Please follow it.
npm package: @kardysm/react-native-youtube-iframe
Description: A simple wrapper around the youtube iframe js API for react native
Author: Ananthu P Kanive
Latest version: 1.3.3

# React Native Youtube iframe

![npm](https://img.shields.io/npm/v/react-native-youtube-iframe?style=for-the-badge) ![npm](https://img.shields.io/npm/dm/react-native-youtube-iframe?style=for-the-badge)

A wrapper of the Youtube IFrame player API build for react native.

- ✅ Works seamlessly on both ios and android platforms
- ✅ Does not rely on the native youtube service on android (prevents unexpected crashes, works on phones without the youtube app)
- ✅ Uses the webview player which is known to be more stable compared to the native youtube app
- ✅ Access to a vast API provided through the iframe youtube API
- ✅ Supports multiple youtube player instances in a single page
- ✅ Fetch basic video metadata without API keys (uses oEmbed)
- ✅ Works on modals and overlay components
- ✅ Expo support

![ios](./website/static/img/demo.gif?raw=true 'ios')

## Installation and Documentation

[react-native-youtube-iframe](https://lonelycpp.github.io/react-native-youtube-iframe/)

## Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

## License

[MIT](https://choosealicense.com/licenses/mit/)
npm package: @kare/eslint-config-nodejs
Description: Shared ESLint configuration for Kare's Node.js projects.
Author: Kare Nuorteva
Latest version: 0.0.2

# @kare/eslint-config-nodejs

[![CI](https://github.com/kare/eslint-config-nodejs/actions/workflows/ci.yaml/badge.svg)](https://github.com/kare/eslint-config-nodejs/actions/workflows/ci.yaml)
npm package: @kare/eslint-config-react
Description: Shared ESLint configuration for Kare's React projects.
Author: Kare Nuorteva
Latest version: 0.0.2

# @kare/eslint-config-react

[![CI](https://github.com/kare/eslint-config-react/actions/workflows/ci.yaml/badge.svg)](https://github.com/kare/eslint-config-react/actions/workflows/ci.yaml)
npm package: @kare/eslint-config-typescript
Description: Shared ESLint configuration for Kare's Typescript projects.
Author: Kare Nuorteva
Latest version: 0.0.4

# @kare/eslint-config-typescript

[![CI](https://github.com/kare/eslint-config-typescript/actions/workflows/ci.yaml/badge.svg)](https://github.com/kare/eslint-config-typescript/actions/workflows/ci.yaml)
npm package: @kareapp/prettier-config
Description: Kare App Organization Prettier config
Author: Sid Pagariya
Latest version: 1.0.0

# `@kareapp/prettier-config`

> Kare App Organization [Prettier](https://prettier.io) config.

## Usage

**Install**:

```bash
$ yarn add --dev @kareapp/prettier-config
```

**Edit `package.json`**:

```jsonc
{
  // ...
  "prettier": "@kareapp/prettier-config"
}
```
npm package: @karedo-hq/agents
Description: Centralized agent skills, rules, and commands for our engineering team
Author: Karedo
Latest version: 0.2.0

# @karedo-hq/agents

Centralized agent skills, rules, and commands for our engineering team. Install shared configurations for AI-powered IDEs like Cursor, Claude Code, and more.

## Installation

```bash
# Using pnpm
pnpm dlx @karedo-hq/agents install --target cursor

# Or install globally
pnpm add -g @karedo-hq/agents
agents install --target cursor
```

## Usage

### Install Configurations

Install agent configurations to your current project:

```bash
agents install --target <ide>
```

**Options:**

- `-t, --target <ide>` - Target IDE (required). Currently supported: `cursor`
- `-f, --force` - Overwrite existing files without prompting

**Examples:**

```bash
# Install Cursor configurations
agents install --target cursor

# Force overwrite existing files
agents install --target cursor --force
```

## Updating

When rules or commands are updated, developers can get the latest version:

```bash
# Get latest from npm
pnpm dlx @karedo-hq/agents@latest install --target cursor --force

# Or directly from GitHub (always pulls latest main)
pnpm dlx github:karedo-hq/agents install --target cursor --force
```

The `--force` flag overwrites existing files with the new versions.

## Supported Targets

| Target   | Description                              | Output Directory |
| -------- | ---------------------------------------- | ---------------- |
| `cursor` | Cursor IDE rules and commands            | `.cursor/`       |

## What Gets Installed

### Rules

Rules provide guidelines and best practices for your codebase:

- **TypeScript** - General TypeScript coding standards
- **API (Backend)**
  - Controllers, DTOs, Services
  - MongoDB schemas, NestJS patterns
  - Email templates, Tiptap templates
- **Web (Frontend)**
  - Next.js guidelines, API layer patterns
  - Page creation, table implementation
  - Responsive dialog/drawer patterns

### Commands

Commands are reusable workflows for common tasks:

- **commit** - Commit current work with conventional commits
- **create-pr** - Create a pull request with proper formatting
- **deslop** - Remove AI-generated code slop
- **release** - Automate the release process

## Development

```bash
# Install dependencies
pnpm install

# Build
pnpm build

# Watch mode
pnpm dev

# Type check
pnpm typecheck
```

## Adding New Rules or Commands

1. Add your rule file to `rules/` (use `.mdc` extension for Cursor compatibility)
2. Add your command file to `commands/` (use `.md` extension)
3. Bump version in `package.json`
4. Commit and push to GitHub
5. Publish: `pnpm publish --access public`

## Adding New IDE Targets

1. Create a new handler in `src/targets/<ide-name>.ts`
2. Register it in `src/targets/index.ts`
3. Implement the `install` function that maps `rules/` and `commands/` to the IDE's expected location

## License

MIT
npm package: @kareemaly/researcher
Description: CLI tool for web research
Author: Kareem El Bahrawy
Latest version: 0.2.0

# Researcher CLI

A command-line tool for web research that uses SearchAPI.io to search the web and process results.

## Features

- Search the web with different search types (web, news)
- Location-based search
- Process and store search results
- Convert web content to Markdown
- List and view saved searches
- Clean up old searches

## Installation

1. Clone the repository
2. Install dependencies:
```bash
npm install
```
3. Build the project:
```bash
npm run build
```
4. Link the CLI:
```bash
npm link
```

## Configuration

Create a `.env` file in the project root with your SearchAPI.io credentials:

```env
SEARCH_API_KEY=your_api_key
SEARCH_API_ENDPOINT=https://api.searchapi.io/api/v1/search
```

## Usage

### Search
```bash
# Basic web search
researcher search "your query"

# News search
researcher search "your query" --type news

# Location-based search
researcher search "restaurants" --location "New York, United States"

# Limit results
researcher search "your query" --limit 10
```

### View Results
```bash
# List all searches
researcher list

# Show search details
researcher show <search-id>

# Show search details with processed content
researcher show <search-id> --content
```

### Clean Up
```bash
# Remove searches older than 30 days
researcher clean

# Remove searches older than N days
researcher clean --older-than 7

# Remove all searches
researcher clean --all
```

### Options
- `-o, --output <dir>` - Set output directory (default: "research")
- `-v, --verbose` - Enable verbose logging

## Development

```bash
# Run in development mode
npm run dev

# Run type checking
npm run validate

# Run linting
npm run lint

# Run tests
npm run test
```
npm package: @kareemkermad/monacopilot
Description: AI auto-completion plugin for Monaco Editor
Author: Kareem Kermad
Latest version: 0.0.0

![Monacopilot Banner](https://monacopilot.dev/og.png)

### Features

- 🔄 Real-time Code Completions
- ⚡️ Efficient Caching System
- 🎨 Context-Aware Suggestions
- 🛠️ Customizable Completion Behavior
- 📦 Framework Agnostic
- 🔌 Custom Model Support
- 🎮 Manual Trigger Support

### Demo

[Inline Completions Demo Video](https://github.com/user-attachments/assets/f2ec4ae1-f658-4002-af9c-c6b1bbad70d9)

## Documentation

Go to the [documentation](https://monacopilot.dev) to get started with Monacopilot.

## Contributing

For guidelines on contributing, please read the [contributing guide](https://github.com/kareemkermad/monacopilot/blob/main/CONTRIBUTING.md).

We welcome contributions from the community to enhance Monacopilot's capabilities and make it even more powerful. ❤️
npm package: @karenjgc/tiny
Description: Estilos base, estilos colores, estilos botones
Latest version: 3.1.4

# tiny

Tiny npm to add the following dependencies on Angular:
- Bootstrap
- Fontawesome

Also includes two scss file with classes and colors that my team (delfinosos🐬) and I normally use <3

## Install

```
$ npm install @karenjgc/tiny
```
Add on your styles.scss file the following line:

@import '~@karenjgc/tiny/scss/style.scss'

## Fontawesome

Add on your angular.json file on the "scripts" section the following line:

"node_modules/@fortawesome/fontawesome-free/js/all.js" 

## Bootstrap

Add on your styles.scss file the following line:

@import '~bootstrap/scss/bootstrap'
npm package: @karesztrk/webcomponent-base
Description: My own Base class for all my Web Components. There are two versions: light and shadow.
Latest version: 1.1.1

# Web Component

My own Base class for all my Web Components. There are two versions: light and shadow.

## How to use

### Light component

Use if you want to encapsulate your logic within a special section of the HTML document.

```js
class YourComponent extends LightElement {
  static {
    this.register("your-component", YourComponent);
  }

  render() {
    // Regular DOM manipulation here here 😐
  }
}
```

### Shadow component

Useful if you want to encapsulate and completely detach your logic from the document. Neither the cascade, nor any other component will access it.

```js
class YourComponent extends ShadowElement {
  static {
    this.register("your-component", YourComponent);
  }

  render() {
    return "<div>👋 from the Shadow DOM</div>";
  }
}
```

## References

- https://developer.mozilla.org/en-US/docs/Web/API/Web_components