open-index/open-npm huggingface dataset:
npm package: @safe-labs/kv
Description: Secure API key storage via macOS Keychain
Author: dxiongya
Latest version: 0.1.1

# @safe-labs/kv

Secure API key storage via macOS Keychain. Zero dependencies.

## Install

```bash
# npm
npm install -g @safe-labs/kv

# Homebrew
brew install dxiongya/tap/kv

# Manual
git clone https://github.com/dxiongya/kv-cli.git
ln -s "$(pwd)/kv-cli/bin/kv" /usr/local/bin/kv
```

## CLI Usage

```bash
# Store a key
kv set openai sk-proj-xxxxx

# Store with secure input (value hidden, not in shell history)
kv set openai

# Retrieve -> clipboard (auto-clears in 10s)
kv get openai

# Retrieve -> print to terminal
kv get openai --print

# Use inline
curl -H "Authorization: Bearer $(kv get openai --print)" https://api.openai.com/...

# Groups
kv set openrouter/main sk-or-xxx
kv set openrouter/dev sk-or-yyy
kv groups                            # show all groups
kv list openrouter/                  # list keys in a group
kv rm openrouter/ --all              # delete entire group
kv env openrouter/                   # export group as env vars

# List all keys
kv list

# Delete
kv rm openai
```

## Node.js API

```js
const { kv } = require('@safe-labs/kv')

// Get a key
const key = kv('openrouter')
const key2 = kv('openrouter/main')

// Set a key
kv.set('openrouter/dev', 'sk-or-yyy')

// List keys
kv.list()                // all keys
kv.list('openrouter/')   // keys in a group

// Groups
kv.groups()
// { grouped: { openrouter: 2 }, ungrouped: ['openai'] }

// Export as env vars
kv.env('openrouter/')
// { MAIN: 'sk-or-xxx', DEV: 'sk-or-yyy' }

// Delete
kv.rm('openai')
kv.rmGroup('openrouter/')  // delete all in group
```

## Security

- **macOS Keychain** — hardware-backed encryption (Secure Enclave on Apple Silicon)
- **Clipboard auto-clear** — copied values are wiped after 10 seconds
- **Hidden input** — `kv set name` without a value prompts securely (no echo)
- **Pipe-friendly** — `echo "sk-xxx" | kv set name` avoids shell history
- **No files on disk** — all secrets live in Keychain, never written to disk

## License

MIT
npm package: @safe-npm/safe-npm
Description: > npm install... but safe.
Latest version: 1.0.0

# 🛡️ safe-npm

> npm install... but safe.

safe-npm is a lightweight CLI that protects you from **malicious npm packages** by inspecting lifecycle scripts *before* they run on your machine.

No more blindly trusting `npm install`.

---

## Why?

When you run:

```bash
npm install
```

you're not just installing dependencies, you're also executing arbitrary code from the internet.
Packages can run:
- preinstall
- install
- postinstall

And those scripts can:
- read your .env / SSH keys
- make network requests
- execute shell commands
- modify your project files

## What safe-npm does?

safe-npm sits between you and npm and makes the install process safe by default.

It:
- blocks lifecycle scripts from running automatically
- analyzes them in an isolated sandbox
- detects suspicious behavior (network, exec, file access, etc.)
- lets you decide whether to trust them

If you approve a script, it is executed normally so your dependencies still work — just without the risk of blind execution.

## Usage

Instead of:
```bash
npm install
```

Use:
```bash
snpm install
```

## Setup

```bash
git clone https://github.com/your-username/safe-npm
cd safe-npm
npm install
npm link
```

## Manual Tests
```bash
cd safe-npm/test-projects
```
Then cd into any projects on the directory. Then run:
```bash
snpm install
```


## What makes it useful
- prevents silent supply chain attacks
- gives visibility into what install scripts actually do
- analyzes real runtime behavior
- keeps your system safe by default
- integrates seamlessly into existing npm workflow

## Limitations (for now)
- Linux only (uses firejail)
- detection is still heuristic-based
- relies on sandbox analysis. Highly obfuscated or delayed attacks may evade detection
- some legitimate packages may require manual approval
npm package: @safe-stars/components
Description: React component library for buying Telegram Stars in Telegram Mini Apps via Safe Stars.
Author: Safe Stars
Latest version: 1.0.1

# @safe-stars/components

React component library for buying Telegram Stars in Telegram Mini Apps via Safe Stars.

## Installation

```bash
npm install @safe-stars/components
# or
yarn add @safe-stars/components
```

## Usage

### Basic Setup

1. Wrap your app with the SafeStarsProvider and provide configuration:

```tsx
import { SafeStarsProvider } from '@safe-stars/components';

<SafeStarsProvider 
  config={{
    tonCenterApiKey: "your-ton-center-api-key", // Optional: enables TON payments
    alchemyApiKey: "your-alchemy-api-key" // Optional: enables Arbitrum payments with Alchemy RPC
  }}
>
  <App />
</SafeStarsProvider>
```

### Configuration Options

**Payment Methods Availability:**
- RUB payments (via SBP): Always available
- TON USDT payments: Available when `tonCenterApiKey` is provided
- Arbitrum USDT payments: Available when `alchemyApiKey` is provided

### Components

#### BuyStarsButton

A button component for initiating Telegram Stars purchases.

```tsx
<BuyStarsButton stars={100}>
  Buy 100 Stars
</BuyStarsButton>
```

#### BuyStarsDrawer

The drawer component is automatically managed by the SafeStarsProvider. When you click a BuyStarsButton, it will open the purchase flow drawer.

```tsx
<BuyStarsButton stars={50} />
```

#### Custom Button

You can also create a custom button without specifying stars amount:

```tsx
<BuyStarsButton>
  Buy Stars
</BuyStarsButton>
```

### useSafeStars Hook

You can use the `useSafeStars` hook to programmatically control the drawer:

```tsx
import { useSafeStars } from '@safe-stars/components';

const { openDrawer } = useSafeStars();

// Open drawer with specific amount
<button onClick={() => openDrawer({ stars: 100 })}>
  Custom Buy Button
</button>

// Open drawer without amount (user can choose)
<button onClick={() => openDrawer()}>
  Buy Stars
</button>
```

## Requirements

- React 18.0.0 or higher
- Telegram Mini App environment (for full functionality)
npm package: @safe-swap-libs/eslint-config-safe
Description: Eslint config for safeSwap
Author: SafeSwap
Latest version: 1.0.0

# eslint-config-apricot

SafeSwap Eslint config with:

- Airbnb config
- Typescript
- Prettier

## Usage

```
npx install-peerdeps --dev @safe-swap-libs/eslint-config-apricot
```

Add `"extends": "@safe-swap-libs/eslint-config-apricot"` to your eslint config file.
npm package: @safe-swap-libs/sdk
Description: 🛠 An SDK for building applications on top of safeswap.
Latest version: 2.2.0

# Safeswap SDK

[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
[![Actions Status](https://github.com/safeswap/safeswap-sdk/workflows/CI/badge.svg)](https://github.com/safeswap/safeswap-sdk)
[![npm version](https://img.shields.io/npm/v/@safeswap-lib/sdk/latest.svg)](https://www.npmjs.com/package/@safeswap-lib/sdk/v/latest)

## Running tests

To run the tests, follow these steps. You must have at least node v10 and [yarn](https://yarnpkg.com/) installed.

First clone the repository:

```sh
git clone https://github.com/safeswap/safeswap-sdk.git
```

Move into the safeswap-sdk working directory

```sh
cd safeswap-sdk/
```

Install dependencies

```sh
yarn install
```

Run tests

```sh
yarn test
```

You should see output like the following:

```sh
yarn run v1.22.4
$ tsdx test
 PASS  test/constants.test.ts
 PASS  test/pair.test.ts
 PASS  test/fraction.test.ts
 PASS  test/miscellaneous.test.ts
 PASS  test/entities.test.ts
 PASS  test/trade.test.ts

Test Suites: 1 skipped, 6 passed, 6 of 7 total
Tests:       3 skipped, 82 passed, 85 total
Snapshots:   0 total
Time:        5.091s
Ran all test suites.
✨  Done in 6.61s.
```
npm package: @safe-swap-libs/uikit
Description: Set of UI components for safeswap projects
Latest version: 0.29.1

# 🥞 SafeSwap UIkit

[![Version](https://img.shields.io/npm/v/@safe-swap-libs/uikit)](https://www.npmjs.com/package/@safe-swap-libs/uikit) [![Size](https://img.shields.io/bundlephobia/min/@safe-swap-libs/uikit)](https://www.npmjs.com/package/@safe-swap-libs/uikit)

SafeSwap UIkit is a set of React components and hooks used to build pages on SafeSwap's apps. It also contains a theme file for dark and light mode.

## Install

`yarn add @safe-swap-libs/uikit`

## Setup

### Theme

Before using SafeSwap UIkit, you need to provide the theme file to styled-component.

```
import { ThemeProvider } from 'styled-components'
import { light, dark } from '@safe-swap-libs/uikit'
...
<ThemeProvider theme={isDark}>...</ThemeProvider>
```

### Reset

A reset CSS is available as a global styled component.

```
import { ResetCSS } from '@safe-swap-libs/uikit'
...
<ResetCSS />
```

### Types

This project is built with Typescript and export all the relevant types.

## How to use the UIkit

If you want to use components from the UIkit, check the [Storybook documentation](https://apricotswap.github.io/apricot-uikit/)