open-index/open-npm huggingface dataset:
npm package: @sifat046/blockchain-web3-tools
Description: Lightweight multi-chain wallet connector + BP Coin test utils
Author: Your Name
Latest version: 0.2.0

# 🔗 Web3 Toolkit

[![npm version](https://img.shields.io/npm/v/@sifat046/blockchain-web3-tools.svg?logo=npm)](https://www.npmjs.com/package/@sifat046/blockchain-web3-tools)
[![build status](https://img.shields.io/github/actions/workflow/status/Md-Sifat-code/blockchain-web3-tools/ci.yml?branch=main&logo=github)](https://github.com/Md-Sifat-code/blockchain-web3-tools/actions)
[![license](https://img.shields.io/github/license/Md-Sifat-code/blockchain-web3-tools.svg)](LICENSE)

---

## 🌐 About

**Web3 Toolkit** is a lightweight, developer-friendly npm library for blockchain integration. It includes:

- 🔗 Multi-chain wallet connectors (EVM & Solana)
- 🪙 BP Coin Test Utils—for signing, verifying & simulating transactions in test environments

No bulky SDKs. Great for dApps, rapid prototyping, and blockchain learning! ⚡

---

## ✨ Features

- 🦊 **EVM Connector** — Works with MetaMask and other EIP-1193 providers
- 🪂 **Solana Connector** — For Phantom and Solana wallets
- 🪙 **BP Coin Test Utils** — Sign, verify, simulate transactions with a minimal dev-friendly toolkit
- ⚡ **Zero heavy dependencies** — lightweight by design

---

## 📦 Installation

```bash
npm install @sifat046/blockchain-web3-tools
```

---

## 🚀 Usage Examples

### 🔗 EVM (e.g., MetaMask)

```ts
import { Connectors } from "@sifat046/blockchain-web3-tools";

const evm = new Connectors.EvmConnector();
await evm.connect();
console.log("Accounts:", await evm.getAccounts());
const signature = await evm.signMessage("Hello Web3");
```

---

### 🪂 Solana (e.g., Phantom)

```ts
import { Connectors } from "@sifat046/blockchain-web3-tools";

const sol = new Connectors.SolanaConnector();
await sol.connect();
const [publicKey] = await sol.getAccounts();
const signature = await sol.signMessage("Hello Solana");
```

---

### 🪙 BP Coin Test Utils

```ts
import { BpCoin } from "@sifat046/blockchain-web3-tools";

const kp = BpCoin.generateEd25519KeyPair();
const ledger = new BpCoin.InMemoryLedger();
const aliceAddr = BpCoin.exportPublicKeyPEM(kp.publicKey);

ledger.faucet(aliceAddr, 50);

const body = BpCoin.makeBody({
  from: kp,
  toAddress: "bob",
  amount: 10,
  nonce: 0,
});
const tx = BpCoin.signTx(body, kp);

console.log("Valid TX?", BpCoin.verifyTx(tx));
ledger.apply(tx);
console.log("Bob's balance:", ledger.balanceOf("bob"));
```

---

## 🛠 Roadmap

- [ ] 🔗 WalletConnect support for EVM
- [ ] 🔄 Auto network switching
- [ ] ⚡ Example dApp boilerplate

---

## 🤝 Contributing

Contributions are welcome! Feel free to open issues, suggest improvements, or submit pull requests.

---

## 👤 Author

**Md Sifat bin Jibon**
📍 Student & Full-Stack Dev | Dhaka, Bangladesh

- [GitHub](https://github.com/Md-Sifat-code)
- [LinkedIn](https://www.linkedin.com/in/md-sifat-bin-jibon-3aa93b371/)

---

## 📜 License

MIT © Md Sifat bin Jibon
npm package: @sifat046/zod-bhasha
Description: Zod error messages with i18n (EN + BN out of the box).
Latest version: 0.2.0

# 🌐 zod-bhasha

> Multilingual error messages for [Zod](https://zod.dev) — starting with **English 🇬🇧** and **Bangla 🇧🇩**. Keep your validation errors human-friendly, localized, and developer-friendly ✨

---

## 📦 Installation

Using **npm**:

```bash
npm install zod-bhasha
```

Using **yarn**:

```bash
yarn add zod-bhasha
```

Using **pnpm**:

```bash
pnpm add zod-bhasha
```

---

## 🚀 Usage

### 1. Import and set locale globally

```ts
import { z } from "zod";
import { withBhasha, setLocale } from "zod-bhasha";

// Enable zod-bhasha
withBhasha(z);

// Set Bangla as default locale
setLocale("bn");

const schema = z.string().min(5);

console.log(schema.safeParse("hi").error?.format());
// Output (Bangla): "কমপক্ষে ৫ অক্ষর হতে হবে"
```

---

### 2. Override locale per validation

```ts
import { z } from "zod";
import { withBhasha } from "zod-bhasha";

withBhasha(z);

const schema = z.string().email();

console.log(schema.safeParse("invalid", { locale: "en" }).error?.format());
// Output: "Invalid email address"

console.log(schema.safeParse("invalid", { locale: "bn" }).error?.format());
// Output: "ইমেইল ঠিকানা সঠিক নয়"
```

---

## 🌍 Supported Locales

- 🇬🇧 English (`en`)
- 🇧🇩 Bangla (`bn`)

🔜 More languages coming soon! Contributions welcome 🎉

---

## 🛠️ Contributing

1. Fork the repo 🍴
2. Create a feature branch 🌱
3. Add your locale / improvements
4. Submit a PR 🚀

---

## 📜 License

MIT © 2025 — Made with ❤️ by \[Md Sifat Bin Jibon]
Github repo:- https://github.com/Md-Sifat-code/zod-bhasha
npm package: @sifawm/dev-server
Description: Dev server generic builder for Angular build facade. Allows to run custom builder in serve target
Author: Evgeny Barabanov
Latest version: 7.1.2

# Dev server [builders](#builders) for Angular build facade
[![npm version](https://img.shields.io/npm/v/@angular-builders/dev-server.svg) ![npm](https://img.shields.io/npm/dm/@angular-builders/dev-server.svg)](https://www.npmjs.com/package/@angular-builders/dev-server)

# Prerequisites:
 - [Angular CLI 6](https://www.npmjs.com/package/@angular/cli)
 - [@angular-devkit/build-angular](https://npmjs.com/package/@angular-devkit/build-angular) >= 0.10.0

# Builders
 - [@angular-builders/dev-server:generic](#Dev-server-generic)

## Dev server generic
Enhanced `@angular-devkit/build-angular:dev-server` builder that leverages the custom webpack builder to get webpack configuration.  

Unlike the default `@angular-devkit/build-angular:dev-server` it doesn't use  `@angular-devkit/build-angular:browser` configuration to run the dev server.  
Instead it uses a builder that is specified in `browserTarget` _as long as it provides `buildWebpackConfig` method_.  

Thus, if you use `@angular-builders/dev-server:generic` along with `@angular-builders/custom-webpack:browser`, `ng serve` will run with custom configuration provided in the latter.

### Usage
 1. ```npm i -D @angular-builders/dev-server```
 2. In your `angular.json`:
     ```
     "projects": {
         ...
         "[project]": {
              ...
              "architect": {
                     ...
                     "[architect-target]": {
                               "builder": "@angular-builders/dev-server:generic"
                               "options": {
                                     ...
                               }
      ```
    Where:
    - [project] is the name of the project to which you want to add the builder
    - [architect-target] is the name of build target you want to run (build, serve, test etc. or any custom target)
 3. If `[architect-target]` is not one of the predefined targets (like build, serve etc.) then run it like this:  
    `ng run [project]:[architect-target]`  
    If it is one of the predefined targets, you can run it by `ng [architect-target]`

### Example
`angular.json`:
```
"architect": {
    ...
    "build": {
        "builder": "@angular-builders/custom-webpack:browser"
        "options": {
                     "customWebpackConfig": {
                        path: "./extra-webpack.config.js"
                     }
            ...
        },
    "serve": {
        "builder": "@angular-builders/dev-server:generic",
        "options": {
            "browserTarget": "my-project:build"
        }
    }
```

In this example `dev-server` will use `custom-webpack:browser` builder, hence modified webpack config, when invoking the serve target.

# Further reading

 - [Customizing Angular CLI 6 build  -  an alternative to ng eject](https://medium.com/@meltedspark/customizing-angular-cli-6-build-an-alternative-to-ng-eject-a48304cd3b21)
npm package: @sifhic/lit-transition
Description: A directive for animated transitions in lit-html.
Author: Jan Kretschmer
Latest version: 0.0.0

# lit-transition

A directive for animated transitions in lit-html.

![Build](https://github.com/sijakret/lit-transition/workflows/Build/badge.svg?branch=master)
[![Coverage Status](https://coveralls.io/repos/github/sijakret/lit-transition/badge.svg)](https://coveralls.io/github/sijakret/lit-transition)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

## Documentation

Full documentation is available at [sijakret.github.io/lit-transition](https://sijakret.github.io/lit-transition).

Docs source is in the `docs` folder.

To build the library and the docs yourself,
clone it run `npm install` and `npm run build`.
This will build the library as well as the documentation.

## Overview

`lit-transition` is a directive for [lit-html](https://lit-html.polymer-project.org/) that will automatically generate animated tranistions when templates are swapped.

The library detects when your template re-renders and applies css `transitions` and `animations`.
It mostly manages a state cycle when your view is updated
by automatically appending and removing DOM nodes as they transition in and out.

```javascript
import {html, render} from 'lit-html';
import {transition} from 'lit-transition';

// This is a lit-html template function. It returns a lit-html template.
const helloTemplate = (name) => html`<div>Hello ${name}!</div>`;

// This renders <div>Hello Steve!</div> to the document body
render(transition(helloTemplate('Steve')), document.body);

// This updates to <div>Hello Kevin!</div>, while looking cool
render(transition(helloTemplate('Kevin')), document.body);
```

Check out the [documentation](https://sijakret.github.io/lit-transition)!

## Installation

```bash
$ npm install lit-transition
```

## Roadmap

* multi-root templates
* add js hooks
* add transitions via web animation

## Contributing

Happy to accept PRs!
npm package: @sifi/sdk
Description: 🛸 SDK for integrating with Sifi.org
Latest version: 1.12.0

# Sifi.org SDK

SDK for integrating with Sifi.org 🛸

## Install

```bash
npm install @sifi/sdk
```

## Usage

```typescript
import { Sifi } from '@sifi/sdk';

// Get a quote to swap 100 USDC to WETH
const quote = await sifi.getQuote({
  fromToken: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
  toToken: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
  fromAmount: '100000000',
});

// TODO: Approve `quote.approveAddress` to send `quote.fromAmount` of `quote.fromToken`

const swap = await sifi.getSwap({
  fromAddress: '0xyourwalletaddress',
  quote,
});

const tx = {
  from: swap.tx.from,
  to: swap.tx.to,
  value: swap.tx.value, // When swapping from ETH
  data: swap.tx.data,
  chainId: swap.tx.chainId,
  gasLimit: swap.tx.gasLimit,
};

const res = await sendTransaction(tx);
```

## Notes

For swaps to/from ETH, use the address `0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE`

## License

MIT
npm package: @sifive/arty-boards
Description: An xPack with the µOS++ support for the SiFive Core Complex Arty boards
Author: Liviu Ionescu
Latest version: 1.0.3

## SiFive Core Complex IP Arty boards specific files

This project provides support for the SiFive synthesised E31/E51 devices
running on the Arty development board.

## Developer info

This section is intended to developers who plan to include this
library in their own projects.

### Prerequisites

A recent [`xpm`](https://www.npmjs.com/package/xpm), which is a
portable [Node.js](https://nodejs.org/) command line application.

Compiling the source code requires a modern C++ compiler, preferably
GCC 5 or higher. 

### Easy install

This package is available as
[`@sifive/arty-boards`](https://www.npmjs.com/package/@sifive/arty-boards)
from the `npmjs.com` registry; with `xpm` available, installing the
latest version of the package is quite easy:

```console
$ xpm install @sifive/arty-boards@latest
```

This package is also available from
[GitHub](https://github.com/micro-os-plus/sifive-arty-boards-xpack):

```console
$ git clone https://github.com/micro-os-plus/sifive-arty-boards-xpack.git sifive-arty-boards-xpack.git
```

### How to use

The standard way to include the board files is

```c
#include <micro-os-plus/board.h>
```

### Macros

- `SIFIVE_E31ARTY_BOARD`
- `SIFIVE_E51ARTY_BOARD`

### E31/E51 Core Complex FPGA Eval Kit Clock and Reset

The E31/E51 Core Complex FPGA Eval Kit has a 100MHz input to the
FPGA. This is used to derive the Core Complex’s `io_coreClock` at
65 MHz, and the clock (peripheral clock) at 32.5 MHz. The
`io_rtcToggle` is driven at approximately 32kHz.

The system reset driven by the Reset Button on the evaluation board
is combined with the external debugger’s `SRST_n` pin as a full
system reset for the E31/E51 Core Complex FPGA Eval KitT ̇his is
combined with the `io_ndreset` to drive the reset input to the Core Complex.

The reset vector is set with Switch 0. Leave the switch in the
“Off” position to execute from SPI Flash.

### Global interrupts

- UART TX/RX	1
- SWITCH 0 2
- SWITCH 1 3
- SWITCH 2 4
- SWITCH 3 5
- Quad SPI 6
- GPIO[0] LED 0 RED 	7
- GPIO[1] LED 0 GREEN	8
- GPIO[2] LED 0 BLUE	9
- GPIO[3] SWITCH 3	10
- GPIO[4] BUTTON 0	11
- GPIO[5] BUTTON 1	12
- GPIO[6] BUTTON 2	13
- GPIO[7] BUTTON 3	14
- GPIO[8] PMOD A[0]	15
- GPIO[9] PMOD A[1]	16
- GPIO[10] PMOD A[2]	17
- GPIO[11] PMOD A[3]	18
- GPIO[12] PMOD A[4]	19
- GPIO[13] PMOD A[5]	20
- GPIO[14] PMOD A[6]	21
- GPIO[15] PMOD A[7]	22
- PWM CMP[0] 23
- PWM CMP[1] LED 1 RED 24
- PWM CMP[2] LED 1 GREEN 25
- PWM CMP[3] LED 1 BLUE 26

## Maintainer info

### How to publish

- commit all changes
- update `CHANGELOG.md`; commit with a message like _CHANGELOG: prepare v0.1.2_
- `npm version patch`
- push all changes to GitHub
- `npm publish`

## License

The original content is released under the
[MIT License](https://opensource.org/licenses/MIT), with all rights reserved to
[Liviu Ionescu](https://github.com/ilg-ul).
npm package: @sifive/devices
Description: An xPack with the µOS++ support for the SiFive Core Complex devices
Author: Liviu Ionescu
Latest version: 1.0.3

## SiFive device specific files

This project provides support for SiFive RISC-V microcontrollers.

## Developer info

This section is intended to developers who plan to include this library
in their own projects.

### Prerequisites

A recent [`xpm`](https://www.npmjs.com/package/xpm), which is a portable
[Node.js](https://nodejs.org/) command line application.

Compiling the source code requires a modern C++ compiler, preferably
GCC 5 or higher. 

### Easy install

This package is available as
[`@sifive/devices`](https://www.npmjs.com/package/@sifive/devices) from
the `npmjs.com` registry; with `xpm` available, installing the latest
version of the package is quite easy:

```console
$ xpm install @sifive/devices@latest
```

This package is also available from
[GitHub](https://github.com/micro-os-plus/sifive-devices-xpack):

```console
$ git clone https://github.com/micro-os-plus/sifive-devices-xpack.git sifive-devices-xpack.git
```

### How to use

The standard way to include the device files is

```c
#include <micro-os-plus/device.h>
```

### Macros

* `SIFIVE_FE310`
* `SIFIVE_E31ARTY`
* `SIFIVE_E51ARTY`

### Known problems

* the `os_terminate()` function is not fully implemented, it must
use either the Watchdog or PMU+RTC to trigger a system reset.

## Maintainer info

### How to publish

* commit all changes
* update `CHANGELOG.md`; commit with a message like _CHANGELOG: prepare v0.1.2_
* `npm version patch`
* push all changes to GitHub
* `npm publish`

## License

The original content is released under the
[MIT License](https://opensource.org/licenses/MIT), with all rights reserved to
[Liviu Ionescu](https://github.com/ilg-ul).
npm package: @sifive/hifive1-board
Description: An xPack with the µOS++ support for the SiFive HiFive1 board
Author: Liviu Ionescu
Latest version: 1.0.4

## SiFive HiFive1 board specific files

This project provides support for the SiFive HiFive1 development board.

## Developer info

This section is intended to developers who plan to include this
library in their own projects.

### Prerequisites

A recent [`xpm`](https://www.npmjs.com/package/xpm), which is a portable
[Node.js](https://nodejs.org/) command line application.

Compiling the source code requires a modern C++ compiler, preferably
GCC 5 or higher.

### Easy install

This package is available as
[`@sifive/hifive1-board`](https://www.npmjs.com/package/@sifive/hifive1-board)
from the `npmjs.com` registry; with `xpm` available, installing the
latest version of the package is quite easy:

```console
$ xpm install @sifive/hifive1-board@latest
```

This package is also available from
[GitHub](https://github.com/micro-os-plus/sifive-hifive1-board-xpack):

```console
$ git clone https://github.com/micro-os-plus/sifive-hifive1-board-xpack.git sifive-hifive1-board-xpack.git
```

### How to use

The standard way to include the board files is

```c
#include <micro-os-plus/board.h>
```

### Macros

* `SIFIVE_HIFIVE1_BOARD`

## Maintainer info

### How to publish

* commit all changes
* update `CHANGELOG.md`; commit with a message like _CHANGELOG: prepare v0.1.2_
* `npm version patch`
* push all changes to GitHub
* `npm publish`

## License

The original content is released under the
[MIT License](https://opensource.org/licenses/MIT), with all rights reserved to
[Liviu Ionescu](https://github.com/ilg-ul).
npm package: @sifrr/api
Description: Create normal/GraphQL APIs using sequelize/graphql-sequelize/express.
Author: aadityataparia
Latest version: 0.0.9

# sifrr-api · [![npm version](https://img.shields.io/npm/v/@sifrr/api.svg)](https://www.npmjs.com/package/@sifrr/api) [![Doscify](https://img.shields.io/badge/API%20docs-Docsify-red.svg)](https://sifrr.github.io/sifrr/#/./packages/server/sifrr-api/)

[NOTE]: old version is deprecated

Please use `typegraphql` and `typeorm` with `sifrr-api` to build graphql apis using typescript.

## API

### saveSchema

Keeps track of graphql schema with versioning to keep track of when the api was changed. Much like db migrations.
Ideally you will run this command whenever you change the graphql schema, and save the schemas in your version control system.

```js
saveSchema(executableSchema, {
  schemaDir: path.resolve('./schema'), // directory path where schema files will be saved
  printOptions?: // options to be given to `printSchema` command of graphql
});
```
npm package: @sifrr/cli
Description: Sifrr Cli for creating web apps.
Author: aadityataparia
Latest version: 0.0.9

# sifrr-cli · [![npm version](https://img.shields.io/npm/v/@sifrr/cli.svg)](https://www.npmjs.com/package/@sifrr/cli) [![Doscify](https://img.shields.io/badge/API%20docs-Docsify-red.svg)](https://sifrr.github.io/sifrr/#/./packages/server/sifrr-cli/)

Sifrr Command line interface.

## How to use

Do `npm i @sifrr/cli` or `yarn add @sifrr/cli` or add the package to your `package.json` file.

Run `npm run sifrr [command]` or `node_modules/.bin/sifrr [command]`

```terminal
# sifrr --help
Commands:
  sifrr element:generate <name>        [sifrr-dom] create sifrr element

Options:
  --help, -h     Help
  --version, -v  Current version                                  
```

Run `sifrr [command] --help` to show help for that command.

## Commands

### sifrr element:generate <name>

Generate sifrr-element for given name in `public/elements` folder if no `--path` is given.
npm package: @sig-ui/cli
Description: CLI tooling for SigUI – scaffolding and token CSS generation
Author: SigID, gentix.dev
Latest version: 0.1.2

# @sig-ui/cli

CLI workflows for SigUI project setup, token builds, validation, and template installation.

## What this package is for

Use `@sig-ui/cli` to:

- initialize project config and generated outputs
- regenerate CSS/token artifacts after config changes
- validate contrast, target sizes, and layout quality
- copy component templates for project-owned customization

## How it fits in SigUI

Tooling layer over all runtime libraries.

- Uses `@sig-ui/core` + `@sig-ui/theme` for deterministic generation/checks.
- Integrates with `@sig-ui/components` conventions for `add` workflow.
- Produces assets consumed directly by apps and components.

## Install

```bash
bun add -d @sig-ui/cli
```

or run directly:

```bash
bunx sigui --help
```

## Commands

```bash
bunx sigui init --brand=#6366f1
bunx sigui build --watch
bunx sigui check --full
bunx sigui add button card tabs --dir=src/ui/components
```

## Config typing example

```js
/** @type {import("@sig-ui/theme").SiguiConfig} */
const config = { brand: "#6366f1" };

export default config;
```

## Full docs

- `docs/ARCHITECTURE_OVERVIEW.md`
- `docs/CLI.md`
- `docs/CORE.md` and `docs/THEME.md` (generation/check internals)
- `docs/COMPONENTS.md` (template conventions)
npm package: @sig-ui/components
Description: Web Components library built on SigUI design tokens
Author: SigID, gentix.dev
Latest version: 0.1.2

# @sig-ui/components

Framework-agnostic SigUI Web Components (light DOM).

## What this package is for

Use `@sig-ui/components` for:

- accessible, token-driven UI components
- consistent design-language behavior through `--sg-*` tokens
- optional machine-backed interactive components
- optional HTMX rehydration support

## How it fits in SigUI

`core -> theme -> (dom + components)`

- Depends on `@sig-ui/core`, `@sig-ui/theme`, and `@sig-ui/dom`.
- Consumes CSS/token outputs generated from SigUI config.
- Can be replaced by project-owned components installed via `sigui add`.

## Install

```bash
bun add @sig-ui/components
```

## Quick examples

```js
import { defineSiguiComponents } from "@sig-ui/components";
import "@sig-ui/components/styles/sigui.css";

defineSiguiComponents(); // registers sg-* tags
```

```html
<sg-card>
  <h2>Hello</h2>
  <sg-button color="primary">Save</sg-button>
</sg-card>
```

### Optional HTMX integration

```js
import { installSiguiHtmx } from "@sig-ui/components/lib/htmx";
import "@sig-ui/components/styles/htmx.css";

installSiguiHtmx();
```

## Main API

- `defineSiguiComponents(options?)`
- `registry`
- `SiguiElement`, `rehydrateSubtree`
- utilities: `useMachine`, `useId`, `useReducedMotion`, `enableKeyboardNavigation`
- feature flags: `configureSiguiFeatures`, `getSiguiFeatureFlags`, `isSiguiFeatureEnabled`

## Full docs

- `docs/ARCHITECTURE_OVERVIEW.md`
- `docs/COMPONENTS.md`
- `docs/DOM.md` (peer runtime)
- `docs/THEME.md` (token source)
npm package: @sig-ui/core
Description: Pure math, color science, design tokens, and state machines for SigUI
Author: SigID, gentix.dev
Latest version: 0.1.2

# @sig-ui/core

Foundation package for SigUI. This package contains pure primitives and no browser/runtime side effects.

## What this package is for

Use `@sig-ui/core` for:

- perceptual color operations and palette generation
- APCA/WCAG contrast checks
- spacing, typography, elevation, and motion calculations
- accessibility heuristics and interaction state machines
- DTCG-compatible token export helpers

## How it fits in SigUI

`core -> theme -> (dom, components)`

- `@sig-ui/theme` depends on this package.
- `@sig-ui/dom` and `@sig-ui/components` rely on values derived from this layer.
- `@sig-ui/cli` uses this package for generation and validation workflows.

## Install

```bash
bun add @sig-ui/core
```

## Quick examples

```js
import { generatePalette } from "@sig-ui/core/palette";

const palette = generatePalette("#6366f1", { background: "#ffffff" });
console.log(palette.formatted[500]);
```

```ts
import { apcaContrast } from "@sig-ui/core/contrast";

const lc = Math.abs(apcaContrast("#312e81", "#ffffff"));
if (lc < 60) throw new Error("Not enough body-text contrast");
```

## Main entry points

- `@sig-ui/core`
- `@sig-ui/core/color`
- `@sig-ui/core/contrast`
- `@sig-ui/core/palette`
- `@sig-ui/core/tokens`
- `@sig-ui/core/typography`
- `@sig-ui/core/spacing`
- `@sig-ui/core/motion`
- `@sig-ui/core/elevation`
- `@sig-ui/core/accessibility`
- `@sig-ui/core/machines`

## Full docs

- `docs/ARCHITECTURE_OVERVIEW.md`
- `docs/CORE.md`
- `docs/THEME.md` (next layer)
npm package: @sig-ui/dom
Description: Runtime DOM utilities, animation, and device context for SigUI
Author: SigID, gentix.dev
Latest version: 0.1.2

# @sig-ui/dom

Browser runtime utilities for SigUI.

## What this package is for

Use `@sig-ui/dom` for:

- runtime brand/theme variable updates
- CSS variable injection/removal
- breakpoint and device-context watchers
- adaptive token application based on environment
- token-aligned animation helpers

## How it fits in SigUI

`core -> theme -> dom`

- Depends on `@sig-ui/core` and `@sig-ui/theme`.
- Peer layer with `@sig-ui/components`.
- Optional in static build-only setups.

## Install

```bash
bun add @sig-ui/dom
```

## Quick examples

```js
import { applyBrandColor, removeBrandColor } from "@sig-ui/dom";

applyBrandColor("#0ea5e9");
// later
removeBrandColor();
```

```js
import { watchBreakpoint } from "@sig-ui/dom";

const stop = watchBreakpoint((bp) => {
  document.documentElement.dataset.bp = bp;
});
```

```js
import { animate } from "@sig-ui/dom/animate";

animate(".card", { y: [8, 0], opacity: [0, 1] }, { duration: "normal" });
```

## Main entry points

- `@sig-ui/dom`
- `@sig-ui/dom/animate`
- `@sig-ui/dom/spacing`
- `@sig-ui/dom/manager`
- `@sig-ui/dom/viz`
- `@sig-ui/dom/inspector`

## Full docs

- `docs/ARCHITECTURE_OVERVIEW.md`
- `docs/DOM.md`
- `docs/THEME.md` (upstream)
- `docs/COMPONENTS.md` (peer layer)
npm package: @sig-ui/theme
Description: Theme schema, defaults, and resolution for SigUI
Author: SigID, gentix.dev
Latest version: 0.1.2

# @sig-ui/theme

Theme resolution layer for SigUI. Converts `SiguiConfig` into deterministic resolved values for build and runtime use.

## What this package is for

Use `@sig-ui/theme` for:

- config defaults and normalization
- deterministic theme resolution (`resolveTheme`)
- semantic role mapping and preset resolution
- providing one canonical token source for tooling/runtime

## How it fits in SigUI

`core -> theme -> (dom, components)`

- Built on `@sig-ui/core`.
- Supplies resolved values used by CLI generation/checks and runtime adaptation.
- Keeps design-decision logic out of component/runtime layers.

## Install

```bash
bun add @sig-ui/theme
```

## Quick examples

```js
import { mergeWithDefaults, resolveTheme } from "@sig-ui/theme";

const config = mergeWithDefaults({ brand: "#6366f1" });
const resolved = resolveTheme(config);
console.log(resolved.spacing.baseUnit);
```

```ts
import { resolveTheme } from "@sig-ui/theme";
import { DEFAULT_DEVICE_CONTEXT } from "@sig-ui/core";

const resolved = resolveTheme({ brand: "#2563eb" }, DEFAULT_DEVICE_CONTEXT);
```

## Main API

- `mergeWithDefaults(config)`
- `resolveTheme(config, deviceContext?)`
- preset resolvers (`resolveShape`, `resolveDepth`, `resolveDensity`, `resolveMotion`, `resolveAppearance`)
- semantic helpers (`deriveDarkRoles`, `parseRoleMapping`, `generateSemanticTokenDeclarations`)

## Full docs

- `docs/ARCHITECTURE_OVERVIEW.md`
- `docs/THEME.md`
- `docs/CORE.md` (upstream layer)
- `docs/DOM.md` and `docs/COMPONENTS.md` (downstream layers)
npm package: @sigagent/cli
Description: SigAgent one-line setup CLI for Claude telemetry and plugins
Latest version: 0.1.0

SigAgent CLI
============

SigAgent one-line setup for Claude telemetry and plugin marketplace.

Install
-------

```bash
# From repo root
npm --workspace packages/typescript/cli run build
# Or publish/install as a package, then:
# npx -y @sigagent/cli setup --server https://app.sigagent.ai/fastapi
```

Usage
-----

```bash
# Configure Claude settings and marketplace
npx -y @sigagent/cli setup \
  --server https://app.sigagent.ai/fastapi \
  --marketplace https://github.com/analytiq-hub/sig-agent-marketplace.git \
  --token ORG_TOKEN

# Upgrade (re-apply latest defaults)
npx -y @sigagent/cli upgrade
```

What it does:
- Writes `~/.claude/settings.json` with OTLP env variables pointing to the provided server.
- Ensures `~/.claude/marketplaces.json` contains the SigAgent marketplace URL.
- If `--token` not provided, opens the Organization Access Tokens page in the browser.

Notes:
- This CLI does not create tokens automatically because the API requires an authenticated context. Provide `--token` when available.
- Restart Claude after running the setup.


Publishing to npm
-----------------

Prerequisites:
- You must have publish access to the `@sigagent` scope.
- Ensure `package.json` has:

```json
{
  "name": "@sigagent/cli",
  "publishConfig": { "access": "public" }
}
```

Steps:

```bash
# From this package directory
cd /home/andrei/build/analytiq/sig-agent/packages/typescript/cli

# Log in (if needed)
npm whoami || npm login

# Install deps and build
npm ci
npm run build

# Inspect the publish contents first
npm publish --dry-run

# Publish (use --access public for scoped public packages)
npm publish --access public
```

Versioning:
- Bump the version before publishing:

```bash
npm version patch   # or minor / major
```

Troubleshooting:
- Scoped packages default to private — include `--access public` or `publishConfig.access=public`.
- If 2FA is enabled on your npm account/org, follow prompts during `npm publish`.
- Ensure `dist/index.js` exists and matches the `bin` field in `package.json`.