Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .github/workflows/prettier.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Prettier

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
prettier:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 20

- run: npm ci
- run: npx prettier --check "src/**/*.{ts,js}" "*.{json,md}"
28 changes: 28 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Publish to npm

on:
push:
tags:
- 'v*'

permissions:
contents: read
id-token: write

jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 20
registry-url: https://registry.npmjs.org

- run: npm ci
- run: npm run build
- run: npm run test
- run: npm publish --provenance --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
25 changes: 25 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Tests

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18, 20, 22]

steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}

- run: npm ci
- run: npm run typecheck
- run: npm run test
21 changes: 21 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"semi": true,
"singleQuote": true,
"singleAttributePerLine": false,
"printWidth": 150,
"tabWidth": 4,
"overrides": [
{
"files": "**/*.yml",
"options": {
"tabWidth": 2
}
},
{
"files": "*.md",
"options": {
"tabWidth": 2
}
}
]
}
17 changes: 12 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ yavy generate my-org/my-project

### `yavy login`

Opens your browser to authenticate with your Yavy account. Credentials are stored in `~/.yavy/credentials.json`.
Opens your browser to authenticate with your Yavy account using OAuth (PKCE). Credentials are stored in `~/.yavy/credentials.json`.

### `yavy logout`

Expand All @@ -43,24 +43,31 @@ Lists all projects you have access to across your organizations.

### `yavy generate <org/project>`

Generates a skill file from a project's indexed documentation.
Downloads a skill from a project's indexed documentation.

| Flag | Description |
| ----------------- | ----------------------------------------------------- |
| `--global` | Save to global skills directory (`~/.claude/skills/`) |
| `--output <path>` | Custom output path |
| `--force` | Force regeneration even if cached |
| `--force` | Overwrite existing skill files |
| `--json` | Output as JSON |

By default, skills are saved to `.claude/skills/<project>/SKILL.md` in the current directory.
By default, skills are saved to `.claude/skills/<project>/` in the current directory.

## How It Works

1. Yavy indexes your documentation sources (websites, GitHub repos, Confluence, Notion)
2. The CLI calls the Yavy API to generate a skill using the indexed content
2. The CLI calls the Yavy API to download a skill using the indexed content
3. The skill file is saved locally for your AI coding tools to discover
4. AI coding assistants automatically activate the skill when working with relevant code

## Configuration

| Environment Variable | Description | Default |
| -------------------- | ------------------------ | ------------------ |
| `YAVY_BASE_URL` | Override API base URL | `https://yavy.dev` |
| `YAVY_CLIENT_ID` | Override OAuth client ID | (built-in) |

## Related

- [Yavy Claude Code Plugin](https://github.com/yavydev/claude-code) — Claude Code plugin with interactive setup
Expand Down
Loading