[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-85119":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":15,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":16,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":17,"fork":17,"defaultBranch":18,"hasWiki":19,"hasPages":17,"topics":20,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":10,"trendingCount":15,"starSnapshotCount":15,"syncStatus":14,"lastSyncTime":28,"discoverSource":29},85119,"pi-setup","abhinand5\u002Fpi-setup","abhinand5","Personal Pi coding agent setup","",null,"TypeScript",181,20,2,0,36.61,false,"main",true,[21,22,23,24,25],"coding-agent-skills","dotfiles","pi-code-extension","pi-coding-agent","pi-extensions","2026-06-15 10:04:31","# Abhinand's Pi Setup\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Ffeatured.png\" alt=\"Pi setup screenshot\" width=\"800\">\n\u003C\u002Fp>\n\nPersonal `pi-setup` for [Pi coding agent](https:\u002F\u002Fpi.dev): extensions, custom themes, skills, config examples, and sync tooling.\n\n**Recommendation:** install the Pi CLI first, then run this setup. This repo wraps and customizes an existing Pi install; it is not a replacement installer for Pi itself.\n\n## Core model\n\n`~\u002F.pi\u002Fagent` is the live Pi setup. This repo is the versioned `pi-setup` copy used to back up that live setup to GitHub and recreate it on any machine.\n\n```txt\nLive Pi runtime \u002F source of truth:\n  ~\u002F.pi\u002Fagent\u002Fextensions\n  ~\u002F.pi\u002Fagent\u002Fthemes\n  ~\u002F.pi\u002Fagent\u002Fskills\n  ~\u002F.pi\u002Fagent\u002Fsettings.json\n  ~\u002F.pi\u002Fagent\u002Fmcp.json\n\nVersioned pi-setup repo:\n  ~\u002Fdev\u002Fai-agents\u002Fpi-setup\n  updated from live Pi files by pi-setup-sync\n```\n\nNormal flow:\n\n```txt\nmake Pi changes in ~\u002F.pi\u002Fagent  ->  pi-setup-sync  ->  GitHub\nGitHub clone on another machine ->  install Pi CLI -> .\u002Finstall.sh --restore --copy-config -> ~\u002F.pi\u002Fagent\n```\n\nDo **not** install this checkout as an active Pi package in normal use. Loading both `~\u002F.pi\u002Fagent` and this repo causes duplicate skill\u002Ftheme conflict warnings at startup. If you are editing Pi functionality while your shell is inside this repo, edit the live file under `~\u002F.pi\u002Fagent\u002F...` first, then run `pi-setup-sync` to copy it back here.\n\n## What's included\n\n- `bin\u002Fpi` — compact Pi launcher wrapper\n  - one-line major\u002Fminor update notices instead of large startup boxes\n  - preserves Pi's native themed header and loaded skills\u002Fextensions\u002Fthemes listing\n- `extensions\u002F` — versioned copies of custom Pi extensions\n  - themed startup welcome card\n  - `\u002Fcontext` usage breakdown for startup tokens, messages, and tool calls (scrollback output; not added to model context)\n  - `\u002Ffilechanges` review\u002Faccept\u002Fdecline workflow for Pi-made `edit`\u002F`write` changes\n  - custom footer with token usage and git branch\n  - local model manager\n- `themes\u002F` — versioned copies of custom themes\n  - `nebula-pulse` *(current default)*\n  - `opencode`\n  - `tokyo-night`\n  - `one-dark-pro`\n  - `dracula`\n  - `catppuccin-mocha`\n  - `nord`\n  - `gruvbox`\n  - `rose-pine`\n  - `synthwave-84`\n- `skills\u002F` — versioned portable copies of installed Pi skills\n  - diagnose, find-docs, find-skills, grill-me, grill-with-docs, handoff, hf-cli, improve-codebase-architecture, mcp-code-search, teach, write-a-skill\n- `config\u002F` — safe example config files\n\n## Set up from GitHub on a machine\n\nInstall Pi first (preferred), so `pi` already works before this repo adds the optional compact launcher. In containers or unusual installs, Pi may live at `\u002Fusr\u002Flocal\u002Fbin\u002Fpi`; the launcher now detects that, and you can override it with `PI_REAL_BIN=\u002Fpath\u002Fto\u002Fpi`.\n\nOn a minimal Ubuntu machine\u002Fcontainer, install clone prerequisites first:\n\n```bash\nsudo apt-get update\nsudo apt-get install -y git ca-certificates\n```\n\nClone the repo, then restore the live Pi setup from it:\n\n```bash\ngit clone git@github.com:abhinand5\u002Fpi-setup.git ~\u002Fdev\u002Fai-agents\u002Fpi-setup\ncd ~\u002Fdev\u002Fai-agents\u002Fpi-setup\n.\u002Finstall.sh --restore --copy-config\n```\n\nFor HTTPS:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fabhinand5\u002Fpi-setup.git ~\u002Fdev\u002Fai-agents\u002Fpi-setup\ncd ~\u002Fdev\u002Fai-agents\u002Fpi-setup\n.\u002Finstall.sh --restore --copy-config\n```\n\n`--restore` copies repo resources into `~\u002F.pi\u002Fagent\u002Fextensions`, `~\u002F.pi\u002Fagent\u002Fthemes`, and `~\u002F.pi\u002Fagent\u002Fskills`.\n\n`--copy-config` copies `config\u002Fsettings.example.json` and `config\u002Fmcp.example.json` into `~\u002F.pi\u002Fagent\u002F`.\n\nThe example settings intentionally do **not** include personal model\u002Fprovider selections (`defaultProvider`, `defaultModel`, or `enabledModels`). Configure your own models after restore; otherwise Pi may warn about model IDs that only exist on someone else's machine.\n\nWarnings:\n\n- `--restore` replaces the current contents of those live resource directories.\n- `--copy-config` overwrites `~\u002F.pi\u002Fagent\u002Fsettings.json` and `~\u002F.pi\u002Fagent\u002Fmcp.json`.\n\n## Use your own GitHub repo\n\n`pi-setup-sync` does not hardcode a GitHub URL. It commits in the checkout it is installed from and runs `git push`, so it uses that checkout's configured git remote.\n\nFor your own backup, fork or create your own repo first, then clone that repo:\n\n```bash\ngit clone git@github.com:\u003Cuser>\u002F\u003Crepo>.git ~\u002Fdev\u002Fai-agents\u002Fpi-setup\ncd ~\u002Fdev\u002Fai-agents\u002Fpi-setup\n.\u002Finstall.sh --restore --copy-config\n```\n\nIf you cloned this repo first and want future syncs to push to your own GitHub repo, change `origin`:\n\n```bash\ngit remote -v\ngit remote set-url origin git@github.com:\u003Cuser>\u002F\u003Crepo>.git\ngit remote -v\n```\n\nThen `pi-setup-sync` will back up your live `~\u002F.pi\u002Fagent` changes to that remote.\n\n## Install helper commands only\n\nOn a machine that already has the live files in `~\u002F.pi\u002Fagent`, run:\n\n```bash\n.\u002Finstall.sh\n```\n\nThis installs:\n\n- `pi-setup-sync` into `~\u002F.local\u002Fbin`\n- compact launcher `bin\u002Fpi` into `~\u002F.local\u002Fbin\u002Fpi`\n\nIt also removes any legacy settings entry that points Pi at this repo as an active package.\n\n## Uninstall pi-setup changes\n\nTo remove only what this repo installed\u002Frestored while leaving the underlying Pi CLI untouched:\n\n```bash\n.\u002Funinstall.sh\n```\n\nThis removes the compact launcher, the `pi-setup-sync` helper if it points at this checkout, and restored resources under `~\u002F.pi\u002Fagent\u002Fextensions`, `themes`, and `skills` that are owned by this repo. It removes copied example config files only when they are still identical to the examples; modified settings are left in place.\n\nPreview first:\n\n```bash\n.\u002Funinstall.sh --dry-run\n```\n\n## Sync live Pi tweaks back to GitHub\n\nAfter changing Pi locally, run this from the repo:\n\n```bash\n.\u002Fsync.sh\n```\n\nInstall the global helper from this checkout:\n\n```bash\n.\u002Fsetup_sync.sh\n```\n\nThen use it from anywhere:\n\n```bash\npi-setup-sync\n```\n\n`pi-setup-sync` copies current `~\u002F.pi\u002Fagent\u002Fextensions`, `~\u002F.pi\u002Fagent\u002Fthemes`, selected skills, `settings.json`, and `mcp.json` into this repo, validates JSON\u002Ftheme tokens, commits, and pushes. It strips any self-referential package entry that would make Pi load this `pi-setup` repo at startup.\n\nSyncing requires `git` and `python3`; pushing requires normal GitHub credentials for this repo.\n\nCustom commit message:\n\n```bash\npi-setup-sync \"Update themes and footer\"\n```\n\nCommit without pushing:\n\n```bash\npi-setup-sync --no-push \"Checkpoint local Pi setup\"\n```\n\nSkill backup scans `~\u002F.pi\u002Fagent\u002Fskills` and `~\u002F.agents\u002Fskills`, resolves symlinks, dedupes duplicates, and stores portable copies in `skills\u002F`. All skills are selected by default; press Enter at the selector to accept all in one keystroke. To customize, use ↑\u002F↓ to move, Space to toggle, `a` for all, `n` for none, and Enter to continue.\n\nNon-interactive options:\n\n```bash\npi-setup-sync --all-skills\npi-setup-sync --skills hf-cli,diagnose \"Back up selected skills\"\npi-setup-sync --no-skills \"Skip skill backup\"\n```\n\n## Manual tests\n\nRun the Docker end-to-end smoke test when you want to verify the setup\u002Frestore contract without adding CI:\n\n```bash\ntests\u002Fdocker-e2e.sh\n```\n\nThe test starts a fresh Ubuntu container, installs minimal clone prerequisites, clones this repo from its git remote, runs `.\u002Finstall.sh --restore --copy-config`, verifies the live `~\u002F.pi\u002Fagent` layout, then checks that `pi-setup-sync` can copy a live change back into the cloned repo without pushing.\n\nUseful variants:\n\n```bash\ntests\u002Fdocker-e2e.sh --restore-only\ntests\u002Fdocker-e2e.sh --remote https:\u002F\u002Fgithub.com\u002F\u003Cuser>\u002F\u003Crepo>.git --branch main\n```\n\n## Useful Pi commands\n\nWelcome update notices only appear for major\u002Fminor updates, not patches. Toggle them with:\n\n```txt\n\u002Fwelcome updates on\n\u002Fwelcome updates off\n```\n\nReview files changed by Pi before keeping or reverting them:\n\n```txt\n\u002Ffilechanges          # inspect tracked edit\u002Fwrite changes and diffs\n\u002Ffilechanges-accept   # keep files and clear the log\n\u002Ffilechanges-decline  # revert tracked changes\n```\n\nIn non-interactive print\u002Fjson mode, accept\u002Fdecline require `force`.\n\n## Do not commit\n\nNever commit secrets or runtime state:\n\n- `~\u002F.pi\u002Fagent\u002Fauth.json`\n- `~\u002F.pi\u002Fagent\u002Fsessions\u002F`\n- `~\u002F.pi\u002Fagent\u002Fnpm\u002F`\n- `~\u002F.pi\u002Fagent\u002Fgit\u002F`\n- `~\u002F.pi\u002Fagent\u002Flocal-models.json` unless intentionally sanitized\n- cache files such as `mcp-cache.json`\n\n## References \u002F Citations\n\nReferences and inspirations.\n\n- [Pi Packages](https:\u002F\u002Fpi.dev\u002Fpackages)\n- [mattpocock\u002Fskills](https:\u002F\u002Fgithub.com\u002Fmattpocock\u002Fskills)\n- [amosblomqvist\u002Fpi-config](https:\u002F\u002Fgithub.com\u002Famosblomqvist\u002Fpi-config)\n- [llama.cpp](https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp)\n- [noonghunna\u002Fclub-3090](https:\u002F\u002Fgithub.com\u002Fnoonghunna\u002Fclub-3090)\n- [r\u002FLocalLLaMA](https:\u002F\u002Fwww.reddit.com\u002Fr\u002FLocalLLaMA)\n","2026-06-15 02:30:05","CREATED_QUERY"]