open-index/open-npm huggingface dataset:
npm package: @nous-excalidraw/common
Description: Excalidraw common functions, constants, etc.
Latest version: 0.18.1

# @nous-excalidraw/common

## Install

```bash
npm install @nous-excalidraw/common
```

If you prefer Yarn over npm, use this command to install the Excalidraw utils package:

```bash
yarn add @nous-excalidraw/common
```

With PNPM, similarly install the package with this command:

```bash
pnpm add @nous-excalidraw/common
```
npm package: @nous-excalidraw/element
Description: Excalidraw elements-related logic
Latest version: 0.18.1

# @nous-excalidraw/element

## Install

```bash
npm install @nous-excalidraw/element
```

If you prefer Yarn over npm, use this command to install the Excalidraw utils package:

```bash
yarn add @nous-excalidraw/element
```

With PNPM, similarly install the package with this command:

```bash
pnpm add @nous-excalidraw/element
```
npm package: @nous-excalidraw/math
Description: Excalidraw math functions
Latest version: 0.18.1

# @nous-excalidraw/math

## Install

```bash
npm install @nous-excalidraw/math
```

If you prefer Yarn over npm, use this command to install the Excalidraw utils package:

```bash
yarn add @nous-excalidraw/math
```

With PNPM, similarly install the package with this command:

```bash
pnpm add @nous-excalidraw/math
```
npm package: @nous-excalidraw/utils
Description: Excalidraw utility functions
Latest version: 0.1.2

# @nous-excalidraw/utils

## Install

```bash
npm install @nous-excalidraw/utils
```

If you prefer Yarn over npm, use this command to install the Excalidraw utils package:

```bash
yarn add @nous-excalidraw/utils
```

## API

### `serializeAsJSON`

See [`serializeAsJSON`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#serializeAsJSON) for API and description.

### `exportToBlob` (async)

Export an Excalidraw diagram to a [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob).

### `exportToSvg`

Export an Excalidraw diagram to a [SVGElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGElement).

## Usage

Excalidraw utils is published as a UMD (Universal Module Definition). If you are using a module bundler (for instance, Webpack), you can import it as an ES6 module:

```js
import { exportToSvg, exportToBlob } from "@nous-excalidraw/utils";
```

To use it in a browser directly:

```html
<script src="https://unpkg.com/@nous-excalidraw/utils@0.1.0/dist/excalidraw-utils.min.js"></script>
<script>
  // ExcalidrawUtils is a global variable defined by excalidraw.min.js
  const { exportToSvg, exportToBlob } = ExcalidrawUtils;
</script>
```

Here's the `exportToBlob` and `exportToSvg` functions in action:

```js
const excalidrawDiagram = {
  type: "excalidraw",
  version: 2,
  source: "https://excalidraw.com",
  elements: [
    {
      id: "vWrqOAfkind2qcm7LDAGZ",
      type: "ellipse",
      x: 414,
      y: 237,
      width: 214,
      height: 214,
      angle: 0,
      strokeColor: "#000000",
      backgroundColor: "#15aabf",
      fillStyle: "hachure",
      strokeWidth: 1,
      strokeStyle: "solid",
      roughness: 1,
      opacity: 100,
      groupIds: [],
      roundness: null,
      seed: 1041657908,
      version: 120,
      versionNonce: 1188004276,
      isDeleted: false,
      boundElementIds: null,
    },
  ],
  appState: {
    viewBackgroundColor: "#ffffff",
    gridSize: null,
  },
};

// Export the Excalidraw diagram as SVG string
const svg = exportToSvg(excalidrawDiagram);
console.log(svg.outerHTML);

// Export the Excalidraw diagram as PNG Blob URL
(async () => {
  const blob = await exportToBlob({
    ...excalidrawDiagram,
    mimeType: "image/png",
  });

  const urlCreator = window.URL || window.webkitURL;
  console.log(urlCreator.createObjectURL(blob));
})();
```
npm package: @nous_canvas/common
Description: Excalidraw common functions, constants, etc.
Latest version: 0.18.0

# @excalidraw/common

## Install

```bash
npm install @excalidraw/common
```

If you prefer Yarn over npm, use this command to install the Excalidraw utils package:

```bash
yarn add @excalidraw/common
```

With PNPM, similarly install the package with this command:

```bash
pnpm add @excalidraw/common
```
npm package: @nous_canvas/element
Description: Excalidraw elements-related logic
Latest version: 0.18.0

# @excalidraw/element

## Install

```bash
npm install @excalidraw/element
```

If you prefer Yarn over npm, use this command to install the Excalidraw utils package:

```bash
yarn add @excalidraw/element
```

With PNPM, similarly install the package with this command:

```bash
pnpm add @excalidraw/element
```
npm package: @nous_canvas/math
Description: Excalidraw math functions
Latest version: 0.18.0

# @excalidraw/math

## Install

```bash
npm install @excalidraw/math
```

If you prefer Yarn over npm, use this command to install the Excalidraw utils package:

```bash
yarn add @excalidraw/math
```

With PNPM, similarly install the package with this command:

```bash
pnpm add @excalidraw/math
```
npm package: @nous_canvas/utils
Description: Excalidraw utility functions
Latest version: 0.18.0

# @excalidraw/utils

## Install

```bash
npm install @excalidraw/utils
```

If you prefer Yarn over npm, use this command to install the Excalidraw utils package:

```bash
yarn add @excalidraw/utils
```

## API

### `serializeAsJSON`

See [`serializeAsJSON`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#serializeAsJSON) for API and description.

### `exportToBlob` (async)

Export an Excalidraw diagram to a [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob).

### `exportToSvg`

Export an Excalidraw diagram to a [SVGElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGElement).

## Usage

Excalidraw utils is published as a UMD (Universal Module Definition). If you are using a module bundler (for instance, Webpack), you can import it as an ES6 module:

```js
import { exportToSvg, exportToBlob } from "@excalidraw/utils";
```

To use it in a browser directly:

```html
<script src="https://unpkg.com/@excalidraw/utils@0.1.0/dist/excalidraw-utils.min.js"></script>
<script>
  // ExcalidrawUtils is a global variable defined by excalidraw.min.js
  const { exportToSvg, exportToBlob } = ExcalidrawUtils;
</script>
```

Here's the `exportToBlob` and `exportToSvg` functions in action:

```js
const excalidrawDiagram = {
  type: "excalidraw",
  version: 2,
  source: "https://excalidraw.com",
  elements: [
    {
      id: "vWrqOAfkind2qcm7LDAGZ",
      type: "ellipse",
      x: 414,
      y: 237,
      width: 214,
      height: 214,
      angle: 0,
      strokeColor: "#000000",
      backgroundColor: "#15aabf",
      fillStyle: "hachure",
      strokeWidth: 1,
      strokeStyle: "solid",
      roughness: 1,
      opacity: 100,
      groupIds: [],
      roundness: null,
      seed: 1041657908,
      version: 120,
      versionNonce: 1188004276,
      isDeleted: false,
      boundElementIds: null,
    },
  ],
  appState: {
    viewBackgroundColor: "#ffffff",
    gridSize: null,
  },
};

// Export the Excalidraw diagram as SVG string
const svg = exportToSvg(excalidrawDiagram);
console.log(svg.outerHTML);

// Export the Excalidraw diagram as PNG Blob URL
(async () => {
  const blob = await exportToBlob({
    ...excalidrawDiagram,
    mimeType: "image/png",
  });

  const urlCreator = window.URL || window.webkitURL;
  console.log(urlCreator.createObjectURL(blob));
})();
```
npm package: @nous_excalidraw/common
Description: Excalidraw common functions, constants, etc.
Latest version: 0.18.0-cy.1

# @excalidraw/common

## Install

```bash
npm install @excalidraw/common
```

If you prefer Yarn over npm, use this command to install the Excalidraw utils package:

```bash
yarn add @excalidraw/common
```

With PNPM, similarly install the package with this command:

```bash
pnpm add @excalidraw/common
```
npm package: @nous_excalidraw/element
Description: Excalidraw elements-related logic
Latest version: 0.18.0-cy.1

# @excalidraw/element

## Install

```bash
npm install @excalidraw/element
```

If you prefer Yarn over npm, use this command to install the Excalidraw utils package:

```bash
yarn add @excalidraw/element
```

With PNPM, similarly install the package with this command:

```bash
pnpm add @excalidraw/element
```
npm package: @nous_excalidraw/math
Description: Excalidraw math functions
Latest version: 0.18.0-cy.1

# @excalidraw/math

## Install

```bash
npm install @excalidraw/math
```

If you prefer Yarn over npm, use this command to install the Excalidraw utils package:

```bash
yarn add @excalidraw/math
```

With PNPM, similarly install the package with this command:

```bash
pnpm add @excalidraw/math
```
npm package: @nousantx/anyframe-dom
Description: Runs AnyFrame directly on DOM.
Author: NOuSantx
Latest version: 0.1.0

# AnyFrame/css

`anyframe/css` is a **utility-first CSS framework** with rich features, fast, and easy to customize. We use `tenoxui` library for the style computation since this library is small and lightweight.

## Installation

```bash
npm i @anyframe/css
```

## Imports

```javascript
// esm
import { AnyCSS } from '@anyframe/css'

// cjs
const { AnyCSS } = require('@anyframe/css')

// iife
const { AnyCSS } = __anyframe_css__
```

## Usage Example

```javascript
const css = AnyCSS({
  /* configuration here */
})

console.log(ui.render(['bg-red-500', 'flex']))
```

## License

MIT © 2025 AnyFrame Org.
npm package: @nousantx/color-generator
Description: Generate color shade easily.
Author: NOuSantx
Latest version: 1.6.0

# Color Shade Generator

Generate shades of color from a single hex color.

## Installation

```shell
npm i @nousantx/color-generator
```

## Usage

```javascript
import { generateColors } from '@nousantx/color-generator'

const colorShades = generateColors({
  option: {
    format: 'object2',
    output: 'hex'
  },
  color: {
    primary: '#ccf654',
    secondary: '#a55de7'
  }
})

console.log(colorShades)
```

## API

### `generateColors(options)`

Generates color shades based on the provided options.

#### Parameters

- `options`: An object containing the following properties:
  - `option`: An object with the following properties:
    - `format`: The output format. Default is 'css'.
    - `output`: The color format. Default is 'hex'.
  - `color`: An object where keys are color names and values are base color HEX values.

#### Returns

Depending on the format option, it returns CSS variables, SCSS variables, a JavaScript object, or an array of color shades.

## Options

### `option.format`

Specifies the output format of the generated color shades.

- Type: `'css' | 'scss' | 'object' | 'object2' | 'array'`
- Default: `'css'`

#### Format Types:

- `'css'`: Returns CSS custom properties (variables).
- `'scss'`: Returns SCSS variables.
- `'object'`: Returns a nested object with color names as keys and shade values as nested objects.
- `'object2'`: Returns a flat object with color-shade combinations as keys.
- `'array'`: Returns an object with color names as keys and arrays of shade values.

### `option.output`

Specifies the color format of the generated shades.

- Type: `'hex' | 'rgb' | 'hsl'`
- Default: `'hex'`

### `color`

An object where keys are color names and values are base color HEX values.

- Type: `{ [colorName: string]: string }`

## Example Output

```javascript
// With format: 'object2' and output: 'hex'
{
  'primary-50': '#f4fde6',
  'primary-100': '#e8fccc',
  // ... other primary shades
  'secondary-50': '#f7f0fe',
  'secondary-100': '#efe1fd',
  // ... other secondary shades
}
```

## Notes

- The generator creates 11 shades for each color (50, 100, 200, ..., 900, 950).
- Ensure that the input HEX colors are valid 6-digit HEX codes which not too dark or too light (e.g., '#ccf654').

## License

MIT
npm package: @nousantx/color-library
Description: Small color lib for @nousantx/color-generator
Author: NOuSantx
Latest version: 0.2.0

# Simple Color Library

## Installation

```sh
npm i @nousantx/color-library @nousantx/color-generator
```

## Usage

```js
import color from '@nousantx/color-library'
import { generateColors } from '@nousantx/color-generator'

const colors = generateColors({
  color,
  option: {
    output: 'hex',
    format: 'css'
  }
})

console.log(colors)
```
npm package: @nousantx/nwm
Description: Another workspace manager.
Author: NOuSantx
Latest version: 1.1.0

# NWM - aNother Workspace Manager

## Installation

`npm i -g @nousantx/nwm`

### Usage

```
▶ nwm
@nousantx/nwm v1.1.0

Usage:
  nwm list # List all scripts from all workspaces
  nwm search <term> # Search available scripts by name or content
  nwm run <workspace> <script> # Run specific script from a workspace
  nwm add <workspace> [<-D>] <...packages> # Add dependencies to a workspace
  nwm remove <workspace> <...packages> # Remove dependencies from a workspace
  nwm version <workspace> # Update version of a workspace
  nwm interactive # Start interactive mode
  nwm help # Show this message
```

1. List all scripts

```sh
nwm list
```

2. Search scripts

```sh
nwm search <term>
```

Example :

```sh
nwm search build
```

3. Run a script

```sh
nwm run <workspace> <script>
```

Example :

```sh
nwm run core build
```

4. Add/Remove dependencies

Adding dependencies:

```sh
nwm add package-a -D tenoxui @tenoxui/property
```

Removing dependencies:

```sh
nwm remove package-a tenoxui
```

5. Version control

```sh
nwm version package-a
```

4. Interactive mode

```sh
nwm interactive
```
npm package: @nousantx/tenoxui-create-theme
Description: Create theme variable for your tenoxui
Author: NOuSantx
Latest version: 1.0.0

# `tenoxui-create-theme`

Simple library to create color theme for your tenoxui configuration.

This library will generate css variable of generated colors, with 11 shades of color started from `50` all the way to `950`.

## Installation

```bash
npm i @tenoxui/static @nousantx/tenoxui-create-theme
```

## Usage

Import the package :

```javascript
// esm
import { theme, variables } from '@nousantx/tenoxui-create-theme'

// cjs
const { theme, variables } = require('@nousantx/tenoxui-create-theme')

// iife (make sure to include the iife bundle)
const { theme, variables } = __create_theme__
```

Inside your tenoxui configuration :

```javascript
// example
import { TenoxUI } from '@tenoxui/static'
import { theme, variables } from '@nousantx/tenoxui-create-theme'

const color = {
  red: '#ff0000',
  primary: '#ccf654',
  neutral: '#676767'
  // more color here...
}

const ui = new TenoxUI({
  values: variables(color),
  apply: {
    "[data-theme='light']": theme(color),
    "[data-theme='dark']": theme(color, true)
  }
})
```

## Parameter

### `theme`

```typescript
function variables(color: ColorInput) {}
```

- `color` - Object of color you want to include to the theme.
- `isDark` - Option to reverse the order of the generated color variable.

### `variables`

```typescript
function theme(color: ColorInput, isDark?: boolean) {}
```

- `color` - Object of color you want to include to the theme.
npm package: @nousantx/tenoxui-preset
Description: Ready to use tenoxui preset with minimal setup.
Author: NOuSantx
Latest version: 0.4.0

# TenoxUI Minimal Preset

This is a minimal configuration template for your TenoxUI.

## Installation

```bash
npm i @tenoxui/static @nousantx/tenoxui-preset
```

## Usage

```javascript
import { TenoxUI } from '@tenoxui/static'
import { createConfig } from '@nousantx/tenoxui-preset'

const ui = new TenoxUI(
  createConfig({
    sizing: 0.25
  })
)

console.log(
  ui.generate([
    'bg-red-500',
    'hover:bg-blue-500',
    'flex',
    'grid',
    'p-8',
    'text-center',
    'text-lime-500/30'
    // other class names ...
  ])
)
```

## Credits

This library is inspired by [Tailwind CSS](https://tailwindcss.com). While no code has been copied, it follows Tailwind's utility-first naming convention and adopts similar theme values, such as colors and box-shadow values. Tailwind CSS is a trademark of Tailwind Labs Inc.
npm package: @nousantx/tenoxui-styler
Description: Quick TenoxUI styler with rich features
Author: NOuSantx
Latest version: 0.1.24

# TenoxUI Styler

## Installation

```bash
npm i @nousantx/tenoxui-styler
```

Or UMD :

```html
<script src="https://cdn.jsdelivr.net/npm/@nousantx/tenoxui-styler@latest/dist/index.umd.min.js"></script>
```

Note that this package only have `esm` and `umd` build.

## Usage

### React

```javascript
import { useLayoutEffect } from '@nousantx/tenoxui/styler'
import { init, createConfig } from '@nousantx/tenoxui/styler'

export function App() {
  useLayoutEffect(() => {
    const config = createConfig({
      property: { bg: 'background' }
    })

    init({ config })
  }, [])

  return <div class="bg-red"></div>
}
```

### HTML / UMD

```html
<script src="https://cdn.jsdelivr.net/npm/@nousantx/tenoxui-styler@0.1.0/dist/index.umd.min.js"></script>
<script>
  const config = __nsx_styler.createConfig({
    property: { bg: 'background' }
  })

  __nsx_styler.init({ config })
</script>
```

## LICENSE

MIT © 2024-Present
npm package: @nousantx/tenoxui-utility-styles
Description: Generate color shade easily.
Author: NOuSantx
Latest version: 0.1.1

# TenoxUI Styles Kit

## About

This package contains predefined UI class names you can use for your tenoxui project, such as `btn`, `btn-sm`, `badge`, `text-2xl`, and many more. With this library, you don't need to re create same styles on every projects.

## Usage

### Install Dependencies

```
npm install @tenoxui/core @nousantx/tenoxui-utility-styles @nousantx/tenoxui-image-generator-config -D
```

### React/Preact Example

Create `styler.js` file :

```javascript
import { useLayoutEffect } from 'react' // or 'preact/hooks'
import { MakeTenoxUI } from '@tenoxui/core'
import { config } from '@nousantx/tenoxui-image-generator-config'
import { templates } from '@nousantx/tenoxui-utility-styles'

export const styler = () => {
  useLayoutEffect(() => {
    document.querySelectorAll('*[class]').forEach((element) => {
      new MakeTenoxUI({
        ...config,
        element,
        aliases: templates.all
      }).useDOM()
    })
  }, [])
}
```

Use in your component :

```javascript
import { styler } from './styler'

const App = () => {
  styler()
  return (
    <div className="flex gap-2rem">
      <button className="btn">Button</button>
      <button className="btn btn-ghost">Button</button>

      <span className="badge badge-danger">Button</span>

      <h1 class="text-2xl">Hello</h1>
      <p class="text-md">Lorem ipsum dolor sit amet.</p>
    </div>
  )
}

export default App
```

This library not only can be used in your react project. But make sure to use `tenoxui/core v1.3+`.

## LICENSE

MIT
npm package: @nousdev/agent-metadata
Description: Agent-consumable metadata extraction and emission for Nous documentation
Latest version: 0.2.0

# @nousdev/agent-metadata

Extracts structured metadata from the Nous Document Model and emits machine-readable outputs for LLMs, autonomous agents, and RAG pipelines.

## Installation

```bash
npm install @nousdev/agent-metadata
```

## Usage

```typescript
import { createAgentMetadataPlugin } from '@nousdev/agent-metadata';

const plugin = createAgentMetadataPlugin({
  emitters: ['llms-txt', 'rag-chunks', 'mcp-resources', 'a2a'],
});

// Use as a Nous pipeline plugin, then emit after build:
const outputs = plugin.emit(config);
```

Individual emitters can also be called directly:

```typescript
import { emitLlmsTxt, emitRagChunks, extractAll } from '@nousdev/agent-metadata';

const metadata = extractAll(documents);
const llmsTxt = emitLlmsTxt(metadata, config);
const ragChunks = emitRagChunks(metadata, config);
```

## Supported Protocols

| Emitter | Output | Protocol |
|---------|--------|----------|
| `emitLlmsTxt` | `llms.txt` | LLM-readable site overview |
| `emitLlmsFullTxt` | `llms-full.txt` | Complete content for LLM ingestion |
| `emitA2AAgentCard` | `.well-known/agent.json` | Google Agent-to-Agent discovery |
| `emitAgentsJson` | `.well-known/agents.json` | Wildcard AI stateless agent contracts |
| `emitOpenApiSpec` | `.well-known/openapi.json` | OpenAPI specification |
| `emitRagChunks` | `rag-chunks.json` | Semantic chunks for vector pipelines |
| `emitMcpResources` | `mcp-resources.json` | Model Context Protocol manifest |
| `emitCrossRefManifest` | `cross-refs.json` | Document graph for external tools |
| `emitSchemaJsonLd` | `schema.jsonld` | Schema.org structured data |
| `emitAgentsMd` | `AGENTS.md` | Agent-readable documentation index |
| `emitCodeExamples` | `code-examples.json` | Extracted code samples |

## API

- **`createAgentMetadataPlugin(config?)`** — Nous pipeline plugin that collects documents during transform and emits metadata files.
- **`extractAll(documents)`** — Extract metadata from all documents.
- **`runEmitters(metadata, config)`** — Run all configured emitters against extracted metadata.
- **`readQueryLog`, `analyzeQueryLog`** — Analyze agent query logs to identify coverage gaps.
- **`generateAdaptationSuggestions`, `buildAdaptationReport`** — Suggest documentation improvements based on query patterns.

## Part of Nous

This package is part of [Nous](https://github.com/salmad3/nousdev), an adaptive documentation infrastructure that transforms Markdown into agent-ready knowledge. Use it independently or as part of the full platform.

## License

MIT
npm package: @nousdev/agents
Description: LLM-powered documentation agents for coverage analysis and annotation suggestions
Latest version: 0.2.0

# @nousdev/agents

LLM-powered documentation agents that analyze and improve Nous documentation sites.

## Installation

```bash
npm install @nousdev/agents
```

## Usage

```typescript
import { runCoverageAgent } from '@nousdev/agents';

const report = await runCoverageAgent({
  contentDir: './docs',
  outDir: './dist',
  maxFiles: 50,
  extensions: ['.kd', '.md', '.mdx'],
});

console.log(`Analyzed ${report.filesAnalyzed} files`);
console.log(`Found ${report.totalSuggestions} coverage suggestions`);

for (const suggestion of report.suggestions) {
  console.log(`${suggestion.filePath} [${suggestion.section}]`);
  console.log(`  Suggested answers: ${suggestion.suggestedAnswers}`);
  console.log(`  Confidence: ${suggestion.confidence}`);
}
```

## API

- **`runCoverageAgent(options)`** — Reads documentation pages and uses LLM analysis to identify missing `answers` annotations. Returns a `CoverageReport` with per-section suggestions, each scored by confidence level (`high`, `medium`, `low`).

### CoverageAgentOptions

| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `contentDir` | `string` | — | Directory containing documentation files. |
| `outDir` | `string` | — | Output directory for the suggestions report. |
| `maxFiles` | `number` | — | Maximum files to analyze (for cost control). |
| `extensions` | `string[]` | `['.kd', '.md', '.mdx']` | File extensions to include. |

Built on the [Claude Agent SDK](https://github.com/anthropics/claude-agent-sdk).

## Part of Nous

This package is part of [Nous](https://github.com/salmad3/nousdev), an adaptive documentation infrastructure that transforms Markdown into agent-ready knowledge. Use it independently or as part of the full platform.

## License

MIT
npm package: @nousdev/core
Description: Nous core engine: transform pipeline, plugin system, build orchestration
Latest version: 0.2.0

# @nousdev/core

Build pipeline orchestration for Nous: parse, infer, transform, and render documentation.

## Installation

```bash
npm install @nousdev/core
```

## Usage

```typescript
import { buildAll, inferAll, generateSidebar } from '@nousdev/core';
import { createMarkdownParser } from '@nousdev/parser-md';
import { createHtmlRenderer } from '@nousdev/renderer-html';

const result = await buildAll({
  contentDir: './docs',
  outDir: './dist',
  baseUrl: '/',
  parsers: [createMarkdownParser()],
  renderer: createHtmlRenderer(),
  plugins: [],
  config: {},
});

console.log(`Built ${result.pages.length} pages in ${result.duration}ms`);
```

## API

- **`buildAll(options)`** — Full pipeline: parse, infer, transform, render. Returns `BuildResult` with pages, documents, duration, and errors.
- **`buildEngine(options)`** — Engine-only pipeline: parse, infer, transform (no rendering).
- **`parseAll(options)`** — Parse all source files into a `Map<string, DocumentNode>`.
- **`renderAll(options)`** — Render pre-parsed documents to HTML.
- **`inferAll(documents)`** — Run semantic annotation inference on all documents.
- **`inferDocumentAnnotations(doc)`** — Infer type, audience, and answers annotations for a single document.
- **`generateSidebar(documents, baseUrl)`** — Auto-generate sidebar navigation from document structure.
- **`tabGroupTransform`** — Document transform that groups consecutive tabs into `TabGroupNode`.
- **`buildBreadcrumbs(filePath, documents)`** — Generate breadcrumb navigation items.
- **`slugify(text)`** — Convert heading text to URL-safe slugs.

## Part of Nous

This package is part of [Nous](https://github.com/salmad3/nousdev), an adaptive documentation infrastructure that transforms Markdown into agent-ready knowledge. Use it independently or as part of the full platform.

## License

MIT
npm package: @nousdev/parser-kd
Description: KD parser: Knowledge Documents → Nous Document Model
Latest version: 0.2.0

# @nousdev/parser-kd

KD (Knowledge Document) parser that converts `.kd` files into the Nous Document Model with block-level annotations.

## Installation

```bash
npm install @nousdev/parser-kd
```

## Usage

```typescript
import { createKdParser } from '@nousdev/parser-kd';

const parser = createKdParser();
const doc = await parser.parse(
  `---
title: Getting Started
---

{type: "guide", audience: "human", answers: "How do I install?"}
## Installation

Run \`npm install nous\` to get started.`,
  { filePath: 'getting-started.kd' },
);
```

## API

- **`createKdParser()`** — Returns a `NousParser` for `.kd` files. KD is a strict superset of CommonMark with three extensions: block annotations, semantic containers, and cross-document relationships.
- **`preprocess(source)`** — Extract KD extensions from source, returning clean Markdown and a `PreprocessResult` with annotations, containers, and relations.
- **`attachAnnotations(doc, result)`** — Reattach extracted KD metadata to NDM nodes after Markdown parsing.

## Part of Nous

This package is part of [Nous](https://github.com/salmad3/nousdev), an adaptive documentation infrastructure that transforms Markdown into agent-ready knowledge. Use it independently or as part of the full platform.

## License

MIT
npm package: @nousdev/parser-kdx
Description: KDX parser: Knowledge Documents with JSX components → Nous Document Model
Latest version: 0.2.0

# @nousdev/parser-kdx

KDX parser that combines KD semantic annotations with MDX component embedding, converting `.kdx` files into the Nous Document Model.

## Installation

```bash
npm install @nousdev/parser-kdx
```

## Usage

```typescript
import { createKdxParser } from '@nousdev/parser-kdx';

const parser = createKdxParser();
const doc = await parser.parse(
  `{type: "tutorial", audience: "human"}
## Interactive Demo

<CodePlayground lang="typescript" />`,
  { filePath: 'demo.kdx', format: 'kdx' },
);
```

## API

- **`createKdxParser()`** — Returns a `NousParser` for `.kdx` files. Composes the KD preprocessor (annotations, containers, relations) with the MDX parser (JSX component syntax). The two extension axes are orthogonal: KD adds metadata about content, MDX adds JSX components as content.

## Part of Nous

This package is part of [Nous](https://github.com/salmad3/nousdev), an adaptive documentation infrastructure that transforms Markdown into agent-ready knowledge. Use it independently or as part of the full platform.

## License

MIT
npm package: @nousdev/parser-md
Description: Markdown parser: Markdown/GFM → Nous Document Model
Latest version: 0.2.0

# @nousdev/parser-md

Markdown and GFM parser that converts `.md` files into the Nous Document Model.

## Installation

```bash
npm install @nousdev/parser-md
```

## Usage

```typescript
import { createMarkdownParser } from '@nousdev/parser-md';

const parser = createMarkdownParser();
const doc = await parser.parse('# Hello\n\nWorld', {
  filePath: 'hello.md',
  format: 'md',
});

console.log(doc.children[0]); // HeadingNode { type: 'heading', depth: 1, ... }
```

## API

- **`createMarkdownParser()`** — Returns a `NousParser` for `.md` and `.markdown` files. Supports CommonMark, GFM (tables, strikethrough, task lists), and YAML frontmatter.
- **`mdastToNDM(tree)`** — Low-level converter from remark MDAST to NDM node arrays.
- **`extractText(node)`** — Extract plain text from an MDAST inline node tree.

Built on [unified](https://unifiedjs.com/) with `remark-parse`, `remark-gfm`, and `remark-frontmatter`.

## Part of Nous

This package is part of [Nous](https://github.com/salmad3/nousdev), an adaptive documentation infrastructure that transforms Markdown into agent-ready knowledge. Use it independently or as part of the full platform.

## License

MIT
npm package: @nousdev/parser-mdx
Description: MDX parser: MDX (Markdown + JSX) → Nous Document Model
Latest version: 0.2.0

# @nousdev/parser-mdx

MDX parser that converts `.mdx` files (Markdown + JSX) into the Nous Document Model.

## Installation

```bash
npm install @nousdev/parser-mdx
```

## Usage

```typescript
import { createMdxParser } from '@nousdev/parser-mdx';

const parser = createMdxParser();
const doc = await parser.parse(
  `# API Reference

<EndpointCard method="GET" path="/users" />

Returns a list of users.`,
  { filePath: 'api.mdx', format: 'mdx' },
);
```

## API

- **`createMdxParser()`** — Returns a `NousParser` for `.mdx` files. JSX elements become `ComponentInvocationNode` entries in the NDM tree. Supports GFM and YAML frontmatter alongside JSX.

Built on [unified](https://unifiedjs.com/) with `remark-parse`, `remark-mdx`, `remark-gfm`, and `remark-frontmatter`.

## Part of Nous

This package is part of [Nous](https://github.com/salmad3/nousdev), an adaptive documentation infrastructure that transforms Markdown into agent-ready knowledge. Use it independently or as part of the full platform.

## License

MIT
npm package: @nousdev/plugin-shiki
Description: Syntax highlighting transform plugin using Shiki
Latest version: 0.2.0

# @nousdev/plugin-shiki

Syntax highlighting plugin for Nous that applies [Shiki](https://shiki.style/) to code blocks in the document model.

## Installation

```bash
npm install @nousdev/plugin-shiki
```

## Usage

```typescript
import { createShikiPlugin } from '@nousdev/plugin-shiki';

const plugin = createShikiPlugin({
  theme: 'github-dark',
  darkTheme: 'github-dark-dimmed',
  languages: ['typescript', 'python', 'bash'],
});

// Pass to the Nous pipeline as a plugin
const result = await buildAll({
  // ...
  plugins: [plugin],
});
```

## API

- **`createShikiPlugin(options?)`** — Returns a `NousPlugin` that walks the NDM tree, finds `codeBlock` nodes with a language annotation, and injects pre-rendered highlighted HTML via Shiki. The raw `value` is preserved for copy-to-clipboard and AI indexing.

### Options

| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `theme` | `string` | `'github-dark'` | Shiki theme for syntax highlighting. |
| `darkTheme` | `string` | — | Optional second theme for dual-theme rendering. |
| `languages` | `string[]` | All bundled | Restrict which languages to load. |

## Part of Nous

This package is part of [Nous](https://github.com/salmad3/nousdev), an adaptive documentation infrastructure that transforms Markdown into agent-ready knowledge. Use it independently or as part of the full platform.

## License

MIT
npm package: @nousdev/renderer-html
Description: HTML renderer: Nous Document Model → static HTML
Latest version: 0.2.0

# @nousdev/renderer-html

HTML renderer that converts Nous Document Model nodes into static HTML pages with the Nous design system.

## Installation

```bash
npm install @nousdev/renderer-html
```

## Usage

```typescript
import { createHtmlRenderer } from '@nousdev/renderer-html';
import type { DocumentNode } from '@nousdev/types';

const renderer = createHtmlRenderer();

const result = await renderer.render(document, {
  filePath: 'getting-started.md',
  baseUrl: '/',
  config: {
    sidebar: [{ label: 'Home', href: '/' }],
    nav: [{ label: 'Docs', href: '/docs' }],
  },
});

console.log(result.html);
```

## API

- **`createHtmlRenderer()`** — Returns a `NousRenderer` that produces complete HTML pages with navigation, sidebar, table of contents, and theme CSS.
- **`renderDocument(document)`** — Render NDM nodes to an HTML content fragment (without page shell).
- **`renderPage(options)`** — Render a full HTML page with head, nav, sidebar, content, and footer.
- **`render404Page(options)`** — Render a styled 404 error page.

Output includes DOMPurify-sanitized HTML to prevent XSS.

## Part of Nous

This package is part of [Nous](https://github.com/salmad3/nousdev), an adaptive documentation infrastructure that transforms Markdown into agent-ready knowledge. Use it independently or as part of the full platform.

## License

MIT
npm package: @nousdev/search
Description: Full-text search: index generation and client-side query engine
Latest version: 0.2.0

# @nousdev/search

Full-text search index builder and client-side search engine for Nous documentation sites.

## Installation

```bash
npm install @nousdev/search
```

## Usage

```typescript
import { extractSearchDocument, buildSearchIndex } from '@nousdev/search';
import type { DocumentNode } from '@nousdev/types';

// Extract searchable content from NDM documents
const searchDocs = documents.map((doc) => extractSearchDocument(doc, '/docs'));

// Build the search index
const index = buildSearchIndex(searchDocs);

console.log(`Indexed ${index.totalDocuments} docs, ${index.totalSections} sections`);
```

To embed the client-side search UI:

```typescript
import { SEARCH_CLIENT_SCRIPT, SEARCH_CSS } from '@nousdev/search';

// Include in your HTML template
const html = `<style>${SEARCH_CSS}</style><script>${SEARCH_CLIENT_SCRIPT}</script>`;
```

## API

- **`extractSearchDocument(doc, route)`** — Convert an NDM `DocumentNode` into a `SearchDocument` with section-level content extraction.
- **`buildSearchIndex(documents)`** — Build a lightweight inverted index from extracted search documents. Returns a `SearchIndex` with entries, document count, and section count.
- **`SEARCH_CLIENT_SCRIPT`** — Embeddable JavaScript for client-side search with no runtime dependencies.
- **`SEARCH_CSS`** — Companion styles for the search UI.

## Part of Nous

This package is part of [Nous](https://github.com/salmad3/nousdev), an adaptive documentation infrastructure that transforms Markdown into agent-ready knowledge. Use it independently or as part of the full platform.

## License

MIT
npm package: @nousdev/themes
Description: Built-in theme presets: Radiance, Obsidian, Terminal, Meridian
Latest version: 0.2.0

# @nousdev/themes

Theme presets and CSS token system for the Nous documentation platform.

## Installation

```bash
npm install @nousdev/themes
```

## Usage

```typescript
import { resolveTheme, resolvePreset, presets } from '@nousdev/themes';

// Resolve a theme from config (merges preset tokens with custom overrides)
const theme = resolveTheme({
  preset: 'obsidian',
  tokens: { '--ns-accent': '#4f9eff' },
});

// Access a preset directly
const terminal = resolvePreset('terminal');
console.log(terminal.codeTheme); // 'github-dark'
```

## Available Presets

| Preset | Description |
|--------|-------------|
| `radiance` | Default. Dark surfaces with luminous violet accents and warm ivory text. |
| `obsidian` | True black surfaces with indigo-blue accents and higher contrast. |
| `terminal` | Monochrome green-on-black with a CRT-inspired aesthetic. |
| `meridian` | Warm earth tones with amber accents for extended reading. |

Each preset overrides three token layers: depth (8 surface colors), accent (color family and semantics), and atmosphere (noise, glow, blur).

## API

- **`resolveTheme(themeConfig)`** — Merge a preset with custom token overrides into a `ResolvedTheme`.
- **`resolvePreset(name)`** — Look up a built-in `ThemePreset` by name.
- **`presets`** — Map of all available preset objects.

## Part of Nous

This package is part of [Nous](https://github.com/salmad3/nousdev), an adaptive documentation infrastructure that transforms Markdown into agent-ready knowledge. Use it independently or as part of the full platform.

## License

MIT
npm package: @nousdev/types
Description: Nous Document Model type definitions
Latest version: 0.2.0

# @nousdev/types

Nous Document Model (NDM) type definitions and configuration helpers for the entire Nous ecosystem.

## Installation

```bash
npm install @nousdev/types
```

## Usage

```typescript
import { defineConfig } from '@nousdev/types';
import type { DocumentNode, NousParser, NousPlugin } from '@nousdev/types';

export default defineConfig({
  title: 'My Docs',
  contentDir: './docs',
  theme: { preset: 'radiance' },
});
```

For engine-only (pipeline without HTML rendering):

```typescript
import { defineEngineConfig } from '@nousdev/types';

export default defineEngineConfig({
  title: 'My API Docs',
  contentDir: './docs',
  agentMetadata: { emitters: ['llms-txt', 'rag-chunks'] },
});
```

## API

- **`defineConfig(config)`** — Type-safe helper for full `NousConfig` (engine + docs platform).
- **`defineEngineConfig(config)`** — Type-safe helper for `NousEngineConfig` (pipeline only).
- **`createSafeHtml`, `escapeToSafeHtml`, `concatSafeHtml`** — Branded safe-HTML construction utilities.
- **Node types** — `DocumentNode`, `BlockNode`, `InlineNode`, `SectionNode`, `HeadingNode`, `CodeBlockNode`, and 30+ other NDM node types.
- **Interface types** — `NousParser`, `NousRenderer`, `NousPlugin`, `DocumentTransform`, `TransformContext`.
- **Config types** — `NousConfig`, `NousEngineConfig`, `ThemeConfig`, `AgentMetadataConfig`, `InferenceConfig`.

## Part of Nous

This package is part of [Nous](https://github.com/salmad3/nousdev), an adaptive documentation infrastructure that transforms Markdown into agent-ready knowledge. Use it independently or as part of the full platform.

## License

MIT
npm package: @nouton/ui
Description: Nouton AI UI component library — chat components and design system built on HeroUI + Tailwind CSS v4
Latest version: 1.0.1

# @nouton/ui

Nouton AI components and design system built on HeroUI + Tailwind CSS v4.

Storybook: [ui.nouton.com](https://ui.nouton.com/)

## Install

```bash
npm install @nouton/ui
```

### Peer dependencies

```bash
npm install react react-dom @heroui/react tailwindcss
```

The `ai` (Vercel AI SDK) peer dependency is optional — only needed if you use the chat components.

## Quick Start

Import the stylesheet once in your app entry:

```ts
import "@nouton/ui/index.css";
```

Then use components:

```tsx
import { Button, Input, NoutonLogo } from "@nouton/ui";
import { PromptInput, Attachments } from "@nouton/ui";
```

## Exports

| Specifier              | Contents                                             |
| ---------------------- | ---------------------------------------------------- |
| `@nouton/ui`           | All components (HeroUI re-exports + chat components) |
| `@nouton/ui/index.css` | Package stylesheet (Tailwind v4 + HeroUI theme)      |

## Development

```bash
npm install          # install dependencies
npm run storybook    # launch Storybook on :6006
npm run build        # build package (JS + types + CSS)
npm run typecheck    # type-check without emitting
npm run lint         # lint
```
npm package: @nouvellecuisine/nccamera
Description: Electron integration for node-gphoto2
Author: Nouvelle Cuisine
Latest version: 1.7.2

# nccamera

Electron integration for node-gphoto2.

## Usage

### Initialization

```javascript
const NCCamera = require('@nouvellecuisine/nccamera');

const nccamera = new NCCamera({
  autostart: true,
  callback: image => {
    // Do something with image
  },
});
```

The constructor takes a dictionary of options as parameter with the following keys:

- `autostart`: Boolean. Live Preview will be started automatically as soon as
  the camera is ready.
- `callback`: Function. Called for each frame of the Live Preview that should
  be displayed by the client.

### Trigger Auto-Focus

```javascript
nccamera.autofocus();
```

The camera will try to focus the current view.

`autofocus` takes no parameters. It returns a promise that resolves if
the command was sent successfully. However, there is no way to know
if the camera has finished focusing or has managed to do it.

### Capture Image

```javascript
nccamera.capture(autofocus).then(
  image => {
    // Do something with image
  },
  () => console.error('Capture failed')
);
```

The camera will take a picture.

`capture` takes one parameter:

- `autofocus`: Boolean. Tells the camera to trigger auto-focus before taking the
  picture. If true, the operation will be retried until focus is obtained or up to
  5 times.

This returns a promise which resolves with the image data. It fails if no focus
could be obtained.

### Capture Video

```javascript
nccamera.startVideo();

nccamera.stopVideo('/tmp/foo.mov').then(() => {
  // Process video file
});
```

The camera will take a video. `path` is the path on the host where video file will
be written.

Please note the following limitations:

- The video will not fit in the camera's RAM so a memory card should be inserted in
  the camera.
- The provided `path` should not exist, otherwise it will not be overwritten.
- A temporary file will be created in the same directory as the given `path`.

## Example of using image data

### Writing to a PixiJS texture

```javascript
// Create blob URL from data
const arraybuffer = Uint8Array.from(image).buffer;
const blob = new Blob([arraybuffer], { type: 'image/jpeg' });
const blobUrl = URL.createObjectURL(blob);

// Load it as an image, then draw as texture when the image is ready
const img = new Image();
img.addEventListener('load', () => {
  URL.revokeObjectURL(blobUrl);
  const texture = new PIXI.Texture(new PIXI.BaseTexture(img));
  const oldTexture = videoSprite.texture;
  videoSprite.texture = texture;
  oldTexture.destroy(true);
});
img.src = blobUrl;
```

### Writing to an image

```javascript
const encoded = Buffer.from(image).toString('base64');
document.getElementById('capture').src = 'data:image/jpeg;base64,' + encoded;
```

## Debug tools

The module includes a GUI debug tool that allows changing some configuration
settings on the camera. Press the `c` key on your keyboard to open it.
npm package: @nova-cbb/builder
Description: 目前版本只适用于异构单个微应用，比如数据处理
Author: 詹洪
Latest version: 1.0.8

## 打包命令行工具

### 安装

目前版本只适用于异构单个微应用，比如数据处理

- yarn add @nova-cbb/builder

### 配置

- 在项目根目录中配置 builder.config.js

```ts
module.exports = {
  test: {
    version: '1.0.0',
    isCleanDist: true,
    outputFileName: 'sub-template-webpack5',
    openUrls: ['https://xxx1.com', 'https://xxx2.com'],
  },
  production: {
    version: '1.0.0',
    isCleanDist: true,
    outputFileName: '数据处理-B网前端',
    includeFolder: ['/'],
    includeFiles: ['src', 'package.json', 'public'],
    excludeFiles: ['src/App.vue'],
    packages: {
      axios: '1.5.0',
      'element-plus': '2.3.8',
    },
  },
};
```

##### 参数说明

- test,production 分别代表测试环境和 B 网环境
- test 环境配置参数
  - isCleanDist 每次打包是否清空 dist 目录
  - outputFileName 输出 zip 包名
  - openUrls 打包完毕后在浏览器中打开的网页地址
- production 环境配置参数
  - isCleanDist 每次打包是否清空 dist 目录
  - outputFileName 输出 zip 包名
  - includeFiles 打包需要输出的文件夹或者文件集合
  - excludeFiles 打包过程中需要排除的文件夹或者文件
  - packages 新增的包，需要包名，以及具体的版本号

### 环境命令

- 测试环境：`npx builder test`
- B 网环境：`npx builder production`
npm package: @nova-cbb/nova-flow
Description: Nova Flow 基于 AntV X6 的拓扑图编辑器
Latest version: 0.1.0-beta.0

# nova-flow

<p align="center">
  <img width="150px" src="./logo.png">
</p>

<p align="center">Nova Flow - A Vue.js 3 UI library</p>

- 💪 Vue 3 Composition API
- 🔥 Written in TypeScript

Nova Flow is a business component library based on the business component library based on the business component library based on the `vue3` + `Element Plus` + `@Element-Plus/icons-Vue`, And correctly installed the `Element Plus` and `@Element-Plus/icons-Vue`.

## Use

- pnpm

```bash
pnpm add @nova-cbb/nova-flow
```

- yarn

```bash
yarn add @nova-cbb/nova-flow
```

- npm

```bash
npm install @nova-cbb/nova-flow
```

## Documentation

The use of components can check the online documentation [Getting Started](https://element-plus.org/).

## Playground

You can also try Element Plus out with the components built-in playground.

#### Try it with our built-in playground

[Playground](http://124.223.17.222/playground/)
npm package: @nova-cbb/nova-flow-editor
Description: Nova Flow Editor 基于 AntV X6 的拓扑图编辑器
Latest version: 0.1.0-beta.1

# nova-flow-editor

<p align="center">
  <img width="150px" src="./logo.png">
</p>

<p align="center">Nova Flow Editor</p>

<p align="center">基于 [X6](https://x6.antv.antgroup.com/) 的拓扑图编辑工具</p>

 
## Use

- pnpm

```bash
pnpm add @nova-cbb/nova-flow
```

- yarn

```bash
yarn add @nova-cbb/nova-flow
```

- npm

```bash
npm install @nova-cbb/nova-flow
```

## Documentation

The use of components can check the online documentation [Getting Started](https://element-plus.org/).

## Playground

You can also try Element Plus out with the components built-in playground.

#### Try it with our built-in playground

[Playground](http://124.223.17.222/playground/)
npm package: @nova-design-systems/css-variables
Description: Nova Design System CSS variables for colors, typography, spacing, and radius
Author: Nova Design Systems
Latest version: 1.1.0

# Nova Design CSS Variables

A collection of CSS variables for the Nova Design System, including colors, typography, spacing, and radius values.

## Installation

```bash
npm install @nova-design-systems/css-variables
```

## Usage

You can import the CSS variables in your CSS file:

```css
@import 'nova-design-css-variables';
```

Or in your JavaScript file:

```javascript
import 'nova-design-css-variables';
```

## Available CSS Variables

### Colors

The color variables are organized into several categories:

- Primary colors
- Secondary colors
- Neutral colors
- Success colors
- Warning colors
- Error colors
- Information colors

Each color has variations for different states (hover, active, disabled) and contexts (background, text, border).

### Typography

Typography variables for font sizes, weights, and line heights.

```css
/* Font sizes */
var(--nova-font-size-xs)
var(--nova-font-size-sm)
var(--nova-font-size-md)
var(--nova-font-size-lg)
var(--nova-font-size-xl)

/* Font weights */
var(--nova-font-weight-regular)
var(--nova-font-weight-medium)
var(--nova-font-weight-bold)

/* Line heights */
var(--nova-line-height-tight)
var(--nova-line-height-normal)
var(--nova-line-height-relaxed)
```

### Border Radius

Border radius variables for consistent corner rounding.

```css
var(--nova-radius-none)
var(--nova-radius-sm)
var(--nova-radius-md)
var(--nova-radius-lg)
var(--nova-radius-full)
```

## Contributing

Please read our contributing guidelines before submitting pull requests.