open-index/open-npm huggingface dataset:
npm package: @jsjunglegym/local-client
Description: This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
Latest version: 2.0.0

# Getting Started with Create React App

This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).

## Available Scripts

In the project directory, you can run:

### `npm start`

Runs the app in the development mode.\
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.

The page will reload if you make edits.\
You will also see any lint errors in the console.

### `npm test`

Launches the test runner in the interactive watch mode.\
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.

### `npm run build`

Builds the app for production to the `build` folder.\
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.\
Your app is ready to be deployed!

See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.

### `npm run eject`

**Note: this is a one-way operation. Once you `eject`, you can’t go back!**

If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.

Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.

You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.

## Learn More

You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).

To learn React, check out the [React documentation](https://reactjs.org/).
npm package: @jsjupyter/local-client
Description: This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
Latest version: 3.0.0

# Getting Started with Create React App

This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).

## Available Scripts

In the project directory, you can run:

### `npm start`

Runs the app in the development mode.\
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.

The page will reload if you make edits.\
You will also see any lint errors in the console.

### `npm test`

Launches the test runner in the interactive watch mode.\
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.

### `npm run build`

Builds the app for production to the `build` folder.\
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.\
Your app is ready to be deployed!

See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.

### `npm run eject`

**Note: this is a one-way operation. Once you `eject`, you can’t go back!**

If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.

Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.

You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.

## Learn More

You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).

To learn React, check out the [React documentation](https://reactjs.org/).
npm package: @jsk-style/scss
Description: github: https://github.com/jsk-repo/jsk-style demo: https://jsk-repo.github.io/scss-demo.github.io
Latest version: 0.0.15

github: https://github.com/jsk-repo/jsk-style
demo: https://jsk-repo.github.io/scss-demo.github.io

## 全局滚动下比较好的弹层方案

1. pc web 环境下, 当弹层变化时调用 js 函数 `recordScrolled` 和 `resetScrolled` 
2. h5/webview 环境下
    - 设置需要递归填充的根元素, 如: `$default-scroll-overflow: ('#app')`
    - 如有需要设置 `$default-app-container` 默认选择器 `body`
    - 如有需要设置 `$default-scroll-lock` 默认 `.lock`, 当弹层变化时变更 `className` 到 `$default-app-container`
    - 弹层中的滚动元素需要设置 `@include scroll(column unlock)`

TODOLIST
1. h5/webview: 弹层中如果有 input 则滚动锁定失效
2. pc - h5/webview 响应式方案
npm package: @jsketch-cli/local-client
Description: This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
Latest version: 2.0.0

# Getting Started with Create React App

This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).

## Available Scripts

In the project directory, you can run:

### `npm start`

Runs the app in the development mode.\
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.

The page will reload if you make edits.\
You will also see any lint errors in the console.

### `npm test`

Launches the test runner in the interactive watch mode.\
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.

### `npm run build`

Builds the app for production to the `build` folder.\
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.\
Your app is ready to be deployed!

See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.

### `npm run eject`

**Note: this is a one-way operation. Once you `eject`, you can’t go back!**

If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.

Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.

You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.

## Learn More

You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).

To learn React, check out the [React documentation](https://reactjs.org/).
npm package: @jsketch/local-client
Description: This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
Latest version: 1.0.6

# Getting Started with Create React App

This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).

## Available Scripts

In the project directory, you can run:

### `npm start`

Runs the app in the development mode.\
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.

The page will reload if you make edits.\
You will also see any lint errors in the console.

### `npm test`

Launches the test runner in the interactive watch mode.\
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.

### `npm run build`

Builds the app for production to the `build` folder.\
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.\
Your app is ready to be deployed!

See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.

### `npm run eject`

**Note: this is a one-way operation. Once you `eject`, you can’t go back!**

If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.

Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.

You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.

## Learn More

You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).

To learn React, check out the [React documentation](https://reactjs.org/).
npm package: @jskit-ai/assistant
Description: Install assistant runtime/config for one surface, then scaffold assistant pages at explicit page files.
Latest version: 0.1.41

# @jskit-ai/assistant

Install assistant runtime/config for one surface, then scaffold assistant pages at explicit page files.

## Mental Model

`@jskit-ai/assistant` is the generator package.

- `setup` installs the assistant runtime/config/env wiring.
- `page <target-file>` creates the assistant runtime page anywhere relative to `src/pages/...`.
- `settings-page <target-file>` creates the assistant settings page anywhere relative to `src/pages/...`.

There is no separate server command and no separate client command.

The layering is:

- `@jskit-ai/assistant`: generator package with `setup`, `page`, and `settings-page`
- `@jskit-ai/assistant-runtime`: runtime package installed by `setup`
- `@jskit-ai/assistant-core`: lower-level provider/client library pulled in by `assistant-runtime`

So the normal flow is:

- run `setup`
- optionally create `page`
- optionally create `settings-page`

Page placement follows the same file-driven model as `@jskit-ai/ui-generator`.

- The surface comes from where the page file lives.
- The route URL comes from that file path.
- The default page-link placement comes from the nearest real parent subpages host when there is one.

Only one assistant can be installed per target surface. That rule is enforced by `setup`, which writes the per-surface config entries.

## Setup

```bash
npx jskit generate @jskit-ai/assistant setup \
  --surface admin \
  --settings-surface console \
  --config-scope global \
  --ai-provider openai \
  --ai-api-key "$OPENAI_API_KEY" \
  --ai-base-url "" \
  --ai-timeout-ms 120000
```

`setup` does not create pages.

It only registers:

- `config.assistantSurfaces.<surface>`
- `config.assistantServer.<surface>`
- prefixed AI env defaults in `.env`
- the `@jskit-ai/assistant-runtime` dependency chain, including `@jskit-ai/assistant-core`

## Runtime Page

```bash
npx jskit generate @jskit-ai/assistant page \
  admin/ops/copilot/index.vue
```

The page surface id comes from the target file path.

Optional page-link overrides:

- `--name`
- `--link-placement`
- `--link-component-token`
- `--link-to`

## Settings Page

```bash
npx jskit generate @jskit-ai/assistant settings-page \
  admin/settings/index/assistant/index.vue \
  --surface admin
```

For `settings-page`, the page location and the assistant target surface are separate concerns:

- `<target-file>` decides where the settings page lives and how its page link is placed
- `--surface` decides which assistant surface the settings page edits

The same optional page-link overrides are supported:

- `--name`
- `--link-placement`
- `--link-component-token`
- `--link-to`
npm package: @jskit-ai/crud-ui-generator
Description: Generate CRUD route trees from an explicit route root relative to `src/pages/...`.
Latest version: 0.1.15

# @jskit-ai/crud-ui-generator

Generate CRUD route trees from an explicit route root relative to `src/pages/...`.

## Mental Model

This generator follows the same file-driven model as `@jskit-ai/ui-generator`.

- You point at one explicit route root relative to `src/pages/...`.
- The surface is derived from that path.
- The visible route URL is derived from that path.
- The generated list-page link placement is inferred from the nearest real parent subpages host when there is one.
- Explicit overrides still exist, but they are not required for the normal case.

## Command

```bash
npx jskit generate @jskit-ai/crud-ui-generator crud \
  admin/catalog/index/products \
  --resource-file packages/products/src/shared/productResource.js
```

That generates:

- `src/pages/admin/catalog/index/products/index.vue`
- `src/pages/admin/catalog/index/products/[recordId]/index.vue`
- `src/pages/admin/catalog/index/products/new.vue`
- `src/pages/admin/catalog/index/products/[recordId]/edit.vue`
- `src/pages/admin/catalog/index/products/_components/...`

## Defaults

From the explicit `target-root`, the generator derives:

- the owning surface
- the visible CRUD route
- the default list-page placement target
- the default link component token
- the default relative `to` for nested subpage links

The generated list-page link follows the same parent-host inference as `@jskit-ai/ui-generator page`.

If you want the detailed behavior, read:

- `npx jskit generate ui-generator page help`

That is where the parent-host, tab-link, and relative `to` behavior is explained.

## Options

- `--resource-file`: required resource module path relative to the app root
- `--operations`: optional comma-separated subset of `list,view,new,edit`, defaulting to all four
- `--display-fields`: optional comma-separated subset of fields to render
- `--id-param`: optional route param name for record pages, default `recordId`
- `--link-placement`: optional link placement override for the generated list page
- `--namespace`: optional CRUD namespace override when the resource module does not expose `resource.resource`

## Route Roots

Use the real route root you want in the app:

- index-route parent child: `admin/catalog/index/products`
- nested under a record view page: `admin/customers/[customerId]/index/pets`
- file-route parent child: `admin/customers/[customerId]/orders`
- top-level route: `admin/products`

There is no separate `surface`, `directory-prefix`, `route-path`, or `container` assembly step anymore.
npm package: @jskit-ai/kernel
Description: Internal JSKIT framework runtime package.
Latest version: 0.1.32

# kernel

Internal JSKIT framework runtime package.

This package contains the merged runtime internals:
- container
- kernel
- http fastify bridge
- server runtime primitives
- support primitives
- surface routing primitives
- platform runtime bootstrap

## Historical note

kernel was assembled moving code from these legacy packages and then deleting them:

  - @jskit-ai/container-core
  - @jskit-ai/http-fastify-core
  - @jskit-ai/kernel
  - @jskit-ai/platform-server-runtime
  - @jskit-ai/server-runtime-core
  - @jskit-ai/support-core
  - @jskit-ai/surface-routing