open-index/open-npm huggingface dataset:
npm package: @obstinate/utils
Description: 该依赖包暂时不提供使用文档，烦请移步以下链接:
Author: moment
Latest version: 1.0.10

# 基本介绍

该依赖包暂时不提供使用文档，烦请移步以下链接:

[脚手架@obstinate/react-cli](https://www.npmjs.com/package/@obstinate/react-cli)

[GitHub文档](https://github.com/xun082/react-cli)
npm package: @obt/minitoken
Description: Deploy: OBT Mini Token Factory Address = 0xA636E0Ec3b2c220c54cF03f796518449dE93f135 Deploy: OBT Token Address = 0x032c59381700708c25daA10d94c378A8B0AF7d14
Author: Ho Ngoc Hai
Latest version: 1.0.3

Deploy: OBT Mini Token Factory Address = 0xA636E0Ec3b2c220c54cF03f796518449dE93f135
Deploy: OBT Token Address = 0x032c59381700708c25daA10d94c378A8B0AF7d14

Final cost:          0.1626853 ETH

Verifying OBTMiniTokenFactory
Pass - Verified: https://testnet.bscscan.com/address/0xA636E0Ec3b2c220c54cF03f796518449dE93f135#contracts
Verifying OBTMiniToken
Pass - Verified: https://testnet.bscscan.com/address/0x032c59381700708c25daA10d94c378A8B0AF7d14#contracts
Successfully verified 2 contract(s).
npm package: @obt/os
Description: Deploy: ACL Address = 0x52B4F6386cc92478b17B0201C75780D75F32b162
Author: hongochai
Latest version: 1.0.2

Deploy: ACL Address = 0x52B4F6386cc92478b17B0201C75780D75F32b162

Deploy: Kernel Address = 0xaF0e801c4573852594a34756f80Bc801bA6eD855

Deploy: EVM Script Registry Factory Address = 0x52CE80EB23cC8c491417cD6c5a6b63618f339F91

Deploy: DAO Factory Address = 0x14a801640ED689Dc3Aa2106775f2A2A751cEdED0
#

Verifying ACL

Pass - Verified: https://testnet.bscscan.com/address/0x52B4F6386cc92478b17B0201C75780D75F32b162#contracts

Verifying Kernel

Pass - Verified: https://testnet.bscscan.com/address/0xaF0e801c4573852594a34756f80Bc801bA6eD855#contracts

Verifying EVMScriptRegistryFactory

Pass - Verified: https://testnet.bscscan.com/address/0x52CE80EB23cC8c491417cD6c5a6b63618f339F91#contracts

Verifying DAOFactory

Pass - Verified: https://testnet.bscscan.com/address/0x14a801640ED689Dc3Aa2106775f2A2A751cEdED0#contracts

Successfully verified 4 contract(s).
npm package: @obt/staking
Description: Deploy: Staking Factory Address = 0x224D922C5E4092aA0739ff4ff3797AB39F50B5e2
Author: Ho Ngoc Hai
Latest version: 1.0.2

Deploy: Staking Factory Address = 0x224D922C5E4092aA0739ff4ff3797AB39F50B5e2

Verifying StakingFactory
Pass - Verified: https://testnet.bscscan.com/address/0x224D922C5E4092aA0739ff4ff3797AB39F50B5e2#contracts
Successfully verified 1 contract(s).
npm package: @obtrace/browser
Description: Obtrace Browser SDK with frontend wrappers
Latest version: 2.6.1

# obtrace-sdk-browser

Browser SDK for Obtrace with frontend wrappers.

## Install

```bash
npm install @obtrace/sdk-browser
# or
bun add @obtrace/sdk-browser
```

## Quickstart

### Simplified setup

The API key resolves `tenant_id`, `project_id`, `app_id`, and `env` automatically on the server side. `serviceName` must match the connected app name in the project, or an explicit alias configured for that app.

```ts
import { initBrowserSDK } from "@obtrace/sdk-browser/browser";

const sdk = initBrowserSDK({
  apiKey: "obt_live_...",
  serviceName: "core",
});
```

If the project app is `core` and the dashboard defines `web` as an alias, `serviceName: "web"` is accepted and normalized to `core` on ingest. Arbitrary names are rejected.

### Full configuration

For advanced use cases you can override the resolved values explicitly:

```ts
import { initBrowserSDK, SemanticMetrics } from "@obtrace/sdk-browser/browser";

const sdk = initBrowserSDK({
  apiKey: "<API_KEY>",
  serviceName: "core",
  tenantId: "tenant-prod",
  projectId: "project-prod",
  appId: "core",
  env: "prod"
});

sdk.metric(SemanticMetrics.webVitalLcp, 2400, "ms", {
  route: "/checkout",
});

sdk.span({
  name: "ui.checkout.submit",
  attrs: {
    "feature.name": "checkout",
    "ui.action": "submit",
  },
});
```

## Canonical metrics and custom spans

- Use `SemanticMetrics` whenever possible so dashboards, explorer and AI work against the global metric catalog.
- Browser vitals still emit built-in aliases internally, but the platform normalizes them to canonical names such as `web.vital.lcp` and `web.vital.inp`.
- Custom spans use `sdk.span({ name, attrs, statusCode, statusMessage })`.

## Frontend wrappers

- Vite
- React
- Next (browser side)
- Vue
- Angular
- Svelte

## Examples

- `examples/browser/example.ts`
- `examples/react-vite/main.tsx`
- `examples/vue-vite/main.ts`

## Docs

- `docs/getting-started.md`
- `docs/browser.md`
- `docs/security.md`
- `docs/troubleshooting.md`
npm package: @obtrace/sdk
Description: Obtrace backend JavaScript SDK for Node.js and Bun
Latest version: 2.1.0

# @obtrace/sdk

Backend JavaScript SDK for Obtrace — Node.js, Bun, and Supabase Edge Functions.

## Install

```bash
npm install @obtrace/sdk
```

## Exports

| Entry point | Function | Runtime |
|---|---|---|
| `@obtrace/sdk/node` | `initNodeSDK` | Node.js, Bun |
| `@obtrace/sdk/supabase` | `initSupabaseSDK` (auto-init) | Supabase Edge Functions (Deno) |

Browser SDK: [`@obtrace/browser`](https://github.com/obtraceai/obtrace-sdk-browser)

## Node.js / Bun

```ts
import { initNodeSDK } from "@obtrace/sdk/node";

const sdk = initNodeSDK({
  apiKey: process.env.OBTRACE_API_KEY!,
  serviceName: "my-api",
});
```

## Supabase Edge Functions

### One-line auto-init

Add a single import to each edge function — the SDK reads `OBTRACE_API_KEY` and `OBTRACE_SERVICE_NAME` from Deno env automatically:

```ts
// supabase/functions/my-function/index.ts
import "@obtrace/sdk/supabase";

Deno.serve(async (req) => {
  // your function code — telemetry is captured automatically
  return new Response("ok");
});
```

Set the secrets in Supabase dashboard (Project Settings > Edge Functions > Secrets):

```
OBTRACE_API_KEY=obt_live_xxxxx
OBTRACE_SERVICE_NAME=my-edge
```

### Explicit init

For full control over configuration:

```ts
import { initSupabaseSDK } from "@obtrace/sdk/supabase";

const sdk = initSupabaseSDK({
  apiKey: Deno.env.get("OBTRACE_API_KEY")!,
  serviceName: "my-edge",
});

sdk.log("info", "function invoked");
```

### Shared init file pattern

For multiple edge functions, create a shared init file:

```ts
// supabase/functions/_shared/obtrace.ts
import "@obtrace/sdk/supabase";
```

Then import in each function:

```ts
// supabase/functions/process-sale/index.ts
import "../_shared/obtrace.ts";

Deno.serve(async (req) => { /* ... */ });
```

## API

```ts
sdk.log(level, message, context?)
sdk.metric(name, value, unit?, context?)
sdk.span({ name, attrs?, statusCode?, statusMessage? })
sdk.captureError(error, context?)
sdk.shutdown()
```

## Canonical Metrics

Use `SemanticMetrics` for metric names normalized by the platform:

```ts
import { SemanticMetrics } from "@obtrace/sdk/node";

sdk.metric(SemanticMetrics.runtimeCpuUtilization, 0.42);
```

## Backend Wrappers

Express, Fastify, Hono, Elysia, NestJS, Next.js route handlers.

## Docs

- [Node/Bun SDK](https://docs.obtrace.ai/docs/sdks/node-bun)
- [Supabase](https://docs.obtrace.ai/docs/platforms/supabase)
- [SDK Catalog](https://docs.obtrace.ai/docs/sdks/catalog)
npm package: @obtrace/sdk-browser
Description: Obtrace Browser SDK with frontend wrappers
Latest version: 1.2.0

# obtrace-sdk-browser

Browser SDK for Obtrace with frontend wrappers.

## Install

```bash
npm install @obtrace/sdk-browser
# or
bun add @obtrace/sdk-browser
```

## Quickstart

### Simplified setup

The API key resolves `tenant_id`, `project_id`, `app_id`, and `env` automatically on the server side, so only three fields are needed:

```ts
import { initBrowserSDK } from "@obtrace/sdk-browser/browser";

const sdk = initBrowserSDK({
  apiKey: "obt_live_...",
  ingestBaseUrl: "https://ingest.obtrace.io",
  serviceName: "web-app",
});
```

### Full configuration

For advanced use cases you can override the resolved values explicitly:

```ts
import { initBrowserSDK, SemanticMetrics } from "@obtrace/sdk-browser/browser";

const sdk = initBrowserSDK({
  apiKey: "<API_KEY>",
  ingestBaseUrl: "https://inject.obtrace.ai",
  serviceName: "web-app",
  tenantId: "tenant-prod",
  projectId: "project-prod",
  appId: "web",
  env: "prod"
});

sdk.metric(SemanticMetrics.webVitalLcp, 2400, "ms", {
  route: "/checkout",
});

sdk.span({
  name: "ui.checkout.submit",
  attrs: {
    "feature.name": "checkout",
    "ui.action": "submit",
  },
});
```

## Canonical metrics and custom spans

- Use `SemanticMetrics` whenever possible so dashboards, explorer and AI work against the global metric catalog.
- Browser vitals still emit built-in aliases internally, but the platform normalizes them to canonical names such as `web.vital.lcp` and `web.vital.inp`.
- Custom spans use `sdk.span({ name, attrs, statusCode, statusMessage })`.

## Frontend wrappers

- Vite
- React
- Next (browser side)
- Vue
- Angular
- Svelte

## Examples

- `examples/browser/example.ts`
- `examples/react-vite/main.tsx`
- `examples/vue-vite/main.ts`

## Docs

- `docs/getting-started.md`
- `docs/browser.md`
- `docs/security.md`
- `docs/troubleshooting.md`
npm package: @obtrace/sdk-js
Description: Obtrace backend JavaScript SDK for Node.js and Bun
Latest version: 1.2.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# obtrace-sdk-js

Backend JavaScript SDK for Obtrace (Node.js and Bun).

## Install

```bash
npm install @obtrace/sdk-js
# or
bun add @obtrace/sdk-js
```

## Exports

- `@obtrace/sdk-js` (core + backend wrappers)
- `@obtrace/sdk-js/node` (`initNodeSDK`)

Browser SDK lives in `obtrace-sdk-browser`.

## Node/Bun Quickstart

### Simplified setup

The API key resolves `tenant_id`, `project_id`, `app_id`, and `env` automatically on the server side, so only three fields are needed:

```ts
import { initNodeSDK } from "@obtrace/sdk-js/node";

const sdk = initNodeSDK({
  apiKey: "obt_live_...",
  ingestBaseUrl: "https://ingest.obtrace.io",
  serviceName: "my-service",
});
```

### Full configuration

For advanced use cases you can override the resolved values explicitly:

```ts
import { initNodeSDK, SemanticMetrics } from "@obtrace/sdk-js/node";

const sdk = initNodeSDK({
  apiKey: process.env.OBTRACE_API_KEY!,
  ingestBaseUrl: process.env.OBTRACE_INGEST_BASE_URL!,
  serviceName: "api-service",
  env: "prod"
});

sdk.log("info", "service started");
sdk.metric(SemanticMetrics.runtimeCpuUtilization, 0.42, "1", {
  route: "/checkout",
});
sdk.span({
  name: "checkout.charge",
  attrs: {
    "feature.name": "checkout",
    "payment.provider": "stripe",
  },
});
```

## Canonical metrics and custom spans

- Use `SemanticMetrics` to emit metric names already normalized by the platform.
- Keep custom application metrics on your own namespace only when they are truly product-specific.
- Custom spans are created with `sdk.span({ name, attrs, statusCode, statusMessage })`.

## Backend wrappers

- Express: `expressObtraceMiddleware`
- Fastify: `fastifyObtraceHook`
- Hono: `honoObtraceMiddleware`
- Elysia: `elysiaObtracePlugin`
- NestJS: `nestObtraceMiddleware`
- Next route handlers: `withNextRouteHandler`

## Docs

- `docs/index.md`
- `docs/getting-started.md`
- `docs/node-bun.md`
- `docs/framework-wrappers.md`
- `docs/security.md`
- `docs/troubleshooting.md`
npm package: @obuild/plugin-oxc-dts
Description: Oxc declarations plugin for obuild
Latest version: 0.0.2

# 📦 @obuild/plugin-oxc-dts 😯

Isolated declarations plugin for [obuild](https://github.com/unjs/obuild).

The `oxc-dts` plugin emits declarations for TS(X)/JS(X) files using the [oxc-transform](https://www.npmjs.com/package/oxc-transform) package under the hood.

## Usage

Import the plugin in your build configuration and add it to the `plugins` array. You can also configure it with options.
Make sure that your project is compatbile with the [isolatedDeclarations](https://www.typescriptlang.org/tsconfig/#isolatedDeclarations) TypeScript compiler option, and enable it in your `tsconfig.json`.

```ts
import { defineBuildConfig } from "obuild/config";
import { oxcDts } from "@obuild/plugin-oxc-dts";

export default defineBuildConfig({
  entries: [
    {
      type: "transform",
      input: "./src/runtime/",
      outDir: "./dist/runtime/",
      plugins: [
        oxcDts({
          // Configuration options
        }),
      ],
    },
  ],
});
```

## Options

The following interface describes the options you can pass to the plugin:

<!-- automd:file code src="./src/options.ts" -->

```ts [options.ts]
import type { IsolatedDeclarationsOptions } from "oxc-transform";
import type { InputFile, PluginContext } from "obuild";
import type { Config, Extensions, OutputExtension } from "./config.ts";

export interface OxcDtsPluginOptions {
  /**
   * Ignore `isolatedDeclarations` option in the TypeScript configuration.
   *
   * If it fails to generate declarations for a file due to
   * `isolatedDeclarations` problems it will be ignored and no declaration file
   * will be generated for that file.
   *
   * You can use another plugin like `@obuild/plugin-tsc-dts` to generate
   * declarations for all missing files.
   */
  force?: boolean;

  /** Default output extension to use */
  defaultExtension?: OutputExtension;

  /** Configuration for processing source files based on their extensions. */
  inputExtensions?: Extensions;

  /**
   * Isolated declarations options.
   *
   * See [oxc-transform](https://www.npmjs.com/package/oxc-transform) for more
   * details.
   */
  declarations?: Omit<IsolatedDeclarationsOptions, "sourcemap">;

  /**
   * Configuration hook that allows you to modify the configuration for a
   * specific file.
   *
   * @param file - The input file or declaration source file.
   * @param config - The current configuration for the plugin.
   * @param context - The plugin context.
   * @returns Modified configuration or undefined if the file should not be
   *   processed.
   */
  fileConfig?: (
    file: InputFile,
    config: Config,
    context: PluginContext,
  ) => Config | undefined;
}
```

<!-- /automd -->

## License

💛 Released under the [MIT](./LICENSE) license.

<!-- automd:with-automd -->

---

_🤖 auto updated with [automd](https://automd.unjs.io)_

<!-- /automd -->
npm package: @obuild/plugin-oxc-minify
Description: TypeScript/JSX/TSX minifier for obuild
Latest version: 0.0.2

# 📦 @obuild/plugin-oxc-minify 😯

Oxc minify plugin for [obuild](https://github.com/unjs/obuild).

The `oxc-minify` plugin handles JavaScript file minifications using the [oxc-minify](https://www.npmjs.com/package/oxc-minify) package under the hood.

## Usage

Import the plugin in your build configuration and add it to the `plugins` array. You can also configure it with options.

```ts
import { defineBuildConfig } from "obuild/config";
import { oxcDts } from "@obuild/plugin-oxc-dts";
import { oxcTransform } from "@obuild/plugin-oxc-transform";
import { oxcMinify } from "@obuild/plugin-oxc-minify";

export default defineBuildConfig({
  entries: [
    {
      type: "transform",
      input: "./src/runtime/",
      outDir: "./dist/runtime/",
      plugins: [
        oxcDts(), // Optional: Emit declarations for TS(X)/JS(X) files before transformation
        oxcTransform(), // Optional: Transform TS(X)/JSX files to JS before minification
        oxcMinify({
          // Configuration options
        }),
      ],
    },
  ],
});
```

## Options

The following interface describes the options you can pass to the plugin:

<!-- automd:file code src="./src/options.ts" -->

```ts [options.ts]
import type { MinifyOptions } from "oxc-minify";
import type { Config, Extensions } from "./config.ts";
import type { CodeFile, InputFile, PluginContext } from "obuild";

export interface OxcMinifyPluginOptions {
  /** The allowed file extensions for the minifier. */
  extensions?: Extensions;

  /**
   * Minify options for `oxc-minify`.
   *
   * See [oxc-minify](https://www.npmjs.com/package/oxc-minify) for more
   * details.
   */
  minify?: MinifyOptions;

  /**
   * Configuration hook that allows you to modify the configuration for a
   * specific file.
   *
   * @param file - The input file.
   * @param config - The current configuration for the plugin.
   * @param context - The plugin context.
   * @returns Modified configuration or undefined if the file should not be
   *   processed.
   */
  fileConfig?: (
    file: InputFile | CodeFile,
    config: Config,
    context: PluginContext,
  ) => Config | undefined;
}
```

<!-- /automd -->

## License

💛 Released under the [MIT](./LICENSE) license.

<!-- automd:with-automd -->

---

_🤖 auto updated with [automd](https://automd.unjs.io)_

<!-- /automd -->
npm package: @obuild/plugin-oxc-transform
Description: Oxc transform plugin for obuild
Latest version: 0.0.2

# 📦 @obuild/plugin-oxc-transform 😯

Oxc transform plugin for [obuild](https://github.com/unjs/obuild).

The `oxc-transform` plugin handles TS(X)/JS(X) file transformations using the [oxc-transform](https://www.npmjs.com/package/oxc-transform) package under the hood.

## Usage

Import the plugin in your build configuration and add it to the `plugins` array. You can also configure it with options.

```ts
import { defineBuildConfig } from "obuild/config";
import { oxcTransform } from "@obuild/plugin-oxc-transform";

export default defineBuildConfig({
  entries: [
    {
      type: "transform",
      input: "./src/runtime/",
      outDir: "./dist/runtime/",
      plugins: [
        oxcTransform({
          // Configuration options
        }),
      ],
    },
  ],
});
```

## Options

The following interface describes the options you can pass to the plugin:

<!-- automd:file code src="./src/options.ts" -->

```ts [options.ts]
import type { TransformOptions } from "oxc-transform";
import type { Config, Extensions, OutputExtension } from "./config.ts";
import type { InputFile, PluginContext } from "obuild";

export interface OxcTransformPluginOptions {
  /** The output file extension for transformed files. */
  outputExtension?: OutputExtension;

  /** Configuration for processing source files based on their extensions. */
  inputExtensions?: Extensions;

  /**
   * Options passed to oxc-transform.
   *
   * See [oxc-transform](https://www.npmjs.com/package/oxc-transform) for more
   * details.
   */
  transform?: Omit<TransformOptions, "lang" | "sourceType"> & {
    typescript?: {
      declaration?: "Please use `@obuild/plugin-oxc-dts` to generate declarations!";
    };
  };

  /**
   * Configuration hook that allows you to modify the configuration for a
   * specific file.
   *
   * @param inputFile - The input file.
   * @param config - The current configuration for the plugin.
   * @param context - The plugin context.
   * @returns Modified configuration or undefined if the file should not be
   *   processed.
   */
  fileConfig?: (
    inputFile: InputFile,
    config: Config,
    context: PluginContext,
  ) => Config | undefined;
}
```

<!-- /automd -->

## License

💛 Released under the [MIT](./LICENSE) license.

<!-- automd:with-automd -->

---

_🤖 auto updated with [automd](https://automd.unjs.io)_

<!-- /automd -->
npm package: @obuild/plugin-postcss
Description: PostCSS plugin for obuild
Latest version: 0.0.1

# 📦 @obuild/plugin-postcss 😯

PostCSS plugin for [obuild](https://github.com/unjs/obuild).

This plugin integrates the PostCSS processor into the obuild build system, allowing you to transform CSS files using PostCSS plugins.

## Usage

Import the plugin in your build configuration and add it to the `plugins` array. You can also configure it with options.

```ts
import { defineBuildConfig } from "obuild/config";
import { postcss } from "@obuild/plugin-postcss";

export default defineBuildConfig({
  entries: [
    {
      type: "transform",
      input: "./src/runtime/",
      outDir: "./dist/runtime/",
      plugins: [
        postcss({
          // Configuration options
        }),
      ],
    },
  ],
});
```

## Options

The following interface describes the options you can pass to the plugin:

<!-- automd:file code src="./src/options.ts" -->

```ts [options.ts]
import type { Config, Extensions } from "./config.ts";
import type { AssetFile, InputFile, PluginContext } from "obuild";
import type { Options as PostcssNestedOptions } from "postcss-nested";
import type { Options as AutoprefixerOptions } from "autoprefixer";
import type { Options as CssnanoOptions } from "cssnano";
import type {
  AcceptedPlugin as PostcssPlugin,
  ProcessOptions as PostcssProcessOptions,
} from "postcss";

export interface PostcssPluginOptions {
  /** File extensions that this plugin should process. */
  extensions?: Extensions;

  /** PostCSS process options. */
  processOptions?: Omit<PostcssProcessOptions, "from">;

  /** Nested plugin options or `false` to disable nested processing. */
  nested?: false | PostcssNestedOptions;

  /** Autoprefixer options or `false` to disable autoprefixing. */
  autoprefixer?: false | AutoprefixerOptions;

  /** Cssnano options or `false` to disable minification. */
  cssnano?: false | CssnanoOptions;

  /** PostCSS plugins to use in addition to the built-in ones. */
  plugins?: PostcssPlugin[];

  /**
   * Configuration hook that allows you to modify the configuration for a
   * specific file.
   *
   * @param file - The input file.
   * @param config - The current configuration for the plugin.
   * @param context - The plugin context.
   * @returns Modified configuration or undefined if the file should not be
   *   processed.
   */
  fileConfig?: (
    file: InputFile | AssetFile,
    config: Config,
    context: PluginContext,
  ) => Config | undefined;
}
```

<!-- /automd -->

## License

💛 Released under the [MIT](./LICENSE) license.

<!-- automd:with-automd -->

---

_🤖 auto updated with [automd](https://automd.unjs.io)_

<!-- /automd -->
npm package: @obuild/plugin-sass
Description: PostCSS plugin for obuild
Latest version: 0.0.1

# 📦 @obuild/plugin-sass 😯

Sass plugin for [obuild](https://github.com/unjs/obuild).

This plugin integrates the Sass processor into the obuild build system, allowing you to transform CSS files using Sass plugins.

## Usage

Import the plugin in your build configuration and add it to the `plugins` array. You can also configure it with options.

```ts
import { defineBuildConfig } from "obuild/config";
import { sass } from "@obuild/plugin-sass";

export default defineBuildConfig({
  entries: [
    {
      type: "transform",
      input: "./src/runtime/",
      outDir: "./dist/runtime/",
      plugins: [
        sass({
          // Configuration options
        }),
      ],
    },
  ],
});
```

## Options

The following interface describes the options you can pass to the plugin:

<!-- automd:file code src="./src/options.ts" -->

```ts [options.ts]
import type { StringOptions } from "sass";
import type { Config, Extensions } from "./config.ts";
import type { AssetFile, InputFile, PluginContext } from "obuild";

export interface SassPluginOptions {
  /** File extensions that this plugin should process. */
  extensions?: Extensions;

  /**
   * Options for the Sass compiler. These options are passed to the
   * `sass.compileString` function. See
   * https://sass-lang.com/documentation/js-api/interfaces/stringoptions/ for
   * more details.
   */
  options?: Omit<StringOptions<"sync">, "url">;

  /**
   * Configuration hook that allows you to modify the configuration for a
   * specific file.
   *
   * @param file - The input file.
   * @param config - The current configuration for the plugin.
   * @param context - The plugin context.
   * @returns Modified configuration or undefined if the file should not be
   *   processed.
   */
  fileConfig?: (
    file: InputFile | AssetFile,
    config: Config,
    context: PluginContext,
  ) => Config | undefined;
}
```

<!-- /automd -->

## License

💛 Released under the [MIT](./LICENSE) license.

<!-- automd:with-automd -->

---

_🤖 auto updated with [automd](https://automd.unjs.io)_

<!-- /automd -->
npm package: @obuild/plugin-tsc-dts
Description: tsc declarations plugin for obuild
Latest version: 0.0.2

# 📦 @obuild/plugin-tsc-dts 😯

TS declarations emit for [obuild](https://github.com/unjs/obuild).

This plugin uses TypeScript's `tsc` to generate declaration files (`.d.mts` and `.d.ts`) for your TypeScript code. It is designed to work seamlessly with the obuild build system, allowing you to easily generate type definitions for your projects.

## Usage

Import the plugin in your build configuration and add it to the `plugins` array. You can also configure it with options.

```ts
import { defineBuildConfig } from "obuild/config";
import { tscDts } from "@obuild/plugin-tsc-dts";
import { oxcTransform } from "@obuild/plugin-oxc-transform";

export default defineBuildConfig({
  entries: [
    {
      type: "transform",
      input: "./src/runtime/",
      outDir: "./dist/runtime/",
      plugins: [
        tscDts({
          // Configuration options
        }),
        oxcTransform(), // Optional: Use oxc-transform to transform the TS(X) files to JS
      ],
    },
  ],
});
```

## Options

The following interface describes the options you can pass to the plugin:

<!-- automd:file code src="./src/options.ts" -->

```ts [options.ts]
import type { Compiler } from "./tsc.ts";
import type { Extensions, OutputExtension } from "./config.ts";

export interface TscDtsPluginOptions {
  /** Default extension to use */
  defaultExtension?: OutputExtension;

  /** Extensions to process for declaration files. */
  extensions?: Extensions;

  /**
   * Which compiler to use for generating declaration files.
   *
   * @defaulValue tsc
   */
  compiler?: Compiler;
}
```

<!-- /automd -->

## License

💛 Released under the [MIT](./LICENSE) license.

<!-- automd:with-automd -->

---

_🤖 auto updated with [automd](https://automd.unjs.io)_

<!-- /automd -->
npm package: @obuild/plugin-tsgo-dts
Description: tsgo declarations plugin for obuild
Latest version: 0.0.2

# 📦 @obuild/plugin-tsgo-dts 😯

TS declarations emit for [obuild](https://github.com/unjs/obuild).

This plugin uses TypeScript's `tsgo` to generate declaration files (`.d.mts` and `.d.ts`) for your TypeScript code. It is designed to work seamlessly with the obuild build system, allowing you to easily generate type definitions for your projects.

## Usage

Import the plugin in your build configuration and add it to the `plugins` array. You can also configure it with options.

```ts
import { defineBuildConfig } from "obuild/config";
import { tsgoDts } from "@obuild/plugin-tsgo-dts";
import { oxcTransform } from "@obuild/plugin-oxc-transform";

export default defineBuildConfig({
  entries: [
    {
      type: "transform",
      input: "./src/runtime/",
      outDir: "./dist/runtime/",
      plugins: [
        tsgoDts({
          // Configuration options
        }),
        oxcTransform(), // Optional: Use oxc-transform to transform the TS(X) files to JS
      ],
    },
  ],
});
```

## Options

`plugin-tsgo-dts` uses the `plugin-tsc-dts` internally, you can use the same options as described in the [plugin-tsc-dts documentation](https://github.com/unjs/obuild-plugins/tree/main/packages/plugin-tsc-dts).

## License

💛 Released under the [MIT](./LICENSE) license.
npm package: @obuild/plugin-vue-sfc-transformer
Description: Vue SFC transformer plugin for obuild
Latest version: 0.0.1

# 📦 @obuild/plugin-vue-sfc-transformer 😯

Vue SFC transformer plugin for [obuild](https://github.com/unjs/obuild).

This plugin uses [vue-sfc-transformer](https://www.npmjs.com/package/vue-sfc-transformer) package to transform Vue Single File Components (SFCs) into JavaScript files.

## Usage

Import the plugin in your build configuration and add it to the `plugins` array. You can also configure it with options.

```ts
import { defineBuildConfig } from "obuild/config";
import { tsgoDts } from "@obuild/plugin-tsgo-dts";
import { oxcTransform } from "@obuild/plugin-oxc-transform";
import { vueTscDts } from "@obuild/plugin-vue-tsc-dts";
import { vueSFCTransformer } from "@obuild/plugin-vue-sfc-transformer";

export default defineBuildConfig({
  entries: [
    {
      type: "transform",
      input: "./src/runtime/",
      outDir: "./dist/runtime/",
      plugins: [
        tsgoDts(), // Optional tip: You can `tsgo-dts` to emit declarations for non-Vue files before `vue-tsc-dts`
        vueTscDts(), // Optional: Use vue-tsc-dts to generate type declarations for Vue files
        oxcTransform(), // Optional: Use oxc-transform to transform the TS(X) files to JS,
        vueSFCTransformer({
          // Configuration options
        }),
      ],
    },
  ],
});
```

## Options

The following interface describes the options you can pass to the plugin:

<!-- automd:file code src="./src/options.ts" -->

```ts [options.ts]
import type { Extensions } from "./config.ts";

export interface VueSFCPluginOptions {
  /** File extensions that this plugin should process. */
  extensions?: Extensions;
}
```

<!-- /automd -->

## License

💛 Released under the [MIT](./LICENSE) license.

<!-- automd:with-automd -->

---

_🤖 auto updated with [automd](https://automd.unjs.io)_

<!-- /automd -->
npm package: @obuild/plugin-vue-tsc-dts
Description: Vue declarations plugin for obuild
Latest version: 0.0.2

# 📦 @obuild/plugin-vue-tsc-dts 😯

TS declarations emit for [obuild](https://github.com/unjs/obuild).

This plugin uses the [vue-tsc](https://www.npmjs.com/package/vue-tsc) CLI to generate declaration files (`.d.mts` and `.d.ts`) for your Vue components and your TypeScript code. It is designed to work seamlessly with the obuild build system, allowing you to easily generate type definitions for your projects.

## Usage

Import the plugin in your build configuration and add it to the `plugins` array. You can also configure it with options.

```ts
import { defineBuildConfig } from "obuild/config";
import { tsgoDts } from "@obuild/plugin-tsgo-dts";
import { oxcTransform } from "@obuild/plugin-oxc-transform";
import { vueTscDts } from "@obuild/plugin-vue-tsc-dts";
import { vueSFCTransformer } from "@obuild/plugin-vue-sfc-transformer";

export default defineBuildConfig({
  entries: [
    {
      type: "transform",
      input: "./src/runtime/",
      outDir: "./dist/runtime/",
      plugins: [
        tsgoDts(), // Optional tip: You can `tsgo-dts` to emit declarations for non-Vue files before `vue-tsc-dts`
        vueTscDts({
          // Configuration options
        }),
        oxcTransform(), // Optional: Use oxc-transform to transform the TS(X) files to JS,
        vueSFCTransformer(), // Optional: Use vue-sfc-transformer to transform Vue SFCs
      ],
    },
  ],
});
```

## Options

`plugin-vue-tsc-dts` uses the `plugin-tsc-dts` internally, you can use the same options as described in the [plugin-tsc-dts documentation](https://github.com/unjs/obuild-plugins/tree/main/packages/plugin-tsc-dts).

## License

💛 Released under the [MIT](./LICENSE) license.
npm package: @obukata/github-markdown-ckeditor
Description: CKEditor向けにTailwind Typographyを拡張するパッケージ
Author: obukata
Latest version: 1.0.5

# @obukata/github-markdown-ckeditor

github-markdown-css 拡張プラグインです。
CKEditor で出力された記事コンテンツ向けにスタイルを統一するためのカスタム調整が含まれています。

---

## 特徴

- github-markdown-css の拡張
- CKEditor で生成された記事コンテンツに最適化


## インストール

基本的にはCDNで読み込む事を想定しています。

```html
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@obukata/github-markdown-ckeditor/styles/github-markdown-ckeditor.css">
```

## 注意点

* 他のプラグインやユーティリティとの競合に注意してください
npm package: @obukata/tailwind-typography-ckeditor
Description: CKEditor向けにTailwind Typographyを拡張するパッケージ
Author: obukata
Latest version: 1.2.4

# @obukata/tailwind-typography-ckeditor

TailwindCSS 4系用の Typography 拡張プラグインです。
CKEditor で出力された記事コンテンツ向けにスタイルを統一するためのカスタム調整が含まれています。

---

## 特徴

- Tailwind Typography の拡張
- CKEditor で生成された記事コンテンツに最適化


## インストール

```bash
npm i -D @obukata/tailwind-typography-ckeditor
```

## TailwindCSS 4系での使用例

```css
@import "tailwindcss";

@plugin "@tailwindcss/typography";
@plugin "@obukata/tailwind-typography-ckeditor";
```
CSS内で @plugin として読み込むだけで CKEditor 用スタイルが適用されます。

## 注意点

* TailwindCSS 4系 / PostCSS 経由でビルドされる環境で使用してください
* 他のプラグインやユーティリティとの競合に注意してください

## 例

```html
<div class="prose">
  <h1>記事タイトル</h1>
  <p>本文テキスト...</p>
  <blockquote>
    <p>引用文</p>
  </blockquote>
  <table>
    <thead>
      <tr><th>見出し1</th><th>見出し2</th></tr>
    </thead>
    <tbody>
      <tr><td>データ1</td><td>データ2</td></tr>
    </tbody>
  </table>
  <figure class="table">
    <img src="example.png" alt="図" />
  </figure>
</div>
```
npm package: @obukata/workspace-init
Description: プロジェクト作成時にローカルのワークスペース用ディレクトリを自動生成するツール
Author: obukata
Latest version: 1.0.0

# 🚀　@obukata/workspace-init

プロジェクト作成時にローカルのワークスペース用ディレクトリを自動生成するツールです。
`~/works/` ディレクトリ内で実行すると、ルールに沿った新しいプロジェクト用フォルダとサブディレクトリを作成します。

---

## 🔹 特徴

* プロジェクト名を入力するだけで簡単に初期ディレクトリを作成
* 既存の4桁数字フォルダをチェックして、次の番号を自動付与
* 以下のサブディレクトリを自動生成

  ```
  00_documents
  10_material
  20_designs
  30_projects
  40_delivery
  ```
* `40_delivery` は納品用フォルダとして使用

---

## 🔹 インストール

### ローカルでテスト

```bash
git clone <このリポジトリのURL>
cd workspace-init
npm install
npm link
```

### グローバルリンク後の実行

```bash
workspace-init
# または
npx @obukata/workspace-init
```

### npm 公開後（npx で直接）

```bash
npx @obukata/workspace-init
```

---

## 🔹 使い方

1. `~/works/` ディレクトリに移動
2. コマンドを実行

```bash
npx @obukata/workspace-init
```

3. プロンプトに従ってプロジェクト名を入力

```
✔ プロジェクト名を入力してください: katsuyamaaiwa-v3
```

4. 自動で番号付きディレクトリとサブディレクトリが作成されます

```
📁 新しいディレクトリを作成: 0124_katsuyamaaiwa-v3
  - 00_documents
  - 10_material
  - 20_designs
  - 30_projects
  - 40_delivery
🎉 完了しました！
```

---

## 🔹 フォルダ構成

```
works/
├─ 0124_katsuyamaaiwa-v3/
│  ├─ 00_documents/
│  ├─ 10_material/
│  ├─ 20_designs/
│  ├─ 30_projects/
│  └─ 40_delivery/
```

---

## 🔹 依存ライブラリ

* [inquirer](https://www.npmjs.com/package/inquirer) - 入力プロンプト用
* [chalk](https://www.npmjs.com/package/chalk) - ログの色付け
* [fs-extra](https://www.npmjs.com/package/fs-extra) - ディレクトリ操作

---

## 🔹 開発者向け情報

* ES Module 対応 (`type: "module"` が package.json に設定済み)
* `bin` にコマンド名を設定済みで `npx` から直接実行可能
* ローカルでテストする場合は `npm link` を利用