open-index/open-npm huggingface dataset:
npm package: @shipworthy/anchor-cli
Description: Command-line interface for the [Anchor](../../README.md) project.
Latest version: 0.1.0

# `@shipworthy/anchor-cli`

Command-line interface for the [Anchor](../../README.md) project.

```text
$ anchor <command> [options]
```

---

## Install

### Local development (inside repo)

```bash
# From repo root
yarn build         # compile packages
# or run directly in ts-node during dev

# Execute via the helper script
yarn anchor --help
```

### Global install (coming with first npm release)

```bash
npm i -g @shipworthy/anchor-cli
anchor --help
```

> The CLI bundles `@shipworthy/anchor` so you only need the single package globally.

## Commands

| Command | Description |
|---------|-------------|
| `anchor save [name]`    | Capture the current window layout (auto-names if omitted) |
| `anchor list [--all]`   | List saved layouts (filtered to current monitors unless `--all`) |
| `anchor restore <name>` | Restore a previously saved layout │
| `anchor remove <name>`  | Delete a layout from disk │
| `anchor permissions`    | Check and grant macOS accessibility permissions |

Run `anchor <command> --help` for per-command flags.

## macOS Permissions

Anchor requires accessibility permissions to control window positions on macOS:

```bash
# Check if permissions are granted
anchor permissions --check

# Prompt to grant permissions (opens System Preferences)
anchor permissions
```

The CLI will automatically prompt for permissions when needed during `save`, `restore`, or `list --current` commands.

## Examples

Save the current layout with an automatic name:

```bash
anchor save
```

Save with a custom name:

```bash
anchor save "dual-monitor-work"
```

List layouts that match the current monitor setup:

```bash
anchor list
```

Force listing **all** layouts regardless of monitor configuration:

```bash
anchor list --all
```

## How it works (high-level)

1. Delegates to the **SDK** (`@shipworthy/anchor`) for all logic.  
2. Persists JSON snapshots under `~/.anchor/states`.  
3. Uses AppleScript (`osascript`) to query and move windows (Phase 1).  
4. Will optionally load a native addon for improved speed in Phase 2.

## Development

```bash
# Watch-mode build (all packages)
yarn dev

# Run the built CLI
node packages/cli/dist/index.js --help
```

Unit tests for core logic live in `packages/core`.  The CLI currently has lightweight e2e tests planned for macOS CI runners.

## License

[MIT](../../LICENSE)
npm package: @shipworthy/video-processor
Description: A core video processing library for converting long-form videos into engaging short-form content. This package provides the underlying functionality used by the video-to-shorts CLI tool, including frame extraction, scene analysis, and video segmentation.
Latest version: 1.0.0

# @shipworthy/video-processor

A core video processing library for converting long-form videos into engaging short-form content. This package provides the underlying functionality used by the video-to-shorts CLI tool, including frame extraction, scene analysis, and video segmentation.

## Overview

The video processor handles the heavy lifting of processing and analyzing video files. It extracts frames at configurable intervals, performs parallel analysis, and segments the video based on content quality. Its modular design allows for easy customization of analysis criteria and processing parameters.

## Features

- Extracts frames at configurable intervals
- Supports parallel frame analysis for improved performance
- Integrates with OpenAI GPT-4 Vision for scene classification
- Segments videos to identify and isolate important content
- Modular and extensible architecture

## Installation

To install the package as a standalone dependency, run:

```bash
yarn add @shipworthy/video-processor
```

or using pnpm:

```bash
pnpm add @shipworthy/video-processor
```

If you're working within the video-to-shorts monorepo, this package is managed via Yarn workspaces.

## Usage

Below is a basic example of how to use the video processor in your project:

```javascript
import { processVideo } from '@shipworthy/video-processor';

// Process a video with specified options
processVideo('path/to/video.mp4', {
  frameInterval: 30,
  parallelFrames: 4,
  // Additional configuration options
})
  .then(result => {
    console.log('Video processed successfully!', result);
  })
  .catch(err => {
    console.error('Error processing video:', err);
  });
```

Refer to the source code and inline documentation for more details on available configuration options and API usage.

## Development

To get started with development:

1. Clone the repository and navigate to the project root.
2. Install dependencies:

```bash
yarn install
```

3. Build all packages (or just the video-processor package):

```bash
yarn build
```

4. Run tests:

```bash
yarn test
```

Make sure to run commands from the project root to respect the Yarn workspaces setup.

## Testing

To run tests specifically for the video-processor package, use:

```bash
yarn test --filter @shipworthy/video-processor
```

## Contributing

Contributions are welcome! Please refer to the main project's CONTRIBUTING.md for guidelines on how to contribute.

## License

This project is licensed under the terms specified in the LICENSE file. If no LICENSE file is present, please refer to the project's main repository for licensing details.