{"_id":"@asterxsk/kiln","_rev":"4-0b1ef637def573be34ebb580dcabe7e6","name":"@asterxsk/kiln","dist-tags":{"latest":"0.4.0"},"versions":{"0.1.0":{"name":"@asterxsk/kiln","version":"0.1.0","keywords":["pi","agent","coding-agent","installer","config"],"license":"MIT","_id":"@asterxsk/kiln@0.1.0","maintainers":[{"name":"asterxsk","email":"flipgamer2605@gmail.com"}],"homepage":"https://github.com/asterxsk/kiln#readme","bugs":{"url":"https://github.com/asterxsk/kiln/issues"},"bin":{"kiln":"bin/kiln.js"},"dist":{"shasum":"2a6a8dc19827774c3894df361b8d81de752127ee","tarball":"https://registry.npmjs.org/@asterxsk/kiln/-/kiln-0.1.0.tgz","fileCount":263,"integrity":"sha512-Wm6eelo8UDzxrXioY7X5kxT/TEPAUV7ZBgchBOVeCG5S5bnkBlKeWWjLQOgFHTCK4c+Kc3JgC2E9A9W0fU3n2w==","signatures":[{"sig":"MEUCIGoZEYLI2QgaxMHlpWDy7DI3gSVkiK3cctJVjHfekufyAiEAkeOq8jrXe1w+1uXEvEjaZIQ+pl2sL5D9WY1quEdDyKE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9114281},"engines":{"node":">=22.19.0"},"gitHead":"13ede988823b3b7e03c92fa74130dea175c7d558","_npmUser":{"name":"asterxsk","email":"flipgamer2605@gmail.com"},"repository":{"url":"git+https://github.com/asterxsk/kiln.git","type":"git"},"_npmVersion":"11.17.0","description":"Kiln — versioned pi agent configuration (extensions, defaults, keybindings) with an idempotent cross-platform installer.","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/kiln_0.1.0_1788446439347_0.12081032906046407","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@asterxsk/kiln","version":"0.2.0","keywords":["pi","agent","coding-agent","installer","config"],"license":"MIT","_id":"@asterxsk/kiln@0.2.0","maintainers":[{"name":"asterxsk","email":"flipgamer2605@gmail.com"}],"homepage":"https://github.com/asterxsk/kiln#readme","bugs":{"url":"https://github.com/asterxsk/kiln/issues"},"bin":{"kiln":"bin/kiln.js"},"dist":{"shasum":"afd7f065bd5c75664b870a60877b6b2a8e64e4ba","tarball":"https://registry.npmjs.org/@asterxsk/kiln/-/kiln-0.2.0.tgz","fileCount":260,"integrity":"sha512-CpM3W/2dDRxZ9hRe/gcfCGsrjIyo1sINTFxovL3ByKijH0KaBYqQ4fYN+TZZr5N0tBPT4o01c1lZUIIgly959g==","signatures":[{"sig":"MEQCID10nB1wztBRBCRmsLnjvtIrYMiMChb7jXrFbbtTqECIAiBtfUjJT086WM5OD9+9uBO26C2frE3Qar4L+mXcVRd3oA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9054304},"engines":{"node":">=22.19.0"},"gitHead":"aad18a24564db7910c3b1208a6c6128775dfbf9f","_npmUser":{"name":"asterxsk","email":"flipgamer2605@gmail.com"},"repository":{"url":"git+https://github.com/asterxsk/kiln.git","type":"git"},"_npmVersion":"12.0.2","description":"Kiln — versioned pi agent configuration (extensions, defaults, keybindings) with an idempotent cross-platform installer.","directories":{},"_nodeVersion":"26.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/kiln_0.2.0_1788538199710_0.8902230422207167","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@asterxsk/kiln","version":"0.3.0","keywords":["pi","agent","coding-agent","installer","config"],"license":"MIT","_id":"@asterxsk/kiln@0.3.0","maintainers":[{"name":"asterxsk","email":"flipgamer2605@gmail.com"}],"homepage":"https://github.com/asterxsk/kiln#readme","bugs":{"url":"https://github.com/asterxsk/kiln/issues"},"bin":{"kiln":"bin/kiln.js"},"dist":{"shasum":"a6b03036c28e1c8ca42a318466fed6c13a256a5d","tarball":"https://registry.npmjs.org/@asterxsk/kiln/-/kiln-0.3.0.tgz","fileCount":530,"integrity":"sha512-8frzXIUi3VOM9aouaRq7C/A1t1tnAz6RezGlzau9vNma8msCzuBF6IFZW902ubhq4R/Nea+YG50Sr4RDzk1RlQ==","signatures":[{"sig":"MEQCIGS/XuwZoK03q7gLgbSJW3Drnn0XulLvNX1zNmzx6t+8AiAnf7RDmrVsSzzBw6VZjDFug0kleLvLal1iNFrWviga8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18031193},"engines":{"node":">=22.19.0"},"gitHead":"30a702f19131b6d5deff44bca7383ee96c7ccbf9","_npmUser":{"name":"asterxsk","email":"flipgamer2605@gmail.com"},"repository":{"url":"git+https://github.com/asterxsk/kiln.git","type":"git"},"_npmVersion":"11.17.0","description":"Kiln — versioned pi agent configuration (extensions, defaults, keybindings) with an idempotent cross-platform installer.","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/kiln_0.3.0_1788618107459_0.6758545383864012","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@asterxsk/kiln","version":"0.4.0","description":"Kiln — versioned pi agent configuration (extensions, defaults, keybindings) with an idempotent cross-platform installer.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/asterxsk/kiln.git"},"homepage":"https://github.com/asterxsk/kiln#readme","keywords":["pi","agent","coding-agent","installer","config"],"engines":{"node":">=22.19.0"},"bin":{"kiln":"bin/kiln.js"},"publishConfig":{"access":"public"},"gitHead":"e67a208afc6f5b2baec08da19acab6379e9885b3","_id":"@asterxsk/kiln@0.4.0","bugs":{"url":"https://github.com/asterxsk/kiln/issues"},"_nodeVersion":"26.4.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-L02qsSLWr3sCqUkmb47+P9iJD3aUSTj0peNBgWL3dBT3EpSLrSi9rfZrU7ULmX/sa5+PQkYmqnLrLAdaSnwpag==","shasum":"14a65350f35f6313b7e58cfa8ccf1a982e31ce70","tarball":"https://registry.npmjs.org/@asterxsk/kiln/-/kiln-0.4.0.tgz","fileCount":267,"unpackedSize":9033971,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDJVCZ2+CcBsef2P2yb/OEqXFTUFg70rcWXKAWTDabfhAiA0y+QeAPgwsd9Yz93xXVJq6oPT2jk5YHLPOBNhSaadxA=="}]},"_npmUser":{"name":"asterxsk","email":"flipgamer2605@gmail.com"},"directories":{},"maintainers":[{"name":"asterxsk","email":"flipgamer2605@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/kiln_0.4.0_1788619220248_0.9208848377576468"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-03T14:40:39.177Z","modified":"2026-09-05T14:40:20.726Z","0.1.0":"2026-09-03T14:40:39.636Z","0.2.0":"2026-09-04T16:10:00.047Z","0.3.0":"2026-09-05T14:21:47.817Z","0.4.0":"2026-09-05T14:40:20.555Z"},"bugs":{"url":"https://github.com/asterxsk/kiln/issues"},"license":"MIT","homepage":"https://github.com/asterxsk/kiln#readme","keywords":["pi","agent","coding-agent","installer","config"],"repository":{"type":"git","url":"git+https://github.com/asterxsk/kiln.git"},"description":"Kiln — versioned pi agent configuration (extensions, defaults, keybindings) with an idempotent cross-platform installer.","maintainers":[{"name":"asterxsk","email":"flipgamer2605@gmail.com"}],"readme":"# kiln — pi agent configuration\n\n> A forge-tuned, self-improving `~/.pi/agent` for [pi](https://github.com/badlogic/pi-mono): curated extensions, opinionated defaults, and an installer you can re-run without fear.\n\n<p align=\"center\">\n  <a href=\"https://github.com/badlogic/pi-mono\"><img src=\"https://badges.ws/badge/PI-0.84.4+-8b5cf6?style=for-the-badge&label_color=101418\" alt=\"pi >=0.84.4\" /></a>\n  <a href=\"https://nodejs.org\"><img src=\"https://badges.ws/badge/NODE-22.19+-8b5cf6?style=for-the-badge&label_color=101418\" alt=\"node >=22.19\" /></a>\n  <a href=\"LICENSE\"><img src=\"https://badges.ws/badge/LICENSE-MIT-8b5cf6?style=for-the-badge&label_color=101418\" alt=\"license MIT\" /></a>\n  <a href=\"#quick-start\"><img src=\"https://badges.ws/badge/PLATFORM-MACOS_%7C_LINUX_%7C_WINDOWS-8b5cf6?style=for-the-badge&label_color=101418\" alt=\"platform\" /></a>\n</p>\n\nDotfiles rot. Extensions drift out of sync. A fresh machine means an afternoon of copy-paste archaeology. **kiln** fixes that: your whole agent setup — workflows, TUI, keybindings, eleven curated extensions — lives in one versioned repo with an idempotent installer. Run it on day one, re-run it on day one hundred; your state survives either way.\n\n---\n\n## Quick start\n\nOne line, then you're done:\n\n```bash\nnpx @asterxsk/kiln --yes\n```\n\nWhat the installer does:\n\n1. Installs or updates `pi` itself (`@earendil-works/pi-coding-agent`)\n2. Installs the `pi-context-usage` and `@baretread/pi-forge` packages\n3. Clones `asterxsk/kiln` over plain HTTPS (no credential prompts, ever) and copies the managed files into `~/.pi/agent` — extensions and config get overwritten, your `settings.json`, `taste/`, sessions, and secrets are left alone\n4. Runs each extension's `install.sh` / `install.ps1` (`npm ci`)\n\n**Safe to re-run.** It back ups the extensions and config files it replaces, never touches per-user state, and accepts `--help` options (`--repo`, `--branch`, `--target`, `--local`, `--skip-pi`, `--skip-packages`, `--yes`) when you want control. The installer always clones the repo over plain HTTPS — no credential prompts, ever — so every install starts from the latest GitHub code (`--repo`/`--branch` for forks, `--local` for a local checkout).\n\n### Publishing the npm package\n\n```bash\nnpm login                    # once, as asterxsk\nnpm pack --dry-run           # review the file list — payload mirrors git, secrets must never appear\nnpm publish --access public  # ships bin/kiln.js + agent payload\n```\n\nPrefer to do it by hand?\n\n```bash\ngit clone https://github.com/asterxsk/kiln.git\ncp -r kiln/agent/extensions ~/.pi/agent/\ncp kiln/agent/{AGENTS.md,keybindings.json,settings.json} ~/.pi/agent/\n# then edit ~/.pi/agent/settings.json — models, providers, etc. (never commit auth.json)\n```\n\n---\n\n## Features\n\n- **Curated extensions** — 11 self-contained pi extensions, each with its own `package.json` and installer. No global dependency soup.\n- **Safe installer** — public HTTPS clone, atomic overwrites, narrow backups of only the files it replaces. Your config is never collateral damage.\n- **Forge-first UX** — `theme: forge`, fullscreen TUI, high thinking by default. Built for long sessions.\n- **Secret-free by construction** — `auth.json`, `sessions/`, `trust.json`, `models-store.json`, `bin/`, and `themes/.pi` are `.gitignore`'d. The repo holds config, never credentials.\n- **Cross-platform** — one Node installer for macOS, Linux, and Windows.\n\n### Extensions\n\n| Extension | What it does |\n|-----------|--------------|\n| `modelconf` | Per-provider model browser, fuzzy filter, bulk glob, `enabledModels` persistence |\n| `todo` | Agent todo list with overlay |\n| `ask-user` | Structured user prompts |\n| `background-terminals` | Long-lived terminal manager |\n| `subagents` | Subagent orchestration (Claude/Codex/pi) |\n| `file-search` | First-class `fd`/`rg` tools with binary auto-install |\n| `pi-web-access` | Web search & fetch |\n| `goal` | Goal-driven execution loop |\n| `trim-context` | Context compaction |\n| `status line` | Status line renderer |\n| `shared` | Cross-extension utilities (timeouts, sessions, context) |\n\nEach extension lives at `agent/extensions/{name}/index.ts` and installs independently.\n\n---\n\n## Repository layout\n\n```\n.\n├── README.md                    # ← you are here (GitHub-visible)\n├── .gitignore\n└── agent/\n    ├── AGENTS.md                # behavioral guidelines (merged into every session)\n    ├── README.md                # pointer → ../README.md\n    ├── settings.json            # canonical settings (the installer never overwrites yours)\n    ├── keybindings.json         # TUI keybindings\n    └── extensions/              # self-contained pi extensions\n```\n\nTracked paths only: `agent/extensions`, `agent/settings.json`, `agent/keybindings.json`, `agent/AGENTS.md`, `README.md`. Everything else is local-only.\n\n---\n\n## Configuration\n\n`agent/settings.json` is the source of truth. The flavor in one glance:\n\n```json\n{\n  \"theme\": \"forge\",\n  \"tuiMode\": \"fullscreen\",\n  \"defaultThinkingLevel\": \"high\",\n  \"packages\": [\"npm:pi-context-usage\", \"npm:@baretread/pi-forge\"]\n}\n```\n\nYour live copy at `~/.pi/agent/settings.json` is yours — the installer patches the `packages` list in (so forge and context stay registered) and otherwise leaves it alone. See the full file for retry budgets, compaction, follow-up mode, and the rest.\n\n### Keybindings\n\n| Keys | Action |\n|------|--------|\n| `enter` | submit |\n| `shift+enter` | new line |\n| `ctrl+enter` | follow-up message |\n| `alt+s` | save models |\n\nSee `agent/keybindings.json` for the full map.\n\n---\n\n## AGENTS.md\n\nThe house rules, merged into every session: *think before coding*, *simplicity first*, *surgical changes*, *goal-driven execution*. Copied to `~/.pi/agent/AGENTS.md` on install — read it before sending the agent off to build things.\n\n---\n\n## Requirements\n\n- `pi >= 0.84.4` (`npm i -g @earendil-works/pi-coding-agent`)\n- `node >= 22.19.0` + `npm`, `git`\n- Platform: macOS, Linux, Windows (Git Bash or PowerShell)\n\n---\n\n## Development\n\n```bash\ngit clone https://github.com/asterxsk/kiln.git\ncd kiln\nnode bin/kiln.js --local --target /tmp/pi-test --skip-pi --skip-packages --yes\nls /tmp/pi-test/extensions\n```\n\nThe `--target` flag installs into a scratch directory, so you can test installer changes without touching your live config.\n\n---\n\n## License\n\nMIT\n","readmeFilename":"README.md"}