open-index/open-npm huggingface dataset:
npm package: @kovalenko-tech/cortex-ai
Description: Give Claude Code full knowledge of your codebase. Analyzes git history, risk scores, PR decisions and security — generates .claude/docs/ context files automatically.
Author: Kyrylo Kovalenko
Latest version: 0.1.2

# cortex-ai

Project knowledge base for Claude Code.

## Usage

```bash
npx cortex-ai analyze
```

No install needed. Requires Python 3.11+.

## Full docs

https://kovalenko-tech.github.io/cortex/
npm package: @kovalenko/bootstrap-confirm
Description: Confirm service and directive with bootstrap dialog
Author: Kovalenko
Latest version: 0.1.2

# BootstrapConfirm

Confirm service and directive with bootstrap dialog

## Installation

```
npm install @kovalenko/bootstrap-confirm
```

### Directive

Selector: `(confirm)`

#### Properties

Name | Description
--- | ---
`@Input() confirmMessage: string` | Confirm message
`@Input() confirmOk: string` | Ok button text
`@Input() confirmCancel: string` | Cancel button text
`@Output() confirm: EventEmitter<any>` | This will callback if Ok button clicked


### Service

`ConfirmService`

Calls confirmation dialog programmatically

#### Methods

<table>
  <tr>
    <th colspan="2"><code>confirm: Promise&lt;boolean&gt;</code></th>
  </tr>
  <tr>
    <td colspan="2">Action confirm</td>
  </tr>
  <tr>
    <th colspan="2">Arguments</th>
  </tr>
  <tr>
    <td><code>confirmMessage: string</code></td>
    <td>Confirm message</td>
  </tr>
  <tr>
    <td><code>confirmOk?: string</code></td>
    <td>Ok button text</td>
  </tr>
  <tr>
    <td><code>confirmCancel?: string</code></td>
    <td>Cancel button text</td>
  </tr>
  <tr>
    <td><code>config?: MatDialogConfig</code></td>
    <td>Override dialog config</td>
  </tr>
</table>

<table>
  <tr>
    <th colspan="2"><code>setDefaults: void</code></th>
  </tr>
  <tr>
    <td colspan="2">Set default values</td>
  </tr>
  <tr>
    <th colspan="2">Параметры</th>
  </tr>
  <tr>
    <td><code>ok: string</code></td>
    <td>Ok button text</td>
  </tr>
  <tr>
    <td><code>cancel: string</code></td>
    <td>Cancel button text</td>
  </tr>
</table>

## Usage

First, import the BootstrapConfirmModule to your module:

```typescript
import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {BootstrapConfirmModule, BootstrapConfirmConfig} from '@kovalenko/bootstrap-confirm';
import {platformBrowserDynamic} from '@angular/platform-browser-dynamic';
import {AppComponent} from './app';

const bootstrapConfirmConfig: BootstrapConfirmConfig = {
  ok: 'Ok',
  cancel: 'Cancel',
};

@NgModule({
  imports: [
    BrowserModule,
    BootstrapConfirmModule.config(bootstrapConfirmConfig)
  ],
  declarations: [AppComponent],
  bootstrap: [AppComponent],
})
export class AppModule {
}

platformBrowserDynamic().bootstrapModule(AppModule);
```

Confirmation via directive

```typescript
import { Component } from '@angular/core';

@Component({
  selector: 'app',
  template: `
    <button (confirm)="callback()" [confirmMessage]="message">Click</button>
  `,
})
export class AppComponent {
  message = 'Confirm action';
  
  callback() {
    console.log('confirmed');
  }
}
```

Confirmation via service

```typescript
import {Component} from '@angular/core';
import {ConfirmService} from '@kovalenko/bootstrap-confirm';

@Component({
  selector: 'app',
  template: `
    <button (click)="action()">Click</button>
  `,
})
export class AppComponent {

  constructor(private confirmService: ConfirmService) { }
  
  async action() {
    if (await this.confirmService.confirm('Confirm action')) {
      console.log('confirmed');
    }
  }

}
```

## License

MIT
npm package: @kovalenko/domain-wildcard-validator
Description: Decorators to share between projects
Author: kovalenko@gmail.com
Latest version: 1.0.1

## Domain wildcard validator

Custom validator to match `domain.com`, `*.domain.com`, `домен.рф`, `*.домен.рф`

## Installation

```
npm i @kovalenko/domain-wildcard-validator
```

## Usage

```typescript
IsDomainWildcard(options?: ValidationOptions): PropertyDecorator;
```

### For class validation

```typescript
import {IsDomainWildcard} from '@kovalenko/domain-wildcard-validator';

export class Foo {
  @IsDomainWildcard()
  readonly domain: string;
}
```

### Manual validation

```typescript
import {validateDomainWildcard} from '@kovalenko/domain-wildcard-validator';

const isValid = validateDomainWildcard('*.domain.com');
```

[MIT](LICENSE)
npm package: @kovalenko/drag-scroll
Description: ## Installation
Author: Kovalenko
Latest version: 1.0.0

# DragScroll

## Installation

```
npm install @kovalenko/drag-scroll
```

First, import the DragScrollModule to your module:

```typescript
import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {DragScrollModule} from '@kovalenko/drag-scroll';
import {platformBrowserDynamic} from '@angular/platform-browser-dynamic';
import {AppComponent} from './app';

@NgModule({
  imports: [
    BrowserModule,
    DragScrollModule
  ],
  declarations: [AppComponent],
  bootstrap: [AppComponent],
})
export class AppModule {
}

platformBrowserDynamic().bootstrapModule(AppModule);
```

Then use the directive to scroll element by dragging it:

```typescript
import {Component} from '@angular/core';
import {MainMenuService} from '@kovalenko/main-menu';

@Component({
  selector: 'app',
  template: `
    <div style="overflow-x: auto; width: 300px" [dragScroll]="condition">
      <div style="width: 3000px;">long contents</div>
    </div>
  `,
})
export class AppComponent {
  condition = true;
}
```

### Directive

Selector: `[dragScroll]`

#### Properties

Name | Description
--- | ---
`@Input() dragScroll: boolean` | determines whether drag scroll or not

## License

MIT
npm package: @kovalenko/eslint
Description: Shared eslint rules
Author: kovalenko@gmail.com
Latest version: 1.0.4

## ESLint rules

## NestJS

## Angular

```json
{
  "@angular-eslint/builder": "19.3.0",
  "@angular-eslint/eslint-plugin": "19.3.0",
  "@angular-eslint/eslint-plugin-template": "19.3.0",
  "@angular-eslint/schematics": "19.3.0",
  "@angular-eslint/template-parser": "19.3.0"
}
```

[MIT](LICENSE)