{"_id":"@appliqation/pr-raise","_rev":"3-718dffb9fef6193eef80fc2740e4f1b0","name":"@appliqation/pr-raise","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.1":{"name":"@appliqation/pr-raise","version":"0.1.1","_id":"@appliqation/pr-raise@0.1.1","maintainers":[{"name":"archana6","email":"accounts@appliqation.io"}],"bin":{"appliqation-pr-raise":"dist/cli/index.js"},"dist":{"shasum":"b7934f307d56a99a4f435874a43fe7abb7c6b39c","tarball":"https://registry.npmjs.org/@appliqation/pr-raise/-/pr-raise-0.1.1.tgz","fileCount":15,"integrity":"sha512-nU21k8QvfvEFQVikS+kE3R1JwXCkIPcaL+FjixYvUYp86txSKTnle1WCi6jBp9eG0g6XczXa0L74mKw8xifSbw==","signatures":[{"sig":"MEYCIQC6eUPH+4HbBbdOKjMFpAjYnGUmRGulvIMbWJctSUGCMgIhALZw839zyAZs4mMqH43kCOdSDK+xgkfLSW7d1Cx7yREN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30873},"type":"module","engines":{"node":">=20"},"gitHead":"dc15a4e7884006946ec7f30079afd8f31ad5bcd1","scripts":{"dev":"tsx src/cli/index.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"archana6","email":"accounts@appliqation.io"},"_npmVersion":"11.7.0","description":"Standalone agent that commits local file changes in a repo checkout and opens (or reuses) a pull request. Fully mechanical — no LLM involved — reusable for scripts from appliqation-scriptgen or code changes from any future defect-fix agent.","directories":{},"_nodeVersion":"23.10.0","dependencies":{"dotenv":"^16.4.7","commander":"^13.1.0","@octokit/rest":"^21.1.1","@appliqation/agent-core":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","vitest":"^3.2.7","typescript":"^5.8.2","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/pr-raise_0.1.1_1787298621399_0.9372289789898156","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@appliqation/pr-raise","version":"0.1.2","license":"MIT","_id":"@appliqation/pr-raise@0.1.2","maintainers":[{"name":"archana6","email":"accounts@appliqation.io"}],"homepage":"https://github.com/appliqation/pr-raise#readme","bugs":{"url":"https://github.com/appliqation/pr-raise/issues"},"bin":{"appliqation-pr-raise":"dist/cli/index.js"},"dist":{"shasum":"237973f1290a0e552aa43720f64f7ff57baddc99","tarball":"https://registry.npmjs.org/@appliqation/pr-raise/-/pr-raise-0.1.2.tgz","fileCount":15,"integrity":"sha512-7eGRSnxQl53oRNsAN/oR+tkTgdo9Nk5lTCllOgNG8Wf6acrO12+CrnvovlaWMh6fEsAgWgIU5q+EANr9e2iXMg==","signatures":[{"sig":"MEQCICAQlgfquOPWkkfGnE4xKW9gHOzjky9Fx9vY926fNKOnAiAGExiOxqn7LyW4z4d0rzylFOwoUwoomCw8KiVWoiWyUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33647},"type":"module","engines":{"node":">=20"},"gitHead":"58c5e6dd586f754acbf72101719ea20c974f8565","scripts":{"dev":"tsx src/cli/index.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"archana6","email":"accounts@appliqation.io"},"repository":{"url":"git+https://github.com/appliqation/pr-raise.git","type":"git"},"_npmVersion":"11.7.0","description":"Standalone agent that commits local file changes in a repo checkout and opens (or reuses) a pull request. Fully mechanical — no LLM involved — reusable for scripts from appliqation-scriptgen or code changes from any future defect-fix agent.","directories":{},"_nodeVersion":"23.10.0","dependencies":{"dotenv":"^16.4.7","commander":"^13.1.0","@octokit/rest":"^21.1.1","@appliqation/agent-core":"^0.1.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","eslint":"^9.39.5","vitest":"^3.2.7","@eslint/js":"^9.39.5","typescript":"^5.8.2","@types/node":"^22.13.10","typescript-eslint":"^8.67.0"},"_npmOperationalInternal":{"tmp":"tmp/pr-raise_0.1.2_1787382416628_0.3398105225443495","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@appliqation/pr-raise","version":"0.1.3","description":"Standalone agent that commits local file changes in a repo checkout and opens (or reuses) a pull request. Fully mechanical — no LLM involved — reusable for scripts from appliqation-scriptgen or code changes from any future defect-fix agent.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/appliqation/pr-raise.git"},"homepage":"https://github.com/appliqation/pr-raise#readme","bugs":{"url":"https://github.com/appliqation/pr-raise/issues"},"type":"module","bin":{"appliqation-pr-raise":"dist/cli/index.js"},"engines":{"node":">=20"},"scripts":{"build":"tsc -p tsconfig.build.json","dev":"tsx src/cli/index.ts","typecheck":"tsc -p tsconfig.json --noEmit","lint":"eslint src --ext .ts","test":"vitest run","test:watch":"vitest"},"dependencies":{"@appliqation/agent-core":"^0.1.5","@octokit/rest":"^21.1.1","commander":"^13.1.0","dotenv":"^16.4.7"},"devDependencies":{"@eslint/js":"^9.39.5","@types/node":"^22.13.10","eslint":"^9.39.5","tsx":"^4.19.3","typescript":"^5.8.2","typescript-eslint":"^8.67.0","vitest":"^3.2.7"},"gitHead":"1dd5987d7cad0def2c58661b3fbfe4e7c55144f3","_id":"@appliqation/pr-raise@0.1.3","_nodeVersion":"23.10.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-G6+g/PUypps5wfOHVuJMiIJtz/Sn4UueVZYlDIf/yuTJlyIpKU0vwdcYWTsMVlpOPKMMh5bE980xJyTXaBJ59A==","shasum":"79aba4ea07b320dac1d2eb73121c200e6011897b","tarball":"https://registry.npmjs.org/@appliqation/pr-raise/-/pr-raise-0.1.3.tgz","fileCount":15,"unpackedSize":34456,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCFwMsKj9YqT66UUTvKhB6w0MjhVjHC0nHj+BdxT8ttiQIgLrEFRyHw1LJ/OsUcWVhPDVgctoEImbMOn01Q/xQ14kk="}]},"_npmUser":{"name":"archana6","email":"accounts@appliqation.io"},"directories":{},"maintainers":[{"name":"archana6","email":"accounts@appliqation.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pr-raise_0.1.3_1788494363273_0.620138200137802"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-21T07:50:21.255Z","modified":"2026-09-04T03:59:23.587Z","0.1.1":"2026-08-21T07:50:21.560Z","0.1.2":"2026-08-22T07:06:56.772Z","0.1.3":"2026-09-04T03:59:23.427Z"},"bugs":{"url":"https://github.com/appliqation/pr-raise/issues"},"license":"MIT","homepage":"https://github.com/appliqation/pr-raise#readme","repository":{"type":"git","url":"git+https://github.com/appliqation/pr-raise.git"},"description":"Standalone agent that commits local file changes in a repo checkout and opens (or reuses) a pull request. Fully mechanical — no LLM involved — reusable for scripts from appliqation-scriptgen or code changes from any future defect-fix agent.","maintainers":[{"name":"archana6","email":"accounts@appliqation.io"}],"readme":"# Appliqation PR-Raise\n\n**Commits whatever's already changed in a local checkout, pushes, and opens (or reuses) a pull request.**\n\nFully mechanical — no LLM anywhere in this repo. Deciding *what* to change is someone else's job (a human, or a sibling agent like [`appliqation-scriptgen`](https://github.com/appliqation/scriptgen) or [`appliqation-defect-fix`](https://github.com/appliqation/defect-fix)); this repo's only job is turning an already-made change into a real, reviewable pull request, reliably and idempotently.\n\n## Why a separate, dumb agent\n\nCommitting a known set of files and opening a PR needs no judgment — so it doesn't get one. Every other agent in this family stops at \"write the files locally\"; none of them touch git or GitHub. This is the one place that does, which keeps the blast radius of any single agent's mistake contained: a bad fix from `appliqation-defect-fix` produces a bad PR you can review and close, never a bad push nobody saw coming from inside a reasoning loop.\n\n## How it works\n\n```mermaid\nflowchart LR\n    A[local checkout<br/>with uncommitted changes] --> B{anything to commit?}\n    B -- no --> C[report and stop<br/>no push, no GitHub call]\n    B -- yes --> D[fetch + checkout/create branch]\n    D --> E[git add -A + commit]\n    E --> F[push]\n    F --> G{open PR already<br/>exists for this branch?}\n    G -- yes --> H[update its body]\n    G -- no --> I[open a new PR]\n```\n\n- **Credentials are its own.** It never reads Appliqation's per-project GitHub PAT — it authenticates with its own `GITHUB_TOKEN`, kept entirely separate from appq's credential store by design.\n- **Idempotent PR handling.** Re-running against a branch that already has an open PR updates that PR's body instead of opening a second one.\n- **No-op is a real, reported outcome.** If there's nothing to commit, it says so and stops — it never pushes or touches GitHub for a no-op.\n\n## Quick start\n\n```bash\nnpm install -g @appliqation/pr-raise\n```\n\nCreate a `.env` file (in whatever directory you'll run it from) with:\n\n```\nAPPQ_API_KEY=your-appliqation-api-key   # read-only, repo lookup only\nGITHUB_TOKEN=your-github-token           # this agent's own, with repo write access\n```\n\n```bash\nappliqation-pr-raise raise \\\n  --project-id <id> \\\n  --repo-path /path/to/your/checkout \\\n  --branch-name my-branch \\\n  --pr-title \"My change\"\n```\n\n`--project-id` resolves the target repo/branch via Appliqation's `get_project_settings` (location only — no credentials come from there). Add `--pr-body`/`--pr-body-file`, `--base-branch`, or `--commit-message` as needed; `--json` prints a structured result instead of the human summary.\n\n## CLI reference\n\n`appliqation-pr-raise raise [options]`\n\n**Required:**\n\n| Option | Description |\n|---|---|\n| `--project-id <id>` | Appliqation project ID — resolves the target GitHub repo/branch. |\n| `--repo-path <path>` | Local checkout that already has the changes to raise. |\n| `--branch-name <name>` | Branch to commit to and open the PR from. |\n| `--pr-title <title>` | Pull request title. |\n\n**Optional:**\n\n| Option | Description |\n|---|---|\n| `--pr-body <text>` | Pull request body. |\n| `--pr-body-file <path>` | Read the PR body from a file instead of `--pr-body`. |\n| `--base-branch <name>` | Override the project's configured default branch. |\n| `--commit-message <message>` | Defaults to `--pr-title`. |\n| `--json` | Print a single structured JSON result instead of a human-readable summary. |\n\n## Configuration\n\nCopy `.env.example` to `.env`. Requires `APPQ_API_KEY` (read-only) and `GITHUB_TOKEN` (this agent's own, with repo write access).\n\n## Running this safely\n\nUnlike the rest of this family, nothing here is LLM-directed — every git/GitHub call this agent makes is a fixed operation this code decides, never something a model chooses on the fly, so there's no prompt-injection-driven \"wrong destination\" risk the way there is for an agent driving a browser or a shell. The real exposure is simpler: `GITHUB_TOKEN` is a genuine credential with real push access, sent over the network on every run (via an HTTP header, never in argv — see `gitClient.ts`).\n\n**Run this inside a container with an egress allowlist** anyway, consistent with the rest of the family and cheap insurance regardless: this process only ever legitimately needs to reach your configured `APPQ_ORIGIN` (`appq.appliqation.io` by default) and `github.com`/`api.github.com`. Anything else is unexpected and worth investigating.\n\n## Development\n\n```bash\ngit clone https://github.com/appliqation/pr-raise.git\ncd pr-raise\nnpm install\ncp .env.example .env   # fill in APPQ_API_KEY (read-only, repo lookup only) and GITHUB_TOKEN\nnpm run dev -- raise --project-id <id> --repo-path <path> --branch-name <name> --pr-title <title>\nnpm run typecheck\nnpm test\n```\n\nSee `CLAUDE.md` for a map of this repo if you're working in it with an AI coding assistant.\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}