open-index/open-npm huggingface dataset:
npm package: @stacksi/react-pdf-highlighter
Description: Set of React components for PDF annotation
Author: Artem Tyurin
Latest version: 5.3.29

☕️ [Buy me a coffee](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=SC4D2NS8G2JJ8&source=url)

![Node CI](https://github.com/agentcooper/react-pdf-highlighter/workflows/Node%20CI/badge.svg)

## react-pdf-highlighter

`react-pdf-highlighter` is a [React](https://reactjs.org/) library that provides annotation experience for PDF documents on web. It is built on top of PDF.js by Mozilla. Text and rectangular highlights are supported. Highlight
data format is independent of the viewport, making it suitable for saving on the
server.

### Example

For online example check https://agentcooper.github.io/react-pdf-highlighter/.

To run the example app locally:

```
npm install
npm start
```

Create React App example is available in [`./create-react-app-example`](https://github.com/agentcooper/react-pdf-highlighter/tree/master/create-react-app-example). Make sure to run `npm install` there as well.

### Installation

`npm install react-pdf-highlighter`

See
[`./example/src/App.tsx`](https://github.com/agentcooper/react-pdf-highlighter/blob/master/example/src/App.tsx)
for React component API example.

### Prior art

[`react-pdf`](https://github.com/wojtekmaj/react-pdf) and
[`react-pdfjs`](https://github.com/erikras/react-pdfjs) only provide React
wrappers for PDF.js and do not have built-in annotation functionality.

[`pdfjs-annotate`](https://github.com/instructure/pdf-annotate.js/) does not
provide text highlights out of the box.

PDF.js provides only viewer:

> [PDF.js is mainly written for reading PDF files, not editing them. Because of that we don't yet support adding any kind of annotations. We do however support rendering a number of annotation types for viewing.](https://github.com/mozilla/pdf.js/wiki/Frequently-Asked-Questions#is-it-possible-to-add-annotations-to-a-pdf)

See also:

- https://github.com/mozilla/pdf.js
- https://github.com/wojtekmaj/react-pdf
- https://github.com/erikras/react-pdfjs
- https://github.com/instructure/pdf-annotate.js/
- https://blogs.dropbox.com/tech/2016/11/annotations-on-document-previews/

### FAQ

##### Can I get a new PDF with the highlights embedded into the document?

Take a look at https://pdf-lib.js.org.

##### Wasn't this named react-pdf-annotator at some point?

Yes, but people from https://www.pdfannotator.com/ asked me to rename, since [they have a trademark for PDF Annotator](https://www.pdfannotator.com/en/help/infodisclaimer).

##### I'm trying the demo with my PDF and it is not loading!

Please check the [CORS headers](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) on your url. It is required for the cross-domain request.

### Compatibility

Works in Google Chrome, Safari 10+, Firefox 52+. Not tested in Internet
Explorer.
npm package: @stacksi/react-virtual
Description: Hooks for virtualizing scrollable elements in React
Author: tannerlinsley
Latest version: 0.0.3

<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents**  *generated with [DocToc](https://github.com/thlorenz/doctoc)*

- [Visit react-virtual.tanstack.com for docs, guides, API and more!](#visit-react-virtualtanstackcom-for-docs-guides-api-and-more)
- [Quick Features](#quick-features)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

![React Virtual Header](https://github.com/tannerlinsley/react-virtual/raw/master/media/repo-dark.png)

Hooks for virtualizing scrollable elements in React

<a href="https://twitter.com/intent/tweet?button_hashtag=TanStack" target="\_parent">
  <img alt="#TanStack" src="https://img.shields.io/twitter/url?color=%2308a0e9&label=%23TanStack&style=social&url=https%3A%2F%2Ftwitter.com%2Fintent%2Ftweet%3Fbutton_hashtag%3DTanStack">
</a>
<a href="https://npmjs.com/package/react-virtual" target="\_parent">
  <img alt="" src="https://img.shields.io/npm/dm/react-virtual.svg" />
</a>
<a href="https://bundlephobia.com/result?p=react-virtual" target="\_parent">
  <img alt="" src="https://badgen.net/bundlephobia/minzip/react-virtual" />
</a>
<a href="https://spectrum.chat/react-virtual">
  <img alt="Join the community on Spectrum" src="https://withspectrum.github.io/badge/badge.svg" />
</a>
<a href="https://github.com/react-virtual/react-virtual" target="\_parent">
  <img alt="" src="https://img.shields.io/github/stars/react-virtual/react-virtual.svg?style=social&label=Star" />
</a>
<a href="https://twitter.com/tannerlinsley" target="\_parent">
  <img alt="" src="https://img.shields.io/twitter/follow/tannerlinsley.svg?style=social&label=Follow" />
</a>

<br />
<br />

Enjoy this library? Try the entire [TanStack](https://tanstack.com)! [React Query](https://github.com/tannerlinsley/react-query), [React Table](https://github.com/tannerlinsley/react-table), [React Charts](https://github.com/tannerlinsley/react-charts), [React Form](https://github.com/tannerlinsley/react-form)

## Visit [react-virtual.tanstack.com](https://react-virtual.tanstack.com) for docs, guides, API and more!

## Quick Features

- Row, Column, and Grid virtualization
- One single **headless** hook
- Fixed, variable and dynamic measurement modes
- Imperative scrollTo control for offset, indices and alignment
- Custom scrolling function support (eg. smooth scroll)
- <a href="https://bundlephobia.com/result?p=react-virtual@latest" target="\_parent">
  <img alt="" src="https://badgen.net/bundlephobia/minzip/react-virtual@latest" />
  </a>
npm package: @stacksjs/biome-config
Description: A well-opinionated Biome config to get you started quickly, and efficiently.
Author: Chris Breuer
Latest version: 0.1.5

<p align="center"><img src=".github/art/cover.jpg" alt="Social Card of this repo"></p>

[![npm version][npm-version-src]][npm-version-href]
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
<!-- [![npm downloads][npm-downloads-src]][npm-downloads-href] -->
<!-- [![Codecov][codecov-src]][codecov-href] -->

# biome-config

This is an opinionated, well-defined Biome configuration to help you get started with your project. It currently is the configuration used by [Stacks.js](https://stacksjs.org).

## Features

- Preconfigured linter & formatter settings
- Customizable TypeScript, JavaScript, JSON & CSS rules
- Automatic import organization
- EditorConfig support enabled by default
- Git integration
- Predefined ignore patterns for common files/directories

## Get Started

```bash
bun i @stacksjs/biome-config
```

After you installed the config, you need to extend it in your `biome.json` file.

```jsonc
{
  "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",

  // add your custom configuration here

  "extends": ["./node_modules/@stacksjs/biome-config/schema.json"]
}
```

_You want to tweak some of the rules? You can easily override them._

## Changelog

Please see our [releases](https://github.com/stackjs/biome-config/releases) page for more information on what has changed recently.

## Contributing

Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.

## Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

[Discussions on GitHub](https://github.com/stacksjs/biome-config/discussions)

For casual chit-chat with others using this package:

[Join the Stacks Discord Server](https://discord.gg/stacksjs)

## Postcardware

Stacks OSS will always stay open-sourced, and we will always love to receive postcards from wherever Stacks is used! _And we also publish them on our website. Thank you, Spatie._

Our address: Stacks.js, 12665 Village Lane #2306, Playa Vista 90094, CA, USA 🌎

## Sponsors

We would like to extend our thanks to the following sponsors for funding Stacks development. If you are interested in becoming a sponsor, please reach out to us.

- [JetBrains](https://www.jetbrains.com/)
- [The Solana Foundation](https://solana.com/)

## 📄 License

The MIT License (MIT). Please see [LICENSE](LICENSE.md) for more information.

Made with 💙

<!-- Badges -->
[npm-version-src]: https://img.shields.io/npm/v/@stacksjs/biome-config?style=flat-square
[npm-version-href]: https://npmjs.com/package/@stacksjs/biome-config

<!-- [codecov-src]: https://img.shields.io/codecov/c/gh/stacksjs/biome-config/main?style=flat-square
[codecov-href]: https://codecov.io/gh/stacksjs/biome-config -->
npm package: @stacksjs/dashboard
Description: The Stacks Dashboard.
Author: Chris Breuer
Latest version: 0.51.0

# Stacks Dashboard

The Stacks Dashboard.

## ☘️ Features

- [wip] Log Viewer

- [] Self-deployed or managed cloud error tracking
- [] Performance Monitoring
- [] Serverless/Server (host) Monitoring
- [] Anomaly Detection
- [] Metric Dashboards/Reports
- [] Page view & function execution analytics, etc.
- [] Uptime Monitoring
- [] Queue Monitoring
- [] Request Monitoring
- [] Deployment Management UI
- [] Local email testing & debugging
- [] AWS Billing Details & Alerts
- [] Invoice generation
- [] AWS Cost Explorer
- [] AWS Cost

## 🤖 Usage

```bash
pnpm i -D @stacksjs/dashboard
```

Now, you can use it in your project:

```js
import { log } from '@stacksjs/logging'

log('some description') // aliases to log.log()
log.debug('some debug description')
log.info('some info description')
log.warn('some warning description')
log.error('some error description')
// and more...
```

Learn more in the docs.

## 🧪 Testing

```bash
pnpm test
```

## 📈 Changelog

Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.

## 💪🏼 Contributing

Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.

## 🏝 Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

[Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)

For casual chit-chat with others using this package:

[Join the Stacks Discord Server](https://discord.ow3.org)

## 📄 License

The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/stacks/tree/main/LICENSE.md) for more information.

Made with ❤️
npm package: @stacksjs/domains
Description: Easily manage your domains.
Author: Chris Breuer
Latest version: 0.53.1

# Stacks Domains

Easily manage your domains.

## ☘️ Features

- DNS management
- Domain management
- Custom email addresses
- SSL management

## 🤖 Usage

```bash
pnpm i -D @stacksjs/domains
```

Now, you can use it in your project:

```js
import { domains } from '@stacksjs/domains'

// wip - coming soon
```

Learn more in the docs.

## 🧪 Testing

```bash
pnpm test
```

## 📈 Changelog

Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.

## 🚜 Contributing

Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.

## 🏝 Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

[Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)

For casual chit-chat with others using this package:

[Join the Stacks Discord Server](https://discord.ow3.org)

## 📄 License

The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/stacks/tree/main/LICENSE.md) for more information.

Made with ❤️
npm package: @stacksjs/drivers
Description: Easily create a driver-based system.
Author: Chris Breuer
Latest version: 0.51.0

# Stacks Driver

A simple way to create reusable driver implementations. Utilized in the Stacks Framework, inspired by the Nuxt team's work.

## ☘️ Features

- ⚡️ Easily create a reusable driver system

## 🤖 Usage

```bash
pnpm i -D @stacksjs/drivers
```

Now, you can use it in your project:

```js
import { defineDriver } from '@stacksjs/drivers'

// wip
```

Learn more in the docs.

## 🧪 Testing

```bash
pnpm test
```

## 📈 Changelog

Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.

## 💪🏼 Contributing

Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.

## 🏝 Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

[Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)

For casual chit-chat with others using this package:

[Join the Stacks Discord Server](https://discord.ow3.org)

## 📄 License

The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/stacks/tree/main/LICENSE.md) for more information.

Made with ❤️
npm package: @stacksjs/framework
Description: The Stacks framework.
Author: Chris Breuer
Latest version: 0.36.6
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @stacksjs/framework

This framework contains the "core" Stacks logic, its runtime & helpers, excluding the IDE setup.

## ☘️ Features

The ultimate goal of this framework, Stacks, is to _help you_ create a component and/or function library. Stacks is a toolkit of composables, methods, and other goodies required to build optimized libraries. A highly optimized build process that automatically generates `.mjs` & `.cjs` library distributions for you, including its TypeScript types.

Other included core features are:

- ⚡️ Vite plugins to build the component library
- 🏎 Blazing fast, empowered by a beautiful DX
- 👣 Tiny foot-print in production builds
- 💬 Fully-typed TypeScript definitions
- 🌳 Treeshaking for Vue & Web Components
- 🎨 Optimized UnoCSS build for Vue & Web Components _(defaults to Tailwind CSS utility classes)_
- 🧙🏼‍♀️ Unified way to access hundreds of [icon sets](https://icon-sets.iconify.design)
 — [Icons in Pure CSS](https://antfu.me/posts/icons-in-pure-css)

And all of this in a zero-config, yet configurable, way.

## 🤖 Usage

If you want to use Stacks outside of this framework, install it as a dev dependency:

```bash
pnpm i -D @stacksjs/framework
```

Now, you can use it in your project:

```js
import {
  Stacks,
  atomicCssEngine,
  autoImports,
  components,
  createApp,
  defineConfig,
  defineTestConfig,
  inspect,
  resolve,
  uiEngine
} from '@stacksjs/framework'

// you are now free to use any of the imported methods
```

Learn more in the docs.

## 🧪 Testing

```bash
pnpm test
```

## 📈 Changelog

Please see our [releases](https://github.com/stacksjs/vue-components-library-starter/releases) page for more information on what has changed recently.

## 💪🏼 Contributing

Please see [CONTRIBUTING](../../.github/CONTRIBUTING.md) for details.

## 🏝 Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

[Discussions on GitHub](https://github.com/openweblabs/web-components-library-starter/discussions)

For casual chit-chat with others using this package:

[Join the Open Web Discord Server](https://discord.ow3.org)

## 📄 License

The MIT License (MIT). Please see [LICENSE](../../LICENSE.md) for more information.

Made with ❤️
npm package: @stacksjs/fs
Description: The Stacks file system.
Author: Chris Breuer
Latest version: 0.37.9

# Stacks File System

This package contains the Stacks File System source.

## ☘️ Features

wip

- ⚡️

wip

## 🤖 Usage

wip

```bash
pnpm i -D @stacksjs/fs
```

Now, you can use it in your project:

```js
import * as fs from '@stacksjs/fs'

// wip
```

Learn more in the docs.

## 🧪 Testing

```bash
pnpm test
```

## 📈 Changelog

Please see our [releases](https://github.com/stacksjs/stacksjs/releases) page for more information on what has changed recently.

## 💪🏼 Contributing

Please see [CONTRIBUTING](../../.github/CONTRIBUTING.md) for details.

## 🏝 Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

[Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)

For casual chit-chat with others using this package:

[Join the Open Web Discord Server](https://discord.ow3.org)

## 📄 License

The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/stacks/tree/main/LICENSE.md) for more information.

Made with ❤️
npm package: @stacksjs/modules
Description: The Stacks framework modules.
Author: Chris Breuer
Latest version: 0.57.4

# Stacks Modules

A custom user module system. Place a `.ts` file with the following template & it will be installed automatically.

## 🤖 Usage

```bash
pnpm i -D @stacksjs/modules
```

Now, you can use it in your project:

```ts
import { type UserModule } from '@stacksjs/types'

export const install: UserModule = ({ app, router, isClient }) => {
  // do something
}
```

Learn more in the docs.

## 🧪 Testing

```bash
pnpm test
```

## 📈 Changelog

Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.

## 🚜 Contributing

Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.

## 🏝 Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

[Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)

For casual chit-chat with others using this package:

[Join the Stacks Discord Server](https://discord.ow3.org)

## 📄 License

The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/stacks/tree/main/LICENSE.md) for more information.

Made with ❤️
npm package: @stacksjs/signals
Description: The Stacks signals integration, based on Maverick.
Author: Chris Breuer
Latest version: 0.58.73

# Stacks Signals

Stacks proxies [https://github.com/maverick-js/signals](Maverick.js's) signals.

## ☘️ Features

- 🪶 Light (~1kB minzipped)
- 💽 Works in both browsers and Node.js
- 🌎 All types are observable (i.e., string, array, object, etc.)
- 🕵️‍♀️ Only updates when value has changed
- ⏱️ Batched updates via microtask scheduler
- 😴 Lazy by default - efficiently re-computes only what's needed
- 🔬 Computations via computed
- 📞 Effect subscriptions via effect
- 🐛 Debugging identifiers
- 💪 Strongly typed

## 🤖 Usage

```bash
bun install -d @stacksjs/signals
```

You may now use it in your project:

```ts
import { computedSignal, effect, root, signal, tick } from '@stacksjs/signals'

root((dispose) => {
  // Create - all types supported (string, array, object, etc.)
  const $m = signal(1)
  const $x = signal(1)
  const $b = signal(0)

  // Compute - only re-computed when `$m`, `$x`, or `$b` changes.
  const $y = computedSignal(() => $m() * $x() + $b())

  // Effect - this will run whenever `$y` is updated.
  const stop = effect(() => {
    console.log($y())

    // Called each time `effect` ends and when finally disposed.
    return () => {}
  })

  $m.set(10) // logs `10` inside effect

  // Flush queue synchronously so effect is run.
  // Otherwise, effects will be batched and run on the microtask queue.
  tick()

  $b.set(prev => prev + 5) // logs `15` inside effect

  tick()

  // Nothing has changed - no re-compute.
  $y()

  // Stop running effect.
  stop()

  // ...

  // Dispose of all signals inside `root`.
  dispose()
})
```

## 🧪 Testing

```bash
bun test
```

## 📈 Changelog

Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.

## 🚜 Contributing

Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.

## 🏝 Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

[Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)

For casual chit-chat with others using this package:

[Join the Stacks Discord Server](https://discord.gg/stacksjs)

## 🙏🏼 Credits

Many thanks to the following core technologies & people who have contributed to this package:

- [Rahim Alwer](https://github.com/maverick-js/signals)
- [Chris Breuer](https://github.com/chrisbbreuer)
- [All Contributors](../../contributors)

## 📄 License

The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/stacks/tree/main/LICENSE.md) for more information.

Made with 💙
npm package: @stacksjs/tests
Description: The Stacks way to test.
Author: Chris Breuer
Latest version: 0.41.1

# Stacks Testing

wip

## ☘️ Features

wip

- ⚡️

wip

## 🤖 Usage

wip

```bash
pnpm i -D @stacksjs/tests
```

Now, you can use it in your project:

```js
import * as tests from '@stacksjs/tests'

// wip
```

Learn more in the docs.

## 🧪 Testing

```bash
pnpm test
```

## 📈 Changelog

Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.

## 💪🏼 Contributing

Please see [CONTRIBUTING](../../.github/CONTRIBUTING.md) for details.

## 🏝 Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

[Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)

For casual chit-chat with others using this package:

[Join the Open Web Discord Server](https://discord.ow3.org)

## 📄 License

The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/stacks/tree/main/LICENSE.md) for more information.

Made with ❤️
npm package: @stacksjs/vite
Description: The Stacks Vite plugin.
Author: Chris Breuer
Latest version: 0.59.11

# Vite Plugin Stacks

This package contains the Stacks Vite plugin.

## ☘️ Features

wip

- ⚡️

wip

## 🤖 Usage

wip

```bash
bun install -d @stacksjs/vite-plugin
```

Now, you can use it in your project:

```js
import vite from '@stacksjs/vite'

// wip
```

Learn more in the docs.

## 🧪 Testing

```bash
bun test
```

## 📈 Changelog

Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.

## 🚜 Contributing

Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.

## 🏝 Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

[Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)

For casual chit-chat with others using this package:

[Join the Stacks Discord Server](https://discord.gg/stacksjs)

## 📄 License

The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/stacks/tree/main/LICENSE.md) for more information.

Made with 💙
npm package: @stacksjs/vite-plugin-vue-layouts
Description: Router based layout plugin for Vite and Vue.
Latest version: 0.58.24

# Stacks

wip

## ☘️ Features

wip

- ⚡️

wip

## 🤖 Usage

wip

```bash
bun install -d @stacksjs/arrays
```

Now, you can use it in your project:

```js
import * as arrays from '@stacksjs/arrays'

// wip
```

Learn more in the docs.

## 🧪 Testing

```bash
bun test
```

## 📈 Changelog

Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.

## 🚜 Contributing

Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.

## 🏝 Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

[Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)

For casual chit-chat with others using this package:

[Join the Stacks Discord Server](https://discord.gg/stacksjs)

## 📄 License

The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/stacks/tree/main/LICENSE.md) for more information.

Made with 💙
npm package: @stacksnpmv/stacks-blind-auction
Description: Blind auction contract for Stacks
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-blind-auction

Blind auction contract for Stacks

## Installation

```bash
npm install @stacksnpmv/stacks-blind-auction
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-blind-auction');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stacksnpmv/stacks-clarity-utils
Description: Clarity utility functions for Stacks developers
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-clarity-utils

Clarity utility functions for Stacks developers

## Installation

```bash
npm install @stacksnpmv/stacks-clarity-utils
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-clarity-utils');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stacksnpmv/stacks-counter
Description: Clarity counter smart contract module for Stacks blockchain
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-counter

Clarity counter smart contract module for Stacks blockchain

## Installation

```bash
npm install @stacksnpmv/stacks-counter
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-counter');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stacksnpmv/stacks-crowdfund
Description: Crowdfunding smart contract for Stacks blockchain
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-crowdfund

Crowdfunding smart contract for Stacks blockchain

## Installation

```bash
npm install @stacksnpmv/stacks-crowdfund
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-crowdfund');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stacksnpmv/stacks-daily-checkin
Description: Daily check-in rewards contract for Stacks
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-daily-checkin

Daily check-in rewards contract for Stacks

## Installation

```bash
npm install @stacksnpmv/stacks-daily-checkin
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-daily-checkin');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stacksnpmv/stacks-dao-governance
Description: DAO governance contract for Stacks blockchain
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-dao-governance

DAO governance contract for Stacks blockchain

## Installation

```bash
npm install @stacksnpmv/stacks-dao-governance
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-dao-governance');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stacksnpmv/stacks-escrow
Description: Escrow service smart contract for Stacks
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-escrow

Escrow service smart contract for Stacks

## Installation

```bash
npm install @stacksnpmv/stacks-escrow
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-escrow');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stacksnpmv/stacks-guestbook
Description: On-chain guestbook contract for Stacks
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-guestbook

On-chain guestbook contract for Stacks

## Installation

```bash
npm install @stacksnpmv/stacks-guestbook
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-guestbook');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stacksnpmv/stacks-lending
Description: Lending protocol contract for Stacks
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-lending

Lending protocol contract for Stacks

## Installation

```bash
npm install @stacksnpmv/stacks-lending
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-lending');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stacksnpmv/stacks-lottery
Description: Lottery smart contract for Stacks blockchain
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-lottery

Lottery smart contract for Stacks blockchain

## Installation

```bash
npm install @stacksnpmv/stacks-lottery
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-lottery');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stacksnpmv/stacks-marketplace
Description: NFT marketplace contract for Stacks
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-marketplace

NFT marketplace contract for Stacks

## Installation

```bash
npm install @stacksnpmv/stacks-marketplace
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-marketplace');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stacksnpmv/stacks-multisig
Description: Multi-signature wallet for Stacks
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-multisig

Multi-signature wallet for Stacks

## Installation

```bash
npm install @stacksnpmv/stacks-multisig
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-multisig');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stacksnpmv/stacks-nft-mint
Description: NFT minting contract for Stacks blockchain
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-nft-mint

NFT minting contract for Stacks blockchain

## Installation

```bash
npm install @stacksnpmv/stacks-nft-mint
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-nft-mint');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stacksnpmv/stacks-points-rewards
Description: Points and rewards system for Stacks blockchain
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-points-rewards

Points and rewards system for Stacks blockchain

## Installation

```bash
npm install @stacksnpmv/stacks-points-rewards
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-points-rewards');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stacksnpmv/stacks-raffle
Description: Raffle smart contract for Stacks
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-raffle

Raffle smart contract for Stacks

## Installation

```bash
npm install @stacksnpmv/stacks-raffle
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-raffle');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stacksnpmv/stacks-staking
Description: Staking contract for Stacks blockchain
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-staking

Staking contract for Stacks blockchain

## Installation

```bash
npm install @stacksnpmv/stacks-staking
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-staking');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stacksnpmv/stacks-stx-helper
Description: STX helper utilities for Stacks blockchain
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-stx-helper

STX helper utilities for Stacks blockchain

## Installation

```bash
npm install @stacksnpmv/stacks-stx-helper
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-stx-helper');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stacksnpmv/stacks-stx-tools
Description: Developer tools for Stacks ecosystem
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-stx-tools

Developer tools for Stacks ecosystem

## Installation

```bash
npm install @stacksnpmv/stacks-stx-tools
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-stx-tools');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stacksnpmv/stacks-stx-utils
Description: Utility library for Stacks smart contracts
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-stx-utils

Utility library for Stacks smart contracts

## Installation

```bash
npm install @stacksnpmv/stacks-stx-utils
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-stx-utils');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stacksnpmv/stacks-subscription
Description: Subscription management contract for Stacks
Author: stacksnpmv
Latest version: 1.0.0

# @stacksnpmv/stacks-subscription

Subscription management contract for Stacks

## Installation

```bash
npm install @stacksnpmv/stacks-subscription
```

## Usage

```javascript
const mod = require('@stacksnpmv/stacks-subscription');
console.log(mod.getInfo());
```

## License

MIT
npm package: @stackso/soul-spec-ts
Description: A specification of actions on the soul protocol
Latest version: 2.1.2

# Soul Spec

soul-spec-ts is a TypeScript-based library that provides specifications for actions on the Soul Protocol ([soul.xyz](https://soul.xyz)). It provides two essential functions:

1. `getRequiredFieldsForAction(action: ActionType)` - A helper function that returns a list of required fields to generate a message.

2. `generateMessage(action: ActionType, data: ActionData)` - The main function to generate the message for the user to sign. It throws an error if the provided data does not meet the requirement.

## Getting Started

To get started, you need to install the package using npm:

```bash
npm install soul-spec-ts
```

Then, you can import and use the functions in your TypeScript or JavaScript project:

```typescript
import { ActionType, getRequiredFieldsForAction, generateMessage } from 'soul-spec-ts';

// optional: check required fields for an action
const action = ActionType.CREATE_SOUL;
const requiredFields = getRequiredFieldsForAction(action);
console.log(requiredFields);

// generate message to sign
const message = generateMessage({
    action,
    data: {...}, // replace this with actual data
});
console.log(message);
```

Remember to replace data with your actual data matching the required fields for the chosen action.

Please refer to this file for supported actions: [src/actions/ActionType.ts](src/actions/ActionType.ts)

## License

This project is licensed under the terms of the MIT license.
npm package: @stacksolo/core
Description: Core types and registry for StackSolo infrastructure plugins
Author: MonkeyBarrels
Latest version: 0.1.0

# @stacksolo/core

Core types and registry for StackSolo infrastructure plugins.

## Installation

```bash
npm install @stacksolo/core
```

## Usage

This package provides the foundational types and registry for building StackSolo plugins.

### Types

```typescript
import type {
  Plugin,
  Provider,
  ResourceType,
  PluginService
} from '@stacksolo/core';
```

### Registry

```typescript
import { registry } from '@stacksolo/core';

// Register a provider
registry.registerProvider(myProvider);

// Register a resource type
registry.registerResource(myResource);

// Get all registered providers
const providers = registry.getProviders();

// Get a specific resource by type
const resource = registry.getResource('gcp-cdktf:cloud_function');
```

### Creating a Plugin

```typescript
import type { Plugin } from '@stacksolo/core';

const myPlugin: Plugin = {
  name: '@my-org/stacksolo-plugin-example',
  version: '1.0.0',
  providers: [myProvider],
  resources: [myResource],
  services: [myService], // Optional: runnable services
};

export default myPlugin;
```

## Types Reference

### Plugin

```typescript
interface Plugin {
  name?: string;
  version?: string;
  providers?: Provider[];
  resources?: ResourceType[];
  patterns?: AppPattern[];
  services?: PluginService[];
}
```

### PluginService

For plugins that provide runnable services (like the kernel):

```typescript
interface PluginService {
  name: string;
  image: string;           // Docker image reference
  sourcePath?: string;     // For local dev builds
  ports: Record<string, number>;
  env?: Record<string, string>;
  resources?: {
    cpu?: string;
    memory?: string;
  };
}
```

## License

MIT
npm package: @stacksolo/plugin-web-admin
Description: Web-based admin UI for StackSolo - dashboard, deploy controls, local dev management, and config editor
Author: MonkeyBarrels
Latest version: 0.1.0

# @stacksolo/plugin-web-admin

A web-based admin UI for StackSolo. This plugin provides a visual interface to manage your StackSolo projects without using the command line.

## What It Does

The web admin gives you a dashboard to:

- **View Resources** - See all your cloud resources (functions, containers, databases, etc.) in one place
- **Deploy** - Run deployments with real-time log streaming
- **Local Dev** - Start/stop local development and view service logs
- **Edit Config** - Edit your `stacksolo.config.ts` with syntax validation

## Installation

The web admin is included with StackSolo. To enable it, add this to your config:

```typescript
// stacksolo.config.ts
export default defineConfig({
  // ... your other config
  webAdmin: {
    enabled: true,
    port: 3000, // optional, defaults to 3000
  },
});
```

## Usage

Once enabled, the web admin starts automatically when you run:

```bash
stacksolo dev
```

Then open http://localhost:3000 in your browser.

## Features

### Dashboard

The main dashboard shows:
- Resource counts by type (functions, containers, databases, etc.)
- Quick action buttons for common tasks
- Recent activity feed

### Resources Page

View and manage your deployed resources:
- Filter by type or search by name
- Click a resource to see details and logs
- Quick links to resource URLs

### Deploy Page

Run infrastructure deployments:
- One-click deploy button
- Real-time progress bar
- Live log streaming
- Deployment history with rollback support

### Local Dev Page

Manage your local development environment:
- Start/stop controls
- Service status table with ports and URLs
- Live log streaming with service filtering
- Resource usage (CPU, memory)

### Config Page

Edit your project configuration:
- Syntax highlighting
- Real-time validation
- Save with one click

## How It Works

The web admin is a SvelteKit app that runs as a service alongside your other local dev services. It executes StackSolo CLI commands behind the scenes and displays the results in a friendly UI.

All API endpoints call the `stacksolo` CLI:
- `/api/project` → `stacksolo status --json`
- `/api/deploy` → `stacksolo deploy` (with SSE streaming)
- `/api/local/start` → `stacksolo dev --detach`
- etc.

## Development

To work on the web admin itself:

```bash
# Install dependencies
cd plugins/web-admin/app
pnpm install

# Run dev server
pnpm dev
```

The dev server runs on http://localhost:3000 with hot reload.

## Building

```bash
# Build the plugin
pnpm --filter @stacksolo/plugin-web-admin build

# Build the SvelteKit app
cd plugins/web-admin/app
pnpm build
```

## Docker

A Dockerfile is included for production builds:

```bash
cd plugins/web-admin/app
docker build -t stacksolo-web-admin .
docker run -p 3000:3000 -e STACKSOLO_PROJECT_PATH=/project -v /your/project:/project stacksolo-web-admin
```

## Requirements

- Node.js 20+
- StackSolo CLI installed and in PATH
- A StackSolo project (with `stacksolo.config.ts`)