open-index/open-npm huggingface dataset:
npm package: @neverending/gitmirror
Description: Command line tool for mirroring one or more git repositories
Author: Falkor Clark
Latest version: 1.0.1

# GitMirror 

> Cross-platform command line utility for maintaining Git mirrors

The GitMirror project is a lightweight script for maintaining mirrors of
git repositories on multiple different servers.

## Installation

```sh
npm install @neverending/gitmirror
# or
yarn add @neverending/gitmirror
# or
pnpm add @neverending/gitmirror
```

GitMirror also provides a command line interface (CLI) that can be installed
globally by passing the `-g` flag when installing.

# Configuration
Execution of the sync script requires a configuration file in JSON format. By
default, the script will look for a file called **mirrors.json** in the current
working directory. The schema for the configuration file is as follows:

```json
{
  "repo": {
    "origin": "URL to repository being mirrored",
    "mirrors": {
      "mirror": {
        "url": "URL to repository to mirror to",
        "push": ["list of branches to push [optional]"],
        "fetch": ["list of branches to fetch for two-way sync [optional]"]
      }
    }
  }
}
```

## Origins
The top-level object contains the list of repositories to mirror. Any number
of repositories may be given and the key for each will be used as the folder 
name for the clone and as the keyword for the `--repos` argument when explicitly
syncing repositories.

## Mirrors
Within the repository object, two keys must be provided: **origin** and 
**mirrors**. The **origin** key's value is the URL of teh repository being 
mirrored. The **mirrors** key's value is an object where each key in the object
is a remote repository to mirror to. The keys in **mirrors** are used as the
keyword for the `--mirrors` argument when explicitly syncing mirrors.

Within the mirror object, one key is required: **url**. The **url** key's value
is the location of the repository to mirror to. There are also two optional
keys: **push** and **fetch**. The **push** key is a list of branches to push to 
the mirror (if not given, all branches are pushed). The **fetch** key is a list
of branches to fetch from the mirror and push back to the origin (if not given,
no branches will be fetched from the mirror).

# Execution
Typically, all that needs to be done is to execute the `gitmirror` command. Any 
errors that occur will have to be handled independently.
Additional help on executing the script can be output by passing any of three
arguments to the script: `-h`, `--help`, or `-?`.

## Example Execution
The following are a few examples of executing the script:

  1. Display help and exit: `gitmirror -?`
  2. Sync everything: `gitmirror`
  3. Only sync repo1 and repo2: `gitmirror -r repo1 repo2`
  4. Only sync mirror1 and mirror2: `gitmirror -m mirror1 mirror2`
  5. Only sync repo1 to mirror1: `gitmirror -r repo1 -m mirror1`
  6. Supply location of config file: `gitmirror -i myconfig.json`
npm package: @neverending/renameit
Description: Cross-platform batch file renaming utility
Author: Falkor Clark
Latest version: 1.0.7

# RenameIt

> Cross-platform batch file renaming utility

This is a small subset of the documentation; the full set of documentation can 
be found here 
[https://falkorclark.com/renameit/index.html](https://falkorclark.com/renameit/index.html).

## Installation

```sh
npm install @neverending/renameit
# or
yarn add @neverending/renameit
# or
pnpm add @neverending/renameit
```

RenameIt also provides a command line interface (CLI) that can be installed
globally by passing the `-g` flag when installing.

## Inspiration

I have written this script in many different languages from Bash, to Batch, to 
Python, and now JavaScript. I prefer JavaScript as a language, so this is the
version I chose to publish.

The main reason for writing this script is for renaming file extensions to 
lower-case. This mostly stems from cameras and the common behavior of saving
file names with all upper-case extensions. Although, Windows does not care,
Linux does, and so do many photo libraries like Google Photos. Therefore,
I wrote this script to make the batch renaming of files quick and easy.

## Usage

RenameIt provides a coding interface as well as a CLI. The most common use case
is the CLI. Once you have installed RenameIt, you can execute the script and get
help with the options available by typing `renameit help` in a command prompt.

The following is an example of renaming all extensions within the current
working directory to lower-case:

```sh
renameit --path . --suffix --lower
```

In code:

```ts
// import the library
import RenameIt from '@neverending/renameit';

// create the object and pass options
const batch = new RenameIt({
  path: '.',
  suffix: true,
  lower: true
});
// execute the renaming
batch.rename();
```

Adding the `--recurse` option will tell RenameIt to traverse subdirectories
as well:

```sh
renameit --path . --suffix --lower --recurse
```

In code:

```ts
// import the library
import RenameIt from '@neverending/renameit';

// create the object and pass options
const batch = new RenameIt({
  path: '.',
  suffix: true,
  lower: true,
  recurse: true,
});
// execute the renaming
batch.rename();
```
npm package: @neverland-money/contract-types
Description: Typed ABIs for Neverland protocol contracts
Author: Neverland Team
Latest version: 0.2.1

# @neverland-money/contract-types

Typed ABIs for Neverland protocol smart contracts using ABIType.

## Installation

This package is part of the Neverland utilities monorepo and uses Yarn workspaces.

```bash
yarn install
```

## Available ABIs

- `dustLockAbi` - DustLock veNFT contract
- `erc20Abi` - Standard ERC20 token
- `wethGatewayLegacyAbi` - WETH Gateway for deposits/withdrawals
- `neverlandDustHelperAbi` - Helper contract for DUST operations
- `neverlandUiProviderAbi` - UI data provider
- `revenueRewardAbi` - Revenue reward distribution
- `multicall3Abi` - Multicall3 for batch calls
- `dustLockTransferStrategyAbi` - Transfer strategy for DustLock
- `dustRewardsControllerAbi` - Rewards controller

## Usage

### With Viem (Recommended)

```typescript
import { createPublicClient, http, getContract } from 'viem';
import { monad } from 'viem/chains';
import { dustLockAbi, erc20Abi } from '@neverland-money/contract-types';

// Create a client
const client = createPublicClient({
  chain: monad,
  transport: http()
});

// Get a typed contract instance
const dustLock = getContract({
  address: '0x...',
  abi: dustLockAbi,
  client
});

// Call contract methods with full type safety
const balance = await dustLock.read.balanceOfNFT([tokenId]);
const supply = await dustLock.read.totalSupply();
```

### With Ethers v6

```typescript
import { ethers } from 'ethers';
import { dustLockAbi } from '@neverland-money/contract-types';

const provider = new ethers.JsonRpcProvider('https://rpc.monad.xyz');
const contract = new ethers.Contract('0x...', dustLockAbi, provider);

// TypeScript infers types from the ABI
const balance = await contract.balanceOfNFT(tokenId);
```

### With Ethers v5

```typescript
import { ethers } from 'ethers';
import { dustLockAbi } from '@neverland-money/contract-types';

const provider = new ethers.providers.JsonRpcProvider('https://rpc.monad.xyz');
const contract = new ethers.Contract('0x...', dustLockAbi as any, provider);

const balance = await contract.balanceOfNFT(tokenId);
```

### Type Exports

```typescript
import type { 
  DustLockAbi, 
  Erc20Abi,
  NeverlandUiProviderAbi 
} from '@neverland-money/contract-types';

// Use types in your application
function createDustLockContract(address: string): Contract<DustLockAbi> {
  // ...
}
```

## Building

```bash
yarn build
```

## Type Checking

```bash
yarn check-types
```

## Benefits over Typechain

- ✅ **Zero runtime overhead** - just types
- ✅ **Works with Viem, Ethers v5, and Ethers v6**
- ✅ **No code generation needed**
- ✅ **Smaller bundle size**
- ✅ **Better type inference**
- ✅ **Easier to maintain**
- ✅ **Native JSON import support**