open-index/open-npm huggingface dataset:
npm package: @lekko/eslint-plugin
Description: Eslint plugin for Lekko + TypeScript
Latest version: 0.0.4

# @lekko/eslint-plugin

The Lekko eslint plugin provides warnings on syntax that is incompatible for Lekko config functions.

This plugin will continue to be updated to better match the list of supported/unsupported features.

## Installation

`npm i -D @lekko/eslint-plugin`

## Usage

New eslint configuration format:

```js
import lekko from "@lekko/eslint-plugin";

export default [
  {
    files: ["src/lekko/*.ts"],
    plugins: { lekko: lekko },
    rules: { "lekko/limitations": "error" },
  },
];
```

Legacy eslint configuration format:

```json
// .eslintrc.json
{
  "plugins": ["@lekko"],
  "overrides": [
    {
      "files": ["src/lekko/*.ts"],
      "rules": {
        "@lekko/limitations": "error"
      }
    }
  ]
}
```
npm package: @lekko/react-banner
Description: This is a dynamically configurable banner component/provider for your website powered by Lekko.
Latest version: 0.2.0

# @lekko/react-banner

This is a dynamically configurable banner component/provider for your website powered by Lekko.

The provider wraps the Lekko React SDK config provider under the hood, but you can use it alongside an existing provider in your app.

## Setup

### NextJS

The simplest way to get started with using this component in NextJS is to use the convenience initialization script which is available with this package.

```bash
npx lekko-banner-init-next
```

This will do a few things:

1. Generate some example functions that configure the banner's contents (in `lekko/plugins.ts`)
2. Create a client component wrapper that you can drop into your root layout (in `components/banner.tsx`)
3. Import some default styles and the wrapper component in the root layout

## Usage

### Config types

```typescript
export interface BannerConfig {
  /**
   * Main banner message
   */
  text?: string
  /**
   * If present, a call to action link will be rendered after the message.
   */
  cta?: {
    text?: string
    url?: string
    /**
     * Whether to open the link in a new tab
     */
    external?: boolean
  }
  /**
   * If set to true, the close button will not be rendered.
   */
  permanent?: boolean
}
```

```typescript
export interface BannerStyleConfig {
  /**
   * Targets the root <div> element.
   */
  className?: string
  /**
   * Targets the banner's text, rendered in a <p> element.
   */
  textClassName?: string
  /**
   * Targets the banner's CTA link, rendered in a <a> element.
   */
  ctaClassName?: string
  /**
   * Targets the banner's close button, rendered in a <button> element.
   */
  closeClassName?: string
}
```
npm package: @lekko/react-components
Description: ## Alert Banner
Latest version: 0.0.7-beta-9

# Lekko React Plugin Components

## Alert Banner

Usage:

1.  clone this repo into the same parent directory as the webapp
2.  run `yarn build` in the react-components folder
3.  add "@lekko/react-components": "file:../react-components" to your dependencies in package.json
4.  in App.tsx in the webapp project, change the routes to the following:

```
const router = createBrowserRouter(
    createRoutesFromElements(
            <Route element={<AlertBannerProvider settings={lekkoSettings} />}>
              ... all existing routes
            </Route>
    )
)
```

There are 2 ways to set global contexts

1. Set it with the setGlobalContext method from LekkoGlobalContext

```
const userLoggedInInfo = useRecoilValue(user)
const globalLekkoContext = getAuthenticatedContext(userLoggedInInfo)
const { setGlobalContext } = useContext(LekkoGlobalContext)
// this could also be an atom effect or based off of a user action
useEffect(() => {
    setGlobalContext(globalLekkoContext)
}, [userLoggedInInfo])
```

2. Through the intermediate provider

```
<LekkoIntermediateConfigProvider
            configRequests={AUTH_CONFIGS}
            globalContext={globalLekkoContext}>
...
</ LekkoIntermediateConfigProvider>
```

For local testing only: https://github.com/lekkodev/webapp/pull/442

The banner (we can update styling/effects):

<img width="1424" alt="Screen Shot 2024-02-15 at 3 51 21 AM" src="https://github.com/lekkodev/react-components/assets/116435/c52a43ff-fad6-4139-8e96-8deabc3e546c">

What happens for paths that are specified as blocked/down in the config:

<img width="1424" alt="Screen Shot 2024-02-15 at 3 52 01 AM" src="https://github.com/lekkodev/react-components/assets/116435/49b932a3-c997-4f73-a667-ef5ea61bf17c">

## Dynamic Logging

TODO
npm package: @lekko/vite-plugin
Description: Vite plugin for working with Lekko configs in TypeScript
Latest version: 0.2.1-beta.1

# @lekko/vite-plugin

The Lekko Vite plugin allows you to set up build-time code transformation to enable lekkos in your Vite projects.

With this plugin, you can write your lekkos as pure functions, which are transformed at build time to code that connects to Lekko's services to serve the latest dynamic values with static fallback built in.

## Requirements

- Vite >= 4
- TypeScript

## Usage

Add this plugin to your `vite.config.js` config. The `lekko()` call should come last in the list of plugins.

Example for a React project:

```js showLineNumbers
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import lekko from "@lekko/vite-plugin";

export default defineConfig({
  plugins: [react(), lekko()],
  ...
})
```

## Environment variables

To connect your project to Lekko's services when building (e.g. when deploying), pass the `VITE_LEKKO_API_KEY` environment variable.

You can generate API keys for your team on the Lekko [web UI](https://app.lekko.com) by clicking on your team in the top navigation bar -> Admin tab -> API keys.

## Options

### `verbose` (optional)

Enables verbose logging for debugging purposes.
Defaults to false.

```js showLineNumbers
lekko({ verbose: true });
```
npm package: @lekko/webpack-loader
Description: This package contains Lekko's Webpack plugin for TypeScript projects bundled using Webpack.
Latest version: 0.2.1-beta.1

# @lekko/webpack-loader

This package contains Lekko's Webpack plugin for TypeScript projects bundled using Webpack.

These build tools transform your locally defined TypeScript config functions under `lekko/` into code that can communicate with Lekko and serve up-to-date dynamically configured values.

## Installation

### NPM

```
npm install -D @lekko/webpack-loader
```

### Yarn

```
yarn add -D @lekko/webpack-loader
```

### Lekko CLI

This package depends on the Lekko CLI for local development. Installing it and setting up an account will make sure your project can communicate with Lekko's services for dynamic configuration correctly.

```
brew tap lekkodev/lekko
brew install lekko

lekko setup
```

## Usage

This package has 2 main parts, the loader and the plugin:

- The loader is responsible for:
  - Transforming code under `lekko/` at build time
  - Translating config functions defined in TypeScript to a cross-language DSL, stored locally on the filesystem to be pushed to remote
- The plugin is responsible for:
  - Emitting Lekko-specific environment variables for running your project in production mode
    - Lekko's SDK clients will automatically read these environment variables

> [!NOTE]
> You only want the loader and plugin to run for **production builds**. Make sure that you add them to your production webpack configs.

Example: In your `webpack.prod.config.js`:

```typescript
const lekko = require("@lekko/webpack-loader");

...

module.exports = {
  ...
  plugins: [
    // Pass the appropriate env var `prefix` so that Lekko env vars will be picked up
    new lekko.LekkoPlugin({ prefix: "REACT_APP_" }),
  ]
}
```
npm package: @lekman/n8n-local-deploy
Description: One-command installer for n8n workflow automation with GAMP5 IQ/OQ validation
Author: Tobias Lekman
Latest version: 0.5.5

# n8n Local Installer

One-command installer for n8n workflow automation on macOS with OrbStack/Docker and Cloudflare Tunnel.

## Requirements

- [Bun](https://bun.sh) 1.0+
- [OrbStack](https://orbstack.dev) or Docker Desktop
- Cloudflare account with a domain

## 1. Create Cloudflare API Token

1. Go to [Cloudflare Dashboard](https://dash.cloudflare.com) → **My Profile** → **API Tokens**
2. Click **Create Token** → **Create Custom Token**
3. Set permissions:
   - **Zone / Zone / Read**
   - **Zone / DNS / Edit**
   - **Account / Cloudflare Tunnel / Edit**
4. Set zone resources to your domain
5. Copy the token (shown only once)

## 2. Install n8n

```bash
bunx @lekman/n8n-local-deploy install
```

The installer prompts for your Cloudflare token, domain, and subdomain.

**Non-interactive:**
```bash
CLOUDFLARE_API_TOKEN=your_token bunx @lekman/n8n-local-deploy install --domain example.com --subdomain n8n
```

After installation, access n8n at **https://your-subdomain.your-domain.com**

## Commands

```bash
bunx @lekman/n8n-local-deploy install    # Install with Cloudflare Tunnel
bunx @lekman/n8n-local-deploy status     # Check status
bunx @lekman/n8n-local-deploy uninstall  # Uninstall
```

## Options

| Option | Description |
|--------|-------------|
| `--force` | Force reinstall |
| `--domain <domain>` | Cloudflare domain |
| `--subdomain <name>` | Subdomain for n8n |
| `--yes` | Auto-accept prompts |

## Always-On Server (Optional)

If you're running n8n on a Mac that should stay awake 24/7, disable sleep and Power Nap to prevent containers from being suspended:

```bash
sudo pmset -c sleep 0 standby 0 powernap 0 disksleep 0
```

Verify settings with `pmset -g`. The values should show `0` for each.

## License

MIT
npm package: @lekoarts/clerk-loader
Description: Astro content loader for Clerk
Author: LekoArts
Latest version: 1.0.6

# Astro Clerk loader

This package provides a [Clerk](https://clerk.com) content loader for Astro's [content layer](https://docs.astro.build/en/guides/content-collections/). You can access a selection of Clerk Backend APIs by simply providing the method name.

**Want to see an overview of all my loaders? Visit [astro-loaders.lekoarts.de](https://astro-loaders.lekoarts.de) ✨**

<!-- automd:badges license -->

[![npm version](https://img.shields.io/npm/v/@lekoarts/clerk-loader)](https://npmjs.com/package/@lekoarts/clerk-loader)
[![npm downloads](https://img.shields.io/npm/dm/@lekoarts/clerk-loader)](https://npm.chart.dev/@lekoarts/clerk-loader)
[![license](https://img.shields.io/github/license/LekoArts/astro-loaders)](https://github.com/LekoArts/astro-loaders/blob/main/LICENSE)

<!-- /automd -->

## Prerequisites

- Astro 5 or later installed
- An existing Clerk application. [Setup your Clerk account](https://clerk.com/docs/quickstarts/setup-clerk).

## Installation

<!-- automd:pm-install separate auto=false -->

```sh
# npm
npm install @lekoarts/clerk-loader
```

```sh
# yarn
yarn add @lekoarts/clerk-loader
```

```sh
# pnpm
pnpm install @lekoarts/clerk-loader
```

<!-- /automd -->

## Usage

Import `@lekoarts/clerk-loader` into `src/content.config.ts` and define your collections.

**Important:** You need to either define the Clerk Secret Key as an environment variable (`CLERK_SECRET_KEY`) or pass it as the `secretKey` option inside `clientOptions`.

```ts
import { clerkLoader } from '@lekoarts/clerk-loader'

const clerk = defineCollection({
  loader: clerkLoader({
    method: {
      name: 'users.getUserList',
    },
  }),
})
```

## Options

### `method` (required)

You **must** pass `method.name` to the loader. The available method names are generated through the [`PublicLoaderAPI`](https://github.com/LekoArts/astro-loaders/blob/main/packages/clerk/src/types.ts) and stored in dot notation (`api.method`).
If the endpoint takes parameters, you can define them through `method.options`.

Use your IDE's autocompletion to discover all available options and method names.

```ts
import { clerkLoader } from '@lekoarts/clerk-loader'

const clerk = defineCollection({
  loader: clerkLoader({
    method: {
      name: 'users.getUserList',
      options: {
        last_active_at_since: 1234567890,
      }
    },
  }),
})
```

### `clientOptions` (optional)

You can configure the underlying [`createClerkClient()`](https://clerk.com/docs/references/backend/overview#create-clerk-client-options) call by passing in these options.
npm package: @lekoarts/rehype-meta-as-attributes
Description: Pass MDX metadata as prop to React components
Author: LekoArts
Latest version: 3.0.3

# @lekoarts/rehype-meta-as-attributes

## Functionality

Adds code block meta to the `node.properties`.

````md
```js title=hello hightlight
const hello = "world";
```
````

Is turned into `title: "hello"` and `highlight: true`.

You can access those in e.g. React then in the `props` of `<pre>` tags.

## Install

```shell
npm install @lekoarts/rehype-meta-as-attributes
```

## Use

Say we have the following file `example.md`:

````md
# rehype-meta-as-attributes

```js title=hello hightlight
const hello = "world";
```
````

Then use it in your pipeline as following:

```js
import { read } from "to-vfile";
import { unified } from "unified";
import remarkRehype from "remark-rehype";
import rehypeMetaAsAttributes from "@lekoarts/rehype-meta-as-attributes";

main();

async function main() {
  const file = await unified()
    .use(remarkRehype)
    .use(rehypeMetaAsAttributes)
    .process(await read("example.md"));

  console.log(String(file));
}
```
npm package: @lekoarts/thanks-contributors
Description: This little script accesses GitHub's API to get all contributors and their PRs between two distinct points in the history of commits. This is helpful for changelogs where you'd want to list all contributions for that release (so e.g. changes between v1 an
Latest version: 1.2.1

# Thanks Contributors!

This little script accesses GitHub's API to get all contributors and their PRs between two distinct points in the history of commits. This is helpful for changelogs where you'd want to list all contributions for that release (so e.g. changes between v1 and v1.1).

## Usage

```shell
npx @lekoarts/thanks-contributors [OPTIONS] <BASE> <HEAD> [OWNER] [REPO]
```

First, it get's the list of commits between `base...head` (equivalent to `git log
base..head`), then parses their authors and creates a markdown list of each
contributor and their contribution.

```shell
Usage: @lekoarts/thanks-contributors [OPTIONS] <BASE> <HEAD> [OWNER] [REPO]

Arguments:
  <BASE>
          Pointer from where to start looking for changes

  <HEAD>
          Pointer until where to stop looking for changes

  [OWNER]
          Name of the owner/user/organization of the repository

          [default: gatsbyjs]

  [REPO]
          Name of the repository

          [default: gatsby]

Options:
  -i, --include-org-members <INCLUDE_ORG_MEMBERS>
          Include organization members into the list [default: false]

          [possible values: true, false]

  -e, --excludes <EXCLUDES>...
          List of members to exclude from the list. Usage: -e=member1,member2 [default: "renovate-bot", "renovate[bot]"]

  -v, --verbose...
          More output per occurrence

  -q, --quiet...
          Less output per occurrence

  -h, --help
          Print help information (use `-h` for a summary)
```

You must have an environment variable called `GITHUB_ACCESS_TOKEN` either exported in your CLI or defined inside an `.env` file in the directory you're running the CLI in.

The script automatically excludes the members of the organization ("owner" in this case). If you want to exclude specific users, you'll need to provide the `--excludes` flag.

You can use the options `-v` to `-vvvv` to display additional logging (warnings, info, debug, trace).

The results are stored inside a `output` folder in the current directory.

### Example

```shell
npx @lekoarts/thanks-contributors gatsby@5.1.0-next.0 gatsby@5.1.0 gatsbyjs gatsby
```

## Resulting output

It'll create a markdown list, grouped by user login. If a person had more than one commit, it creates a nested list. Example:

```md
- [harry](https://www.github.com/harry): Update something [PR #1](https://github.com/foobar/pull/1)
- [hermione](https://www.github.com/hermione)
  - Update something [PR #2](https://github.com/foobar/pull/2)
  - Update something more [PR #3](https://github.com/foobar/pull/3)
```

If the url can't be found only the name will be printed.

## Caveats

- Getting the PR number only works if you consistently add the number in the commit itself, e.g. in `feat: My cool feature (#123)`. This automatically happens in GitHub's UI if you use squash commits.
npm package: @lekoarts/thanks-contributors-linux-arm-gnueabihf
Description: This is the **armv7-unknown-linux-gnueabihf** binary for `@lekoarts/thanks-contributors`
Latest version: 1.1.0

# `@lekoarts/thanks-contributors-linux-arm-gnueabihf`

This is the **armv7-unknown-linux-gnueabihf** binary for `@lekoarts/thanks-contributors`
npm package: @lekoarts/thanks-contributors-linux-arm64-gnu
Description: This is the **aarch64-unknown-linux-gnu** binary for `@lekoarts/thanks-contributors`
Latest version: 1.1.0

# `@lekoarts/thanks-contributors-linux-arm64-gnu`

This is the **aarch64-unknown-linux-gnu** binary for `@lekoarts/thanks-contributors`
npm package: @lekoarts/thanks-contributors-linux-arm64-musl
Description: This is the **aarch64-unknown-linux-musl** binary for `@lekoarts/thanks-contributors`
Latest version: 1.2.1

# `@lekoarts/thanks-contributors-linux-arm64-musl`

This is the **aarch64-unknown-linux-musl** binary for `@lekoarts/thanks-contributors`
npm package: @lekoarts/thanks-contributors-linux-x64-gnu
Description: This is the **x86_64-unknown-linux-gnu** binary for `@lekoarts/thanks-contributors`
Latest version: 1.2.1

# `@lekoarts/thanks-contributors-linux-x64-gnu`

This is the **x86_64-unknown-linux-gnu** binary for `@lekoarts/thanks-contributors`
npm package: @lekoarts/thanks-contributors-linux-x64-musl
Description: This is the **x86_64-unknown-linux-musl** binary for `@lekoarts/thanks-contributors`
Latest version: 1.2.1

# `@lekoarts/thanks-contributors-linux-x64-musl`

This is the **x86_64-unknown-linux-musl** binary for `@lekoarts/thanks-contributors`
npm package: @lekoarts/thanks-contributors-win32-x64-msvc
Description: This is the **x86_64-pc-windows-msvc** binary for `@lekoarts/thanks-contributors`
Latest version: 1.2.1

# `@lekoarts/thanks-contributors-win32-x64-msvc`

This is the **x86_64-pc-windows-msvc** binary for `@lekoarts/thanks-contributors`
npm package: @lekoarts/wait-for-path
Description: Efficiently wait for a path to exist (cross-platform)
Author: Braden Snell
Latest version: 0.0.2

# Wait for Path

This is a fork of [aleclarson/wait-for-path](https://github.com/aleclarson/wait-for-path) to update dependencies and do the occasional fix. This package is **ESM only**.

> Efficiently wait for a path to exist (cross-platform)

## Usage

### Programmatic

```shell
npm install @lekoarts/wait-for-path
```

```ts
import { waitForPath } from '@lekoarts/wait-for-path'

waitForPath('./foo/bar/baz').then((stat) => {
  console.log(stat) // fs.Stat object
})
```

## How it's implemented

No polling. This library uses the `fs.watch` API Node.js provides which is an abstraction over `inotify(7)` on Linux, `kqueue(2)` and `FSEvents` on MacOS, and `ReadDirectoryChangesW` on Windows systems. Read more about it here in the official NodeJS documentation: https://nodejs.org/docs/latest/api/fs.html#fs_caveats. Platforms which do not support the `fs.watch` API at all will not work with this library. Eventually a fallback polling approach could be implemented for those platforms.

`wait-for-path` attaches a listener for each segment of the path until it encounters a path segment that does not exist. Whenever any of these watchers reports a change, all watchers are closed, `fs.stat` is attempted on the full path and if the path still does not exist watchers are added again starting at the root directory.
npm package: @lekoleko/reg-publish-github-pages-plugin
Description: A reg-suit plugin to publish reports on GitHub pages
Author: Leko
Latest version: 0.0.2

# reg-publish-github-pages-plugin

A reg-suit plugin to fetch and publish assets to the GitHub pages.

## Install

```sh
npm i -D reg-publish-github-pages-plugin
reg-suit prepare -p publish-github-pages
```

## Setup

You need to configure GitHub pages before using this plugin.  
[See the official documentation](https://docs.github.com/en/github/working-with-github-pages)

## Configure

```ts
{
  repository: string;
  branchName: string;
  token: string;
  customDomain?: string;
  pathPrefix?: string;
}
```

- `repository` - _Required_ - A repository name in the form of `owner/name` such as `Leko/reg-publish-github-pages-plugin`.
- `branchName` - _Required_ - A branch name for the GitHub pages.
- `token` - _Required_ - A GitHub token. You can pass the value via [Embed environment values](https://github.com/reg-viz/reg-suit#embed-environment-values)
- `customDomain` - _Optional_ - A custom domain when you set it to the GitHub pages.
- `pathPrefix` - _Optional_ - Specify paths. For example, when you set `some_dir` as this property, this plugin will publish with URL such as `https://{TODO}/some_dir/index.html`.
npm package: @lekoleko/wordle-solver
Description: An unofficial solver for [Wordle - A daily word game](https://www.powerlanguage.co.uk/wordle/). Currently, it can solve only easy mode.
Author: Leko
Latest version: 1.0.9

# Wordle solver

An unofficial solver for [Wordle - A daily word game](https://www.powerlanguage.co.uk/wordle/).
Currently, it can solve only easy mode.

![screenshot](./docs/screenshot.gif)

## Installation

1. Clone this repository
2. Run `npm i` on the project root
3. Create `words.json` on the project root somehow. The content must be `string[]`

## Getting started

### Launch repl

```
npm run dev
```

### Run in emulation mode

```
npm run dev:emulate {{ANSWER_WORD}}
```

### Logging

You can use `DEBUG` environment variables for verbose logging.
npm package: @lekp/cra
Description: A CLI to bootstrap  projects
Author: ChenYCL
Latest version: 1.0.3

# `@lgoweb/cra`

🏗 Personal CLI to bootstrap new projects

## Installation & Usage

```bash
# or
npx @lgoweb/cra
# or
npm install -g @lgoweb/cra

cra -i # init prpject
cra -v # check version
```

## args

`-g`: 'git init'

`-y`: 'skip the promet'

`-i`: 'install dependencies'

`.eg: cra -i`

# screenshot
```
pc@pc  ~/Documents/demo  cra -i   
? 请选模版 app
? 请输入开发环境端口<9505> 9505
? 请输入子模块注册base名 sys-news
? 初始化git No
  ✔ Copy project files
  ✔ Modify config
  ✔ Create gitignore
  ✔ Create License
  ✔ Install dependencies
DONE Project ready

```

## License

MIT

## Collaborators

- Dominik Kundel <hi@dominik.dev>
npm package: @lekp/pro-boo
Description: @lekp/pro-boo
Latest version: 1.0.0-beta.2

# @lekp/pro-boo

> @lekp/pro-boo.


## Install

Using npm:

```bash
$ npm install --save @lekp/pro-boo
```

or using yarn:

```bash
$ yarn add @lekp/pro-boo
```
npm package: @lekp/pro-form
Description: @lekp/pro-form
Latest version: 1.0.0-beta.2

# @lekp/pro-form

> @lekp/pro-form.


## Install

Using npm:

```bash
$ npm install --save @lekp/pro-form
```

or using yarn:

```bash
$ yarn add @lekp/pro-form
```
npm package: @lekp/pro-list
Description: @lekp/pro-list
Latest version: 1.0.0-beta.2

# @lekp/pro-list

> @lekp/pro-list.


## Install

Using npm:

```bash
$ npm install --save @lekp/pro-list
```

or using yarn:

```bash
$ yarn add @lekp/pro-list
```
npm package: @lekp/pro-theme
Description: @lekp/pro-theme
Latest version: 1.0.1

# @lekp/pro-theme

> @lekp/pro-theme.

## Install

Using npm:

```bash
$ npm install --save @lekp/pro-theme
```

or using yarn:

```bash
$ yarn add @lekp/pro-theme
```
npm package: @lekseek/eslint-config
Description: Eslint configuration
Author: LekSeek
Latest version: 0.1.1

# LekSeek Eslint-Config

#### ESLint sherable configuration by LekSeek

## Table of Contents

- [Table of Contents](#table-of-contents)
- [Documentation](#documentation)
- [Features](#features)
- [Installation](#installation)
- [Quick start](#quick-start)
- [License](#license)

## Documentation

## Features
- rules for applications based on Vue.js 3

## Installation

`npm i @lekseek/eslint-config`

## Quick start

- Configure your local ESLint. 

- Write library into extends field:

```javascript
{
    extends: [
        '@lekseek/eslint-config',
    ],
}
```

## License

MIT
npm package: @lekseek/ui
Description: Vue 3 components library
Author: LekSeek
Latest version: 0.15.3

# LekSeek UI

![logo](/uploads/3c61d0bcee43850dbf856008764b0eba/logo.png)


#### Vue 3 components library written in TypeScript and Sass with design system by LekSeek

## Table of Contents

- [Table of Contents](#table-of-contents)
- [Documentation](#documentation)
- [Features](#features)
- [Installation](#installation)
- [Quick start](#quick-start)
- [License](#license)

## Documentation
To check out docs, visit ##TODO## page.

## Features
- 50+ UI components,
- directives,
- customizable styles (sass variables),
- internationalization,
- support for font awesome icons,
- typescript support,
- helper css classes,
- ... and more

## Installation

`npm i @lekseek/ui`

## Quick start

Add library to your Vue 3 app in entry file (eg. main.js):

```javascript
import { createApp } from 'vue';
import App from './App.vue';
import Ui from '@lekseek/ui';

createApp(App)
  .use(createUI({}))
  .mount('#app');
```

Import stylesheet file:

```scss
@import '~@lekseek/ui/dist/lekseek-ui';
```

Install Lekseek icons in your project:

```bash
npm i @lekseek/lekseek-icons
```

and import icons in your styles:

```scss
@import '~@lekseek/icons/dist/lekseek-icons.css';
```
npm package: @lel190/mcp-lel190-image
Description: MCP server for image generation using Gemini 3.1 Flash Image (Nano Banana 2) via api.lel190.dev
Author: lel190
Latest version: 1.0.1

# @lel190/mcp-lel190-image

MCP server for image generation via `api.lel190.dev`.

## Install

### Prerequisites

- Node.js `>=18`
- A `LEL190_API_KEY` from [api.lel190.dev](https://api.lel190.dev)

### Publish package

This package is published as:

```bash
@lel190/mcp-lel190-image
```

### Droid config

Add this MCP server to your Droid config:

```json
{
  "mcpServers": {
    "lel190-image": {
      "command": "npx",
      "type": "stdio",
      "args": ["-y", "@lel190/mcp-lel190-image"],
      "env": {
        "LEL190_API_KEY": "sk-your-key-here"
      },
      "disabled": false
    }
  }
}
```

Important: use the scoped package name `@lel190/mcp-lel190-image`. The unscoped `mcp-lel190-image` package is not the published package.

## Tools

### `generate_image`

Generates an image and saves it to disk.

Parameters:

- `prompt`
- `reference_images` (optional)
- `output_dir` (optional)
- `output_filename` (optional)
- `size` (optional): `512px` | `1K` | `2K` | `4K`
- `aspect_ratio` (optional): `1:1` | `16:9` | `9:16` | `4:3` | `3:4`
- `negative_prompt` (optional)
- `overwrite` (optional)

## Troubleshooting

### Server exits immediately

Make sure `LEL190_API_KEY` is set in the MCP server `env`.

### Publish/install confusion

If your MCP config uses:

```json
"args": ["-y", "mcp-lel190-image"]
```

change it to:

```json
"args": ["-y", "@lel190/mcp-lel190-image"]
```

### Private package error on npm publish

For a scoped public package, publish with:

```bash
npm publish --access public
```
npm package: @lelay_zaibatsu/custine
Description: A custom timeline package with reactivity
Author: alloune
Latest version: 0.1.1

# custine

This template should help get you started developing with Vue 3 in Vite.

## Recommended IDE Setup

[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur).

## Customize configuration

See [Vite Configuration Reference](https://vite.dev/config/).

## Project Setup

```sh
npm install
```

### Compile and Hot-Reload for Development

```sh
npm run dev
```

### Compile and Minify for Production

```sh
npm run build
```

### Lint with [ESLint](https://eslint.org/)

```sh
npm run lint
```
npm package: @lelbakna/reading-assistant
Description: Reading Assistant Library - Two Main Components (ActivityViewer, DictationActivity) with scoped CSS
Author: T3 Education
Latest version: 3.0.33

# ReadRight - Reading Assistant Platform

ReadRight is an interactive reading assistant platform designed to help students improve their reading and pronunciation skills. Inspired by language learning apps like Duolingo, ReadRight provides a gamified experience for practicing reading aloud with real-time feedback.

## Features

- **Interactive Reading Practice**: Students can read texts aloud and receive feedback on their pronunciation
- **Progressive Learning**: If a student makes mistakes, they get multiple attempts with guidance
- **Audio Guidance**: After three attempts, the platform provides audio guidance for correct pronunciation
- **Modern UI/UX**: Clean, intuitive interface with gamification elements
- **Progress Tracking**: Track reading progress, streaks, and points
- **Categorized Content**: Various reading materials organized by difficulty level and category

## Tech Stack

- React (v19)
- Tailwind CSS for styling
- React Speech Recognition for voice input (simulated in current version)

## Getting Started

### Prerequisites

- Node.js (v18 or higher)
- npm or yarn

### Installation

```bash
# Install dependencies
npm install

# Start the development server
npm run dev
```

## Project Structure

- `/src/components` - React components
- `/src/data` - Mock data for texts and exercises
- `/src/assets` - Images and other static assets

## Current Limitations

This is a prototype version with the following limitations:

- Speech recognition is simulated (not using actual Web Speech API)
- Audio playback for guidance is mocked
- Limited set of reading materials

## Future Enhancements

- Implement real speech recognition using Web Speech API
- Add user authentication and profiles
- Expand content library with more reading materials
- Add analytics dashboard for teachers/parents
- Mobile app version
npm package: @lelberto/query-hook
Description: React hook used to make API calls
Author: Lelberto
Latest version: 1.0.3

# query-hook

> React hook used to make API calls

[![Package version](https://img.shields.io/github/package-json/v/Lelberto/query-hook)](https://www.npmjs.com/package/@lelberto/query-hook) [![NPM](https://img.shields.io/npm/v/query-hook.svg)](https://www.npmjs.com/package/@lelberto/query-hook) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @lelberto/query-hook
```

## Usage

### JavaScript
```jsx
import { useQuery, Status } from '@lelberto/query-hook';

const Component = () => {
  const usersQuery = useQuery();

  useEffect(() => {
    switch (usersQuery.status) {
      case Status.INIT:
        usersQuery.get('https://api.example.com/users');
        break;
      case Status.SUCCESS:
        console.log('Fetched users :', usersQuery.response.users);
        break;
      case Status.ERROR:
        console.error('Unable to fetch users :', usersQuery.errorResponse.errors);
        break;
    }
  }, [usersQuery.status]);

  return (
    <div>
      {usersQuery?.response.users.map(user => user.name)}
    </div>
  )
}
```

### TypeScript
```tsx
import { FC } from 'react';

import { useQuery, Status, ErrorData, Response, ErrorResponse } from '@lelberto/query-hook';

// Custom error data (optional)
interface CustomErrorData extends ErrorData {
  error: 'access_denied' | 'unauthorized' | 'not_found';
}

// Custom response (optional)
interface UsersResponse extends Response {
  users: [{
    email: string;
    name: string;
  }];
}

// Custom error response with custom error data (optional)
interface CustomErrorResponse extends ErrorResponse {
  errors: CustomErrorData[];
}

const Component: FC = () => {
  const usersQuery = useQuery<UsersResponse, CustomErrorResponse>();

  useEffect(() => {
    switch (usersQuery.status) {
      case Status.INIT:
        usersQuery.get('https://api.example.com/users');
        break;
      case Status.SUCCESS:
        console.log('Fetched users :', usersQuery.response.users);
        break;
      case Status.ERROR:
        console.error('Unable to fetch users :', usersQuery.errorResponse.errors);
        break;
    }
  }, [usersQuery.status]);

  return (
    <div>
      {usersQuery?.response.users.map(user => user.name)}
    </div>
  )
}
```

## License

MIT © [Lelberto](https://github.com/Lelberto)

---

This hook is created using [create-react-hook](https://github.com/hermanya/create-react-hook).
npm package: @leleccccc/sl-ui
Description: @leleccccc/sl-ui
Author: Saroki Song
Latest version: 0.0.1

# Vue 3 + TypeScript + Vite

This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.

## Recommended IDE Setup

- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).

## Type Support For `.vue` Imports in TS

TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types.

If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps:

1. Disable the built-in TypeScript Extension
   1. Run `Extensions: Show Built-in Extensions` from VSCode's command palette
   2. Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)`
2. Reload the VSCode window by running `Developer: Reload Window` from the command palette.
npm package: @lelotnk/currency-converter
Description: Conversor de moedas utilizando a API do Banco Central do Brasil.
Author: Marco Tanaka
Latest version: 0.0.5

# Currency Converter

Conversor de moedas utilizando a API do Banco Central do Brasil


```
import { Converter } from './dist/index';

Converter.convert("USD", "BRL", 1)
    .then(response =>  console.log(response));
```

```
const { Converter } = require('./dist');

Converter.convert("USD", "BRL", 1)
    .then(response =>  console.log(response));
```
npm package: @lemaik/ebics-client
Description: Node.js ISO 20022 Compliant EBICS Client
Author: eCollect Sofia Tech Team
Latest version: 4.1.1

<p align="center">
	<img src="assets/logo.png" width="300px" height="auto"/>
</p>
<h1 align="center">node-ebics-client</h1>

<p align="center">
<a href="https://travis-ci.org/node-ebics/node-ebics-client" title="Build Status"><img src="https://travis-ci.org/node-ebics/node-ebics-client.svg?branch=master" alt="Build Status" /></a>
<a href="https://www.npmjs.com/package/ebics-client" title="Build Status">
<img alt="ebics-client" src="https://img.shields.io/npm/v/ebics-client">
</a>
<a href="https://snyk.io/test/github/ecollect/node-ebics-client" title="Known Vulnerabilities">
<img src="https://snyk.io/test/github/ecollect/node-ebics-client/badge.svg" alt="Known Vulnerabilities">
</a>
<a href="/eCollect/node-ebics-client/blob/master/LICENSE" title="GPL-3.0"><img alt="GPL-3.0" src="https://img.shields.io/github/license/eCollect/node-ebics-client"></a>
<a href='https://coveralls.io/github/eCollect/node-ebics-client?branch=master' title="Coverage Status"><img src='https://coveralls.io/repos/github/eCollect/node-ebics-client/badge.svg?branch=master' alt='Coverage Status' /></a>
</p>

Pure node.js ( >=8 ) implementation of [EBICS](https://en.wikipedia.org/wiki/Electronic_Banking_Internet_Communication_Standard) ( Electronic Banking Internet Communication ).

The client is aimed to be 100% [ISO 20022](https://www.iso20022.org) compliant, and supports the complete initializations process ( INI, HIA, HPB orders ) and HTML letter generation.


## Supported Banks
The client is currently tested and verified to work with the following banks:

* [Credit Suisse (Schweiz) AG](https://www.credit-suisse.com/ch/en.html)
* [Zürcher Kantonalbank](https://www.zkb.ch/en/lg/ew.html)
* [Raiffeisen Schweiz](https://www.raiffeisen.ch/rch/de.html)
* [BW Bank](https://www.bw-bank.de/de/home.html)
* [Bank GPB International S.A.](https://gazprombank.lu/e-banking)
* [Bank GPB AO](https://gazprombank.ru/)
* [J.P. Morgan](https://www.jpmorgan.com/)


## Inspiration

The basic concept of this library was inspired by the [EPICS](https://github.com/railslove/epics) library from the Railslove Team.


## Copyright

Copyright: Dimitar Nanov, 2019-2022.  
Licensed under the [MIT](LICENSE) license.
npm package: @lemarczini/random-id-generator
Description: Application which randomly generate ID with declare length.
Latest version: 1.0.2

# Random ID generator

Application which randomly generate ID with declare length.

## Technologies Used

- JavaScript

## Features

- Randomly generates ID

## Contact

Created by Marcin Gwizdek - feel free to contact me!
@ kontakt@marcingwizdek.pl
https://www.linkedin.com/in/marcin-gwizdek/
https://github.com/Lemarczini21
npm package: @lemasc/firebase-wrapper
Description: This library provides a minimum, tree-shakable API that wraps various functions of the Firebase SDKs (as needed by the RianArai project) and make sure that it's compatiable with both namespaced version (currently on React Native) and modular version (on t
Latest version: 1.1.1

# @lemasc/firebase-wrapper

This library provides a minimum, tree-shakable API that wraps various functions of the Firebase SDKs (as needed by the RianArai project) and make sure that it's compatiable with both namespaced version (currently on React Native) and modular version (on the web).

## Installation

Install the library first.

```sh
npm install @lemasc/firebase-wrapper
```

This library adds compatibilty while preserving tree shaking benefits by using **resolve extensions** and **module alias**.

Depending on your framework and tools, this configuration might be different.

### With React Native

This library already provides support for React Native. By default we expect that you use

- `react-native-firebase` (Namespaced version) on mobile
- `firebase` (Modular version) on the Web

If you are using these dependencies, you are ready! Skip to the Usage section and it should work out of the box.


## Usage

```js
import { initializeApp, getApps, getApp } from "@lemasc/firebase-wrapper/app";
import { 
  getAuth, 
  // Most functions should also worked!
  signInWithCredential 
} from "@lemasc/firebase-wrapper/app"

// Your firebase config here.
const firebaseConfig = { ... }

const app = !getApps().length ? initializeApp(firebaseConfig) : getApp()
const auth = getAuth(app)
```

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT
npm package: @lemay/mws-api-info
Description: Basic information about Amazon MWS API
Author: Lemay Software
Latest version: 1.0.5

[![travis-ci-status](https://travis-ci.org/lemay/mws-api-info.svg)](https://travis-ci.org/lemay/mws-api-info)

Contains basic Amazon MWS api and marketplace information, like marketplace id, url, name, MWS endpoints etc

# Install

### jsDelivr CDN

https://cdn.jsdelivr.net/npm/@lemay/mws-api-info@latest/main.json"

### NPM

```
npm install --save @lemay/mws-api-info
```

# Example

```json
"US": {
	"name": "Amazon United States",
	"site": "amazon.com",
	"id": "ATVPDKIKX0DER",
	"mws_endpoint": "mws.amazonservices.com",
	"region": "NA"
},
```
npm package: @lembaranz/cli
Description: Lembaran CLI - Brankas Aksara Personal yang Berdikari
Author: Abelion Lavv
Latest version: 1.0.1

# @lembaranz/cli

**Lembaran CLI - Brankas Aksara Personal yang Berdikari** 🇮🇩

Antarmuka baris perintah (CLI) and TUI resmi untuk Lembaran. Amankan catatan, ide, and rahasia Anda langsung di terminal dengan enkripsi tingkat militer.

## 🚀 Instalasi

```bash
# Via Bun (Disarankan)
bun install -g @lembaranz/cli

# Via NPM
npm install -g @lembaranz/cli
```

## 🛠️ Penggunaan

Jalankan perintah utama untuk masuk ke antarmuka interaktif:

```bash
lembaran mulai
```

### Perintah Lainnya

- `lembaran ukir`: Membuat catatan baru secara cepat.
- `lembaran laras`: Mengelola variabel lingkungan (.env) proyek Anda.
- `lembaran tanam`: Mengimpor direktori dokumen ke dalam brankas.
- `lembaran petik`: Mengekspor catatan terenkripsi ke format cadangan.
- `lembaran cari`: Mencari di seluruh arsip yang terenkripsi.

## 🔐 Keamanan

- **Zero-Knowledge**: Kata sandi Anda tidak pernah disimpan or dikirim.
- **Argon2id**: Derivasi kunci yang sangat kuat terhadap serangan GPU.
- **AES-GCM 256**: Standar enkripsi industri untuk integritas data.

## 📄 Lisensi

[MIT](https://github.com/Abelion512/lembaran/blob/main/LICENSE)
npm package: @lembeh/io
Description: AssemblyScript bindings for Lembeh (WASM guest SDK). Not a Node runtime library.
Latest version: 0.1.1

# @lembeh/io

AssemblyScript guest bindings for Lembeh.

This package is **not** a Node.js runtime library. It is imported by AssemblyScript code and compiled into WebAssembly.

## Usage (AssemblyScript)

```ts
import { Request, Response } from "@lembeh/io";

export function lembeh_handle(req: i32, res: i32): void {
  const r = new Request(req);
  const w = new Response(res);

  const buf = new Uint8Array(4096);
  const ptr = buf.dataStart;

  while (true) {
    const n = r.read(ptr, buf.length);
    if (n <= 0) break;
    if (w.write(ptr, n) < 0) break;
  }

  w.end();
}
npm package: @lemehovskiy/is-on-screen
Description: VanillaJS plugin for detecting if an element is on the screen
Author: lemehovskiy
Latest version: 0.0.1

<h3 align="center">is-on-screen</h3>

<div align="center">

[![Status](https://img.shields.io/badge/status-active-success.svg)]()
[![GitHub Issues](https://img.shields.io/github/issues/lemehovskiy/is-on-screen.svg)](https://github.com/lemehovskiy/is-on-screen/issues)
[![GitHub Pull Requests](https://img.shields.io/github/issues-pr/lemehovskiy/is-on-screen.svg)](https://github.com/lemehovskiy/is-on-screen/pulls)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE)

</div>

---

## 🧐 About

VanillaJS plugin for detecting if an element is on the screen.

**Features:**

- Built with IntersectionObserver
- Allows you to define from which side the element enters or leaves
- Allows you to define the limit of enters or leaves
- Defines a threshold for the percentage of the target's visibility

## 🏁 Getting Started

### Installing

```bash
npm i @lemehovskiy/is-on-screen
```

## Contributing

If you'd like to get involved, please consider opening an issue or submitting a pull request. Your input is highly valued, and I'm enthusiastic about collaborating to enhance this tool.

## License

is-on-screen is released under the MIT License. See the [LICENSE](LICENSE) file for comprehensive details regarding the terms and conditions of use.
npm package: @lemehovskiy/scroller
Description: VannilaJS plugin for detecting vertical scroll progress
Author: lemehovskiy
Latest version: 0.2.7

<h3 align="center">scroller</h3>

<div align="center">

[![Status](https://img.shields.io/badge/status-active-success.svg)]()
[![GitHub Issues](https://img.shields.io/github/issues/lemehovskiy/scroller.svg)](https://github.com/lemehovskiy/scroller/issues)
[![GitHub Pull Requests](https://img.shields.io/github/issues-pr/lemehovskiy/scroller.svg)](https://github.com/lemehovskiy/scroller/pulls)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE)

</div>

---

<p align="center">
    VanillaJS plugin for detecting vertical scroll progress.
</p>

## Demo <a name="demo"></a>

[Basic demo](https://codesandbox.io/p/devbox/lemehovskiy-scroller-basic-demo-63fxc8)<br>
[Auto adjust scroll offset demo](https://codesandbox.io/p/devbox/lemehovskiy-scroller-auto-adjust-scroll-offset-demo-fgfwh4)

## 🧐 About <a name = "about"></a>

VanillaJS plugin for detecting vertical scroll progress.

## 🏁 Getting Started <a name = "getting_started"></a>

### Installing

```
npm i @lemehovskiy/scroller
```

### Scroller example

index.js

```js
import Scroller from "@lemehovskiy/scroller";

const scroller = new Scroller(document.querySelector(".scroller-element"), {
  autoAdjustScrollOffset: true,
});
const progressEl = document.getElementById("progress");

if (progressEl) {
  scroller.progressChanged.on((progress) => {
    progressEl.innerHTML = "" + progress;
  });
}

```

index.html

```html
<div id="progress"></div>
<div class="spacer"></div>
<div class="scroller-element"></div>
<div class="spacer"></div>
```

style.css

```css
.spacer {
  min-height: 500px;
  background-color: aquamarine;
}
.scroller-element {
  min-height: 700px;
  background-color: azure;
}
#progress {
  position: fixed;
  top: 0;
  left: 0;
}
```
npm package: @lemehovskiy/scroller-utils
Description: Scroller util functions
Author: lemehovskiy
Latest version: 0.0.13

<h3 align="center">scroller-utils</h3>

<div align="center">

[![Status](https://img.shields.io/badge/status-active-success.svg)]()
[![GitHub Issues](https://img.shields.io/github/issues/lemehovskiy/scroller-utils.svg)](https://github.com/lemehovskiy/scroller-utils/issues)
[![GitHub Pull Requests](https://img.shields.io/github/issues-pr/lemehovskiy/scroller-utils.svg)](https://github.com/lemehovskiy/scroller-utils/pulls)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE)

</div>

---

<p align="center">
    Scroller helper functions.
</p>

## 🧐 About <a name = "about"></a>

Scroller helper functions.

## 🏁 Getting Started <a name = "getting_started"></a>

### Installing

```
npm i @lemehovskiy/scroller-utils
```

### Example

index.ts

```js
import { getConvertedTriggerToPx } from "@lemehovskiy/scroller-utils/dist";

console.log(getConvertedTriggerToPx('50vh', 200));
// 100

```
## API

[Documentation](https://lemehovskiy.github.io/scroller-utils/)
npm package: @lemenov/eslint-config
Description: ESLint configuration used by Lemenov.
Latest version: 1.0.2

# Lemenov ESLint config

## Whats included?

- Standard config base;
- React plugin;
- React Hooks plugin;
- JSX a11y plugin;
- Prettier;

## Setup

### React (with Next.js)

Install dependencies:
```
npm i -D eslint @lemenov/eslint-config
```
Inside `.eslintrc.json`
```
{
  "extends": [
    "@lemenov/eslint-config/next", 
    "next/core-web-vitals"
  ]
}
```