open-index/open-npm huggingface dataset:
npm package: @living-architecture/riviere-cli
Description: CLI tool for building and querying Riviere architecture graphs.
Latest version: 0.9.4

# @living-architecture/riviere-cli

CLI tool for building and querying Riviere architecture graphs.

## Install

```bash
npm install -g @living-architecture/riviere-cli
```

Or use npx:

```bash
npx @living-architecture/riviere-cli --help
```

## Documentation

See [apps/docs](../../apps/docs) for full documentation.
npm package: @living-architecture/riviere-extract-config
Description: JSON Schema validation for extraction configuration DSL.
Latest version: 0.5.3

# riviere-extract-config

JSON Schema validation for extraction configuration DSL.

## Usage

```typescript
import {
  validateExtractionConfig,
  parseExtractionConfig,
  isValidExtractionConfig,
} from '@living-architecture/riviere-extract-config';

const config = { modules: [{ name: 'orders', path: 'orders', glob: 'src/**', api: { find: 'classes', where: { hasDecorator: { name: 'Controller' } } } }] };

if (isValidExtractionConfig(config)) {
  // config is typed as ExtractionConfig
}

const result = validateExtractionConfig(config);
if (result.valid) {
  // use result.data
} else {
  // handle result.errors
}
```

## Documentation

- [CLAUDE.md](./CLAUDE.md) — Design principles and schema overview
- [extraction-config.schema.json](./extraction-config.schema.json) — JSON Schema reference

## Building

Run `nx build riviere-extract-config` to build the library.
npm package: @living-architecture/riviere-extract-conventions
Description: Decorators for marking architectural components in TypeScript code.
Latest version: 0.5.3

# riviere-extract-conventions

Decorators for marking architectural components in TypeScript code.

## Installation

```bash
npm install @living-architecture/riviere-extract-conventions
```

## Usage

```typescript
import {
  APIContainer,
  APIEndpoint,
  UseCase,
  Event,
  DomainOp,
  Ignore,
} from '@living-architecture/riviere-extract-conventions'

// Container decorator - all public methods are API endpoints
@APIContainer
class OrderController {
  @APIEndpoint
  getOrders(): Order[] { /* ... */ }

  @Ignore
  healthCheck(): boolean { return true }
}

// Class-as-component
@UseCase
class CreateOrderUseCase {
  execute(command: CreateOrderCommand): Order { /* ... */ }
}

@Event
class OrderCreated {
  constructor(readonly orderId: string) {}
}
```

## Decorators

| Decorator | Target | Description |
|-----------|--------|-------------|
| `@DomainOpContainer` | Class | All public methods are domain operations |
| `@APIContainer` | Class | All public methods are API endpoints |
| `@EventHandlerContainer` | Class | All public methods are event handlers |
| `@UseCase` | Class | Class is a use case |
| `@Event` | Class | Class is a domain event |
| `@UI` | Class | Class is a UI component |
| `@DomainOp` | Method | Method is a domain operation |
| `@APIEndpoint` | Method | Method is an API endpoint |
| `@EventHandler` | Method | Method is an event handler |
| `@Custom(type)` | Class/Method | Custom component type |
| `@Ignore` | Class/Method | Exclude from analysis |

## Building

```bash
nx build riviere-extract-conventions
```

## Documentation

- [CLAUDE.md](./CLAUDE.md) - Package principles and design decisions
npm package: @living-architecture/riviere-extract-ts
Description: TypeScript extractor for detecting architectural components from source code.
Latest version: 0.4.3

# @living-architecture/riviere-extract-ts

TypeScript extractor for detecting architectural components from source code.

## Overview

Extracts architectural components from TypeScript code using deterministic, config-driven detection rules. Uses ts-morph for AST parsing to identify components based on decorators, JSDoc tags, inheritance, interfaces, and naming patterns.

**Current Status:** Skeleton implementation. Predicate logic and output generation coming in subsequent tasks (see PRD phase-10-typescript-extraction).

## Installation

```bash
npm install @living-architecture/riviere-extract-ts
```

## Usage

```typescript
import { extractComponents } from '@living-architecture/riviere-extract-ts'
import type { ExtractionConfig } from '@living-architecture/riviere-extract-config'

const config: ExtractionConfig = {
  modules: [
    {
      name: 'users',
      path: '.',
      glob: 'src/**/*.ts',
      api: {
        find: 'methods',
        where: { hasDecorator: { name: 'Get' } },
      },
      useCase: { notUsed: true },
      domainOp: { notUsed: true },
      event: { notUsed: true },
      eventHandler: { notUsed: true },
      ui: { notUsed: true },
    },
  ],
}

const sourceFiles = ['src/api/users.controller.ts']
const components = extractComponents(sourceFiles, config)

console.log(components)
```

## Output Format

Draft components (before connection detection):

```json
{
  "type": "api",
  "name": "getUserById",
  "location": {
    "file": "src/api/users.controller.ts",
    "line": 42
  },
  "domain": "users"
}
```

## Development

```bash
# Tests (coverage enabled by default)
pnpm nx test riviere-extract-ts

# Build
pnpm nx build riviere-extract-ts
```

## Related Packages

- **@living-architecture/riviere-extract-config** - Config schema and validation
- **@living-architecture/riviere-extract-conventions** - Decorators for marking components

## License

Apache 2.0
npm package: @living-dictionaries/parts
Description: Language documentation components and helpers for use in livingdictionaries.app
Author: Living Tongues Institute for Endangered Languages
Latest version: 0.0.1

# Living Dictionaries Component Kitbook

Run `pnpm parts` to start developing or view the deployed [Living Dictionaries Kitbook](https://ld-parts.vercel.app/).

Read the [Kitbook docs](https://kitbook.vercel.app/).