open-index/open-npm huggingface dataset:
npm package: @grailbio/eslint-config-grail
Description: GRAIL eslint config
Latest version: 1.0.3

## Contents

The `@grailbio/eslint-config-grail` package contains ESLint rules for GRAIL UI code.

## Contributing

This is an open source package. Initial approval by SMEs in https://phabricator.grailbio.com/T26323

This is an open source package, reviewed by SMEs in https://phabricator.grailbio.com/T26323

All content must be non-proprietary. For example:

- Do not include GRAIL assets, like GRAIL Logo, or commercially sourced images.
- Do not include content that has trade secrets or anything that should remain internal to GRAIL.

Also, all content must be compatible with the contents of the Apache 2.0 license, as defined in `LICENSE` file.

For common private GRAIL code, use `@grail/common-private` or other internal locations.

Modify CHANGELOG.md to reflect contributions to this code.

### Distributing to GitHub

URL: https://github.com/grailbio/ui-eslint-config-grail

Once code is merged into GRAIL repo - `master` branch, replicate the commit to github.

TODO: Document how to use `grit`, or refer to how it automatically pushes to github using
`$GRAIL/phabricator/shipit/sync.bash`

### Publishing to NPM

URL: https://www.npmjs.com/package/@grailbio/eslint-config-grail

You will need to be a member:
https://www.npmjs.com/settings/grailbio/members

Recommend turning on 2FA.

To publish:

- Bump the package version following semantic versioning guidelines (https://semver.org/)
- For non-patch release, update `CHANGELOG.md` version.
- `npm publish --access public`
  - Optionally, you can pass in 2FA code using `--otp ######`

## Basic Setup

```
yarn add -D @grailbio/eslint-config-grail babel-eslint eslint lint-staged
curl https://raw.githubusercontent.com/grailbio/ui-eslint-config-grail/master/.eslintrc-example.js > .eslintrc.js
```

### Project Usage

Configure eslint to process your code, as appropriate.

An example of linting a single file `src/your-code.js`

```
node_modules/.bin/eslint src/your-code.js
```
npm package: @grailbio/lib
Description: The `@grailbio/lib` module holds both utility functions and constants used across GRAIL applications.
Latest version: 2.0.0

## Contents

The `@grailbio/lib` module holds both utility functions and constants used across GRAIL applications.

## Contributing

This is an open source package. Initial approval by SMEs in https://phabricator.grailbio.com/T26323

All content must be non-proprietary. For example:

- Do not include GRAIL assets, like GRAIL Logo, or commercially sourced images.
- Do not include content that has trade secrets or anything that should remain internal to GRAIL.

Also, all content must be compatible with the contents of the Apache 2.0 license, as defined in `LICENSE` file.

For common private GRAIL code, use `@grail/common-private` or other internal locations.

Modify CHANGELOG.md to reflect contributions to this code.

#### **Production Code Criteria**

- Unit tests.
  - At least 25% line coverage.

When introducing new code, you must include an `index.js`, which exports to the
`index.js` of the `src` directory.

### Distributing to GitHub

URL: https://github.com/grailbio/ui-lib

Once code is merged into GRAIL repo - `master` branch, replicate the commit to github.

TODO: Document how to use `grit`, or refer to how it automatically pushes to github using
`$GRAIL/phabricator/shipit/sync.bash`

### Publishing to NPM

URL: https://www.npmjs.com/package/@grailbio/lib

You will need to be a member:
https://www.npmjs.com/settings/grailbio/members

Recommend turning on 2FA.

To publish:

- Bump the package version following semantic versioning guidelines (https://semver.org/)
- `yarn version --patch --no-git-tag-version`
- For non-patch release, update `CHANGELOG.md` version.
- `npm publish`
  - Optionally, you can pass in 2FA code using `--otp ######`

#### **Installation and Usage**

- If using NPM packages: `yarn add @grailbio/lib`
npm package: @grain.sh/agent
Description: Agent-to-agent communication protocol for G-Lang
Latest version: 1.3.2

# `@grain.sh/agent`

Agent-to-agent communication envelope for Grain documents.

## Install

```bash
npm install @grain.sh/agent
```

## Usage

```ts
import { AgentAdapter } from '@grain.sh/agent';

const adapter = new AgentAdapter();

const envelope = adapter.pack(
  `<message role="assistant"><stream>Handoff complete.</stream></message>`,
  'planner',
  'executor'
);

const parsed = adapter.unpack(envelope);
console.log(parsed.errors);
```

Docs: https://sir-ad.github.io/grain/