diff --git a/.cursor/rules/no-local-dependencies.md b/.cursor/rules/no-local-dependencies.md new file mode 100644 index 0000000..dc92a09 --- /dev/null +++ b/.cursor/rules/no-local-dependencies.md @@ -0,0 +1,6 @@ +# No Local Dependencies + +Never create local dependencies between projects. Never use `file://` URLs in package.json dependencies. + +All dependencies must be published packages with proper version numbers from npm registry or equivalent package registries. + diff --git a/.npmignore b/.npmignore index 653a1fc..98f2a58 100644 --- a/.npmignore +++ b/.npmignore @@ -46,7 +46,9 @@ Thumbs.db # Documentation that shouldn't be in package *.md !README.md +!guide/**/*.md -# Include dist directory with all its contents +# Include dist and guide directories with all their contents !dist/ +!guide/ diff --git a/guide/index.md b/guide/index.md new file mode 100644 index 0000000..0e65269 --- /dev/null +++ b/guide/index.md @@ -0,0 +1,78 @@ +# @eldrforge/github-tools - Agentic Guide + +## Purpose + +GitHub API utilities for automation. Provides PR management, issue tracking, workflow monitoring, and release note generation. + +## Key Features + +- **Pull Request Management** - Create, update, and merge PRs +- **Issue Tracking** - Create and manage GitHub issues +- **Release Notes** - Generate and publish release notes +- **Workflow Monitoring** - Check CI/CD status +- **Authentication** - GitHub token management + +## Usage + +```typescript +import { + createPullRequest, + createIssue, + publishReleaseNotes, + getPRStatus +} from '@eldrforge/github-tools'; + +// Create pull request +const pr = await createPullRequest({ + owner: 'myorg', + repo: 'myrepo', + title: 'Feature: Add new command', + body: 'Description...', + head: 'feature-branch', + base: 'main' +}); + +// Create issue +const issue = await createIssue({ + owner: 'myorg', + repo: 'myrepo', + title: 'Bug: Fix validation', + body: 'Details...' +}); + +// Publish release notes +await publishReleaseNotes({ + owner: 'myorg', + repo: 'myrepo', + tag: 'v1.0.0', + notes: 'Release notes...' +}); +``` + +## Dependencies + +- @eldrforge/git-tools - Git operations +- @octokit/rest - GitHub API client + +## Package Structure + +``` +src/ +├── github.ts # GitHub API client +├── issues.ts # Issue management +├── releaseNotes.ts # Release note publishing +├── errors.ts # Error types +├── types.ts # Type definitions +├── logger.ts # Logging utilities +└── index.ts +``` + +## Key Exports + +- `createPullRequest()` - Create GitHub PR +- `mergePullRequest()` - Merge PR +- `createIssue()` - Create issue +- `publishReleaseNotes()` - Publish release notes +- `getPRStatus()` - Check PR CI status +- `getLatestRelease()` - Get latest release info + diff --git a/package-lock.json b/package-lock.json index 34a5e1e..dc4be7b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { "name": "@eldrforge/github-tools", - "version": "0.1.19-dev.0", + "version": "0.1.20-dev.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@eldrforge/github-tools", - "version": "0.1.19-dev.0", + "version": "0.1.20-dev.0", "license": "Apache-2.0", "dependencies": { - "@eldrforge/git-tools": "^0.1.17", + "@eldrforge/git-tools": "^0.1.18", "@octokit/rest": "^22.0.0" }, "devDependencies": { @@ -125,9 +125,9 @@ } }, "node_modules/@eldrforge/git-tools": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/@eldrforge/git-tools/-/git-tools-0.1.17.tgz", - "integrity": "sha512-LG5Hc9GcrhmnU8b0rvU1HC2X+X5LIW0q0z7dArFB5zR+y4BDXu56t/F5QQeSNdGUCZGWGUnZdUanFFRl3O8Pqw==", + "version": "0.1.18", + "resolved": "https://registry.npmjs.org/@eldrforge/git-tools/-/git-tools-0.1.18.tgz", + "integrity": "sha512-MUmF7Tk8/RGnAvUpotOEspimnoftWAHSUK00TVFpFweEWNdcC6d9X+EADBYCxWBLQBN+rdswoqlL2VCFLnpWgw==", "license": "Apache-2.0", "dependencies": { "@types/semver": "^7.7.0", diff --git a/package.json b/package.json index c85709d..86ecd4b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@eldrforge/github-tools", - "version": "0.1.19", + "version": "0.1.20", "description": "GitHub API utilities for automation - PR management, issue tracking, workflow monitoring", "main": "dist/index.js", "type": "module", @@ -11,7 +11,8 @@ } }, "files": [ - "dist" + "dist", + "guide" ], "repository": { "type": "git", @@ -41,7 +42,7 @@ "author": "Tim O'Brien ", "license": "Apache-2.0", "dependencies": { - "@eldrforge/git-tools": "^0.1.17", + "@eldrforge/git-tools": "^0.1.18", "@octokit/rest": "^22.0.0" }, "peerDependencies": {