From 7d0eea5821bc56c4d97601f9ef4302b23fe6e6c9 Mon Sep 17 00:00:00 2001 From: Aarif Date: Mon, 3 Aug 2026 11:12:23 +0530 Subject: [PATCH 1/2] add Punjabi README translation --- ...50\276\340\250\254\340\251\200 readme.md" | 343 ++++++++++++++++++ 1 file changed, 343 insertions(+) create mode 100644 "languages/\340\250\252\340\251\260\340\250\234\340\250\276\340\250\254\340\251\200 readme.md" diff --git "a/languages/\340\250\252\340\251\260\340\250\234\340\250\276\340\250\254\340\251\200 readme.md" "b/languages/\340\250\252\340\251\260\340\250\234\340\250\276\340\250\254\340\251\200 readme.md" new file mode 100644 index 00000000..b09b51fa --- /dev/null +++ "b/languages/\340\250\252\340\251\260\340\250\234\340\250\276\340\250\254\340\251\200 readme.md" @@ -0,0 +1,343 @@ +

+ + + Ponytail, ਆਲਸੀ ਸੀਨੀਅਰ ਡਿਵੈਲਪਰ + +

+ +

Ponytail

+ +

+ ਇਹ ਕੁਝ ਨਹੀਂ ਕਹਿੰਦਾ। ਇਹ ਇੱਕ ਹੀ ਲਾਈਨ ਲਿਖਦਾ ਹੈ। ਅਤੇ ਉਹ ਕੰਮ ਕਰਦੀ ਹੈ। +

+ +

+ Stars + Release + npm + Works with 20 agents + MIT license +

+ +

+ DietrichGebert/ponytail | Trendshift + DietrichGebert/ponytail | Trendshift +

+ +

+ ~54% ਘੱਟ ਕੋਡ (ਵੱਧ ਤੋਂ ਵੱਧ 94%) · ~20% ਘੱਟ ਖਰਚਾ · ~27% ਤੇਜ਼ · 100% ਸੁਰੱਖਿਅਤ
+ ਅਸਲ Claude Code ਸੈਸ਼ਨਾਂ ਵਿੱਚ, ਇੱਕ ਅਸਲੀ open source ਰਿਪੋਜ਼ਟਰੀ (FastAPI + React) ਨੂੰ ਸੰਪਾਦਿਤ ਕਰਦੇ ਹੋਏ ਇਹ ਮਾਪਿਆ ਗਿਆ ਹੈ। ਇਸਦੀ ਤੁਲਨਾ ਉਸੇ AI agent ਨਾਲ ਕੀਤੀ ਗਈ ਜਿਸ ਵਿੱਚ ਕੋਈ skill ਨਹੀਂ ਸੀ। ~54% 12 feature ਟਾਸਕਾਂ ਦਾ ਔਸਤ ਨਤੀਜਾ ਹੈ (Haiku 4.5, n=4)। ਜਿੱਥੇ AI agent ਬਿਨਾਂ ਲੋੜ ਦੇ ਵੱਧ ਕੋਡ ਲਿਖਦਾ ਹੈ (ਜਿਵੇਂ date picker), ਉੱਥੇ ਇਹ 94% ਤੱਕ ਪਹੁੰਚ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਜਿੱਥੇ ਕੋਡ ਪਹਿਲਾਂ ਹੀ ਘੱਟ ਤੋਂ ਘੱਟ ਹੈ, ਉੱਥੇ ਇਹ ਲਗਭਗ ਸ਼ੂਨਯ ਰਹਿੰਦਾ ਹੈ। Ponytail ਹਰ ਸੁਰੱਖਿਆ ਜਾਂਚ (safety guard) ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਦਾ ਹੈ, ਜਦਕਿ ਸਿਰਫ਼ "write one-liners" prompt ਵਰਤਣ ਨਾਲ ਇੱਕ safety guard ਹਟ ਜਾਂਦੀ ਹੈ। (ਪਹਿਲੇ single-shot benchmark ਵਿੱਚ 80-94% ਨੂੰ ਇੱਕ ਸਥਿਰ ਅੰਕ ਵਜੋਂ ਦਰਸਾਇਆ ਗਿਆ ਸੀ। ਨਿਰਪੱਖ agentic baseline ਨਾਲ ਤੁਲਨਾ ਕਰਨ 'ਤੇ ਇਹ ਪ੍ਰਤੀ-ਟਾਸਕ ਵੱਧ ਤੋਂ ਵੱਧ ਸੀਮਾ ਹੈ, ਨਾ ਕਿ ਔਸਤ।) ਪੂਰੀ ਰਿਪੋਰਟ · ਇਸਨੂੰ ਖੁਦ ਦੁਬਾਰਾ ਚਲਾਓ. +

+ +

+ Español · 한국어 +

+ +--- + +

+ ਕੁਝ ਨਵਾਂ ਆ ਰਿਹਾ ਹੈ, ਉਡੀਕ ਸੂਚੀ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ +

+ +ਤੁਸੀਂ ਇਸਨੂੰ ਜਾਣਦੇ ਹੋ। ਲੰਮੀ ਪੋਨੀਟੇਲ। ਅੰਡਾਕਾਰ ਐਨਕ। ਇਹ ਕੰਪਨੀ ਵਿੱਚ Version Control ਤੋਂ ਵੀ ਪਹਿਲਾਂ ਤੋਂ ਹੈ। ਤੁਸੀਂ ਇਸਨੂੰ ਪੰਜਾਹ ਲਾਈਨਾਂ ਦਾ ਕੋਡ ਦਿਖਾਉਂਦੇ ਹੋ। ਇਹ ਉਹਨਾਂ ਨੂੰ ਵੇਖਦਾ ਹੈ, ਕੁਝ ਨਹੀਂ ਕਹਿੰਦਾ, ਅਤੇ ਉਹਨਾਂ ਦੀ ਥਾਂ ਇੱਕ ਹੀ ਲਾਈਨ ਲਿਖ ਦਿੰਦਾ ਹੈ। + +Ponytail ਉਸਨੂੰ ਤੁਹਾਡੇ AI agent ਦੇ ਅੰਦਰ ਲਿਆਉਂਦਾ ਹੈ। + +## ਪਹਿਲਾਂ / ਬਾਅਦ + +ਤੁਸੀਂ ਇੱਕ date picker ਮੰਗਦੇ ਹੋ। ਤੁਹਾਡਾ agent flatpickr install ਕਰਦਾ ਹੈ, ਇੱਕ wrapper component ਲਿਖਦਾ ਹੈ, stylesheet ਜੋੜਦਾ ਹੈ ਅਤੇ timezones ਬਾਰੇ ਚਰਚਾ ਸ਼ੁਰੂ ਕਰ ਦਿੰਦਾ ਹੈ। + +Ponytail ਨਾਲ: + +```html + + +``` +ਹੋਰ ਉਦਾਹਰਨਾਂ ਲਈ [examples/](examples/) ਵੇਖੋ। + +## ਅੰਕੜੇ + +ਸਭ ਤੋਂ ਇਮਾਨਦਾਰ ਮਾਪ ਇੱਕ ਅਸਲੀ AI agent ਦੁਆਰਾ ਅਸਲੀ ਕੰਮ ਕਰਨ 'ਤੇ ਆਧਾਰਿਤ ਹੈ: ਇੱਕ headless Claude Code session ਜਿਸ ਨੇ [tiangolo's full-stack-fastapi-template](https://github.com/fastapi/full-stack-fastapi-template) (ਇੱਕ ਅਸਲੀ FastAPI + React ਰਿਪੋਜ਼ਟਰੀ) ਨੂੰ ਸੰਪਾਦਿਤ ਕੀਤਾ। ਨਤੀਜੇ ਉਸਦੇ ਛੱਡੇ ਹੋਏ `git diff` ਦੇ ਆਧਾਰ 'ਤੇ ਮਾਪੇ ਗਏ। ਬਾਰ੍ਹਾਂ feature tickets, ਉਹੀ agent skill ਦੇ ਨਾਲ ਅਤੇ ਬਿਨਾਂ skill ਦੇ, n=4, Haiku 4.5। + +

+ ਹਰ ਸ਼੍ਰੇਣੀ ਨੂੰ no-skill baseline ਦੇ ਪ੍ਰਤੀਸ਼ਤ ਵਜੋਂ ਦਰਸਾਇਆ ਗਿਆ ਹੈ: LOC, tokens, cost ਅਤੇ time (Haiku 4.5)। Ponytail ਹਰ ਮਾਪਦੰਡ 'ਤੇ ਸਭ ਤੋਂ ਘੱਟ ਹੈ (LOC 46%, tokens 78%, cost 80%, time 73%)। Caveman tokens, cost ਅਤੇ time ਵਿੱਚ 100% ਤੋਂ ਉੱਪਰ ਜਾਂਦਾ ਹੈ। YAGNI + one-liner ਦਾ LOC 67% ਹੈ। Safety ਲਈ ਵੱਖਰੀ adversarial ਜਾਂਚ ਵਿੱਚ baseline, caveman ਅਤੇ ponytail 100% ਹਨ, ਜਦਕਿ yagni-oneliner 95% ਹੈ। +

+ +| no-skill baseline ਨਾਲ ਤੁਲਨਾ | LOC | tokens | cost | time | safe | +|---|--:|--:|--:|--:|--:| +| **ponytail** | **-54%** | **-22%** | **-20%** | **-27%** | **100%** | +| caveman (terse-prose control) | -20% | +7% | +3% | +2% | 100% | +| "YAGNI + one-liners" prompt | -33% | -14% | -21% | -30% | 95% | + +Ponytail ਹੀ ਇੱਕੋ ਇਕ ਤਰੀਕਾ ਹੈ ਜੋ ਹਰ ਮਾਪਦੰਡ ਵਿੱਚ ਕਮੀ ਲਿਆਉਂਦਾ ਹੈ, ਅਤੇ ਇਹ ਕਰਦੇ ਹੋਏ ਵੀ 100% ਸੁਰੱਖਿਅਤ ਰਹਿੰਦਾ ਹੈ। ਸਭ ਤੋਂ ਵੱਡਾ ਫਰਕ ਉੱਥੇ ਵੇਖਿਆ ਜਾਂਦਾ ਹੈ ਜਿੱਥੇ ਬਿਨਾਂ ਲੋੜ ਦੇ ਵੱਧ ਕੋਡ ਲਿਖਣ ਦਾ ਖਤਰਾ ਹੁੰਦਾ ਹੈ (ਜਿਵੇਂ date picker 404 ਲਾਈਨਾਂ ਤੋਂ 23 ਲਾਈਨਾਂ, color picker 287 ਤੋਂ 23 ਲਾਈਨਾਂ), ਕਿਉਂਕਿ ਇਹ ਕਿਸੇ component ਦੀ ਬਜਾਇ native `` ਵਰਤਦਾ ਹੈ। ਜਿੱਥੇ ਕੋਡ ਪਹਿਲਾਂ ਹੀ ਘੱਟ ਤੋਂ ਘੱਟ ਹੈ, ਉੱਥੇ ਇਹ ਫਰਕ ਲਗਭਗ ਸ਼ੂਨਯ ਰਹਿੰਦਾ ਹੈ। ਪੂਰਾ ਤਰੀਕਾ, ਹਰ ਟਾਸਕ ਦੀਆਂ ਟੇਬਲਾਂ ਅਤੇ ਸੀਮਾਵਾਂ ਲਈ ਵੇਖੋ: [benchmarks/results/2026-06-18-agentic.md](benchmarks/results/2026-06-18-agentic.md). + +
+ਪੁਰਾਣੇ single-shot ਅੰਕੜੇ (ਸਿਰਫ਼ generation) + +ਪੰਜ ਰੋਜ਼ਾਨਾ ਵਾਲੇ ਟਾਸਕ, ਤਿੰਨ models, ਤਿੰਨ ਤਰੀਕੇ (no skill, [caveman](https://github.com/JuliusBrussee/caveman), ponytail), ਦੱਸ runs, ਅਤੇ median ਨਤੀਜਾ। + +

+ Haiku, Sonnet ਅਤੇ Opus ਵਿੱਚ ਹਰ ਤਰੀਕੇ ਦੀ median lines of code +

+ +ਇਸ ਨਾਲ **80–94% ਘੱਟ ਕੋਡ** ਮਿਲਿਆ। [#126](https://github.com/DietrichGebert/ponytail/issues/126) ਨੇ ਠੀਕ ਤਰ੍ਹਾਂ ਦਰਸਾਇਆ ਕਿ bare-model baseline ਆਪਣੇ ਜਵਾਬ ਵਿੱਚ ਵਾਧੂ ਵਿਆਖਿਆ ਅਤੇ ਵਿਕਲਪ ਵੀ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਉਹ ਅੰਤਰ ਕੁਝ ਹੱਦ ਤੱਕ conversational baseline ਦਾ ਨਤੀਜਾ ਸੀ। ਉੱਪਰ ਦਿੱਤੇ agentic ਅੰਕੜੇ ਇਸ ਦਾ ਹੋਰ ਸਹੀ ਅਤੇ ਭਰੋਸੇਯੋਗ ਰੂਪ ਹਨ। ਤੁਸੀਂ single-shot benchmark ਨੂੰ `npx promptfoo eval -c benchmarks/promptfooconfig.yaml` ਨਾਲ ਖੁਦ ਦੁਬਾਰਾ ਚਲਾ ਸਕਦੇ ਹੋ। + +
+ +**ਨਿਯਮ ਕਦੇ ਵੀ "ਸਭ ਤੋਂ ਘੱਟ tokens" ਨਹੀਂ ਸੀ।** ਨਿਯਮ ਇਹ ਹੈ: ਟਾਸਕ ਲਈ ਜਿੰਨਾ ਲੋੜੀਂਦਾ ਹੈ, ਸਿਰਫ਼ ਉਹੀ ਲਿਖੋ, ਅਤੇ validation, error handling, security ਜਾਂ accessibility ਵਿੱਚ ਕਦੇ ਵੀ ਕਟੌਤੀ ਨਾ ਕਰੋ। ਕੋਡ ਛੋਟਾ ਇਸ ਲਈ ਬਣਦਾ ਹੈ ਕਿਉਂਕਿ ਉਹ ਲੋੜੀਂਦਾ ਹੁੰਦਾ ਹੈ, ਨਾ ਕਿ ਉਸਨੂੰ ਜ਼ਬਰਦਸਤੀ ਛੋਟਾ ਕੀਤਾ ਗਿਆ ਹੋਵੇ। ਘੱਟ ਖਰਚਾ ਅਤੇ ਘੱਟ latency ਉਹਨਾਂ models ਲਈ ਸਿਰਫ਼ ਇੱਕ side effect ਹਨ ਜੋ ਇਸ ladder ਦੀ ਪਾਲਣਾ ਕਰਦੇ ਹਨ। ਕੋਈ terse reasoning model ਜੋ ਸੋਚਣ ਵਾਲੇ tokens ladder ਬਾਰੇ ਵਿਚਾਰ ਕਰਨ 'ਤੇ ਖਰਚ ਕਰਦਾ ਹੈ, ਉਸਦਾ ਨਤੀਜਾ ਉਲਟ ਵੀ ਹੋ ਸਕਦਾ ਹੈ (GPT-5.5 'ਤੇ ਐਸਾ ਹੁੰਦਾ ਹੈ)। + +## ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ + +ਕੋਡ ਲਿਖਣ ਤੋਂ ਪਹਿਲਾਂ, AI agent ਪਹਿਲੀ ਉਹ ਪੌੜੀ (rung) ਲੱਭਦਾ ਹੈ ਜੋ ਲਾਗੂ ਹੁੰਦੀ ਹੈ: + +```text +1. ਕੀ ਇਹ ਬਣਾਉਣ ਦੀ ਲੋੜ ਹੈ? → ਨਹੀਂ: ਇਸਨੂੰ ਛੱਡ ਦਿਓ (YAGNI) +2. ਕੀ ਇਹ ਪਹਿਲਾਂ ਹੀ ਇਸ codebase ਵਿੱਚ ਹੈ? → ਇਸਨੂੰ ਦੁਬਾਰਾ ਨਾ ਲਿਖੋ, ਮੁੜ ਵਰਤੋ +3. ਕੀ Stdlib ਇਹ ਕਰ ਸਕਦੀ ਹੈ? → ਉਸਨੂੰ ਵਰਤੋ +4. ਕੀ Native platform feature ਹੈ? → ਉਸਨੂੰ ਵਰਤੋ +5. ਕੀ Installed dependency ਮੌਜੂਦ ਹੈ? → ਉਸਨੂੰ ਵਰਤੋ +6. ਕੀ ਇਹ ਇੱਕ ਲਾਈਨ ਵਿੱਚ ਹੋ ਸਕਦਾ ਹੈ? → ਇੱਕ ਹੀ ਲਾਈਨ ਲਿਖੋ +7. ਫਿਰ ਹੀ: ਜਿੰਨਾ ਘੱਟ ਤੋਂ ਘੱਟ ਲੋੜੀਂਦਾ ਹੈ, ਓਨਾ ਹੀ ਲਿਖੋ +``` + + +ਇਹ ladder ਸਮੱਸਿਆ ਨੂੰ ਸਮਝਣ ਤੋਂ **ਬਾਅਦ** ਚੱਲਦੀ ਹੈ, ਉਸਦੀ ਥਾਂ ਨਹੀਂ। ਇਹ ਪਹਿਲਾਂ ਉਸ ਕੋਡ ਨੂੰ ਪੜ੍ਹਦੀ ਹੈ ਜਿਸਨੂੰ ਬਦਲਣਾ ਹੈ ਅਤੇ ਅਸਲ flow ਨੂੰ ਸਮਝਦੀ ਹੈ, ਫਿਰ ਠੀਕ rung ਚੁਣਦੀ ਹੈ। ਹੱਲ ਵਿੱਚ ਆਲਸੀ, ਪਰ ਕੋਡ ਪੜ੍ਹਨ ਵਿੱਚ ਕਦੇ ਨਹੀਂ। + +ਆਲਸੀ, ਪਰ ਲਾਪਰਵਾਹ ਨਹੀਂ: trust-boundary validation, data-loss handling, security ਅਤੇ accessibility ਵਿੱਚ ਕਦੇ ਵੀ ਸਮਝੌਤਾ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ। + +## ਇੰਸਟਾਲ ਕਰੋ + +Ponytail ਤੁਹਾਡੇ ਤੋਂ ਸਭ ਤੋਂ ਵੱਧ ਇਹੀ ਕੋਸ਼ਿਸ਼ ਮੰਗੇਗਾ: + +Claude Code ਅਤੇ Codex plugins ਦੋ ਛੋਟੇ Node.js lifecycle hooks ਚਲਾਉਂਦੇ ਹਨ, ਇਸ ਲਈ `node` ਤੁਹਾਡੇ PATH ਵਿੱਚ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ (Nix/nvm ਵਰਤੋਂਕਾਰਾਂ ਲਈ: ਇਹ non-interactive shell ਦੇ PATH ਵਿੱਚ ਵੀ ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ)। ਜੇ ਇਹ ਨਹੀਂ ਹੈ, ਤਾਂ ਵੀ skills ਕੰਮ ਕਰਨਗੀਆਂ, ਪਰ always-on activation ਹਰ prompt 'ਤੇ error ਦੇਣ ਦੀ ਬਜਾਇ ਚੁੱਪਚਾਪ ਬੰਦ ਰਹੇਗੀ। + +### Claude Code + +``` +/plugin marketplace add DietrichGebert/ponytail +``` + +``` +/plugin install ponytail@ponytail +``` + +(ਇੰਸਟਾਲ ਸਹੀ ਤਰ੍ਹਾਂ ਕਰਨ ਲਈ ਇਹ ਦੋਵੇਂ commands ਵੱਖ-ਵੱਖ prompts ਵਜੋਂ ਭੇਜਣੀਆਂ ਪੈਣਗੀਆਂ।) + +Claude Code Desktop ਐਪ ਦੇ **Code** tab ਵਿੱਚ ਵੀ ਇਹੀ ਕਦਮ ਹਨ: ਉੱਪਰ ਦਿੱਤੀਆਂ ਦੋ `/plugin` commands ਨੂੰ prompt box ਵਿੱਚ ਟਾਈਪ ਕਰੋ, ਜਾਂ ਉਸਦੇ ਕੋਲ ਵਾਲੇ **+** ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ, **Plugins** → **Add plugin** ਚੁਣੋ ਤਾਂ ਜੋ ਆਪਣੇ configured marketplaces ਨੂੰ ਵੇਖ ਸਕੋ, ਅਤੇ sidebar ਵਿੱਚ **Customize** ਤੋਂ marketplaces ਨੂੰ manage ਕਰੋ। + +### Codex + +```bash +codex plugin marketplace add DietrichGebert/ponytail +codex plugin add ponytail@ponytail +``` + +`codex` ਚਲਾਓ ਅਤੇ `/hooks` ਖੋਲ੍ਹੋ, ਇਸਦੇ ਦੋ lifecycle hooks ਦੀ ਸਮੀਖਿਆ (review) ਕਰੋ ਅਤੇ ਉਨ੍ਹਾਂ 'ਤੇ trust ਕਰੋ, ਫਿਰ ਇੱਕ ਨਵਾਂ thread ਸ਼ੁਰੂ ਕਰੋ। + +ਇਹੋ ਹੀ installation Codex Desktop ਐਪ ਲਈ ਵੀ ਹੈ: install ਕਰਨ ਤੋਂ ਬਾਅਦ ਐਪ ਨੂੰ restart ਕਰੋ, ਅਤੇ ਇਹ plugin ਆਪਣੇ ਆਪ ਲੋਡ ਹੋ ਜਾਵੇਗਾ। + +### GitHub Copilot CLI + +```bash +copilot plugin marketplace add DietrichGebert/ponytail +copilot plugin install ponytail@ponytail +``` + +Interactive Copilot CLI session ਵਿੱਚ slash commands ਵਰਤੋ: + +``` +/plugin marketplace add DietrichGebert/ponytail +/plugin install ponytail@ponytail +``` + +Copilot CLI plugin commands ਨੂੰ plugin ਦੇ ਨਾਮ ਅਨੁਸਾਰ namespace ਕਰਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ: + +```text +/ponytail:ponytail ultra +/ponytail:ponytail-review +``` + +### Pi agent harness +```bash +pi install git:github.com/DietrichGebert/ponytail +``` + +### OpenCode + +`opencode.json` ਵਿੱਚ ਇਹ ਸ਼ਾਮਲ ਕਰੋ: + +```json +{ "plugin": ["@dietrichgebert/ponytail"] } +``` + +ਜਾਂ checkout ਤੋਂ ਸਿੱਧਾ ਚਲਾਓ (plugin `hooks/` ਅਤੇ `skills/` ਨੂੰ ਮੁੜ ਵਰਤਦਾ ਹੈ): + +```json +{ "plugin": ["./.opencode/plugins/ponytail.mjs"] } +``` + +ਇਹ ਹਰ turn 'ਤੇ active level ਮੁਤਾਬਕ ruleset inject ਕਰਦਾ ਹੈ ਅਤੇ `/ponytail` commands ਜੋੜਦਾ ਹੈ (ਵੇਖੋ [Commands](#commands))। OpenCode ਇਸ repository ਦੀ `AGENTS.md` ਫਾਈਲ ਨੂੰ ਆਪਣੇ ਆਪ load ਕਰ ਲੈਂਦਾ ਹੈ, ਇਸ ਲਈ plugin ਤੋਂ ਬਿਨਾਂ ਵੀ rules ਲਾਗੂ ਰਹਿੰਦੇ ਹਨ। Plugin ਵਾਧੂ `lite/full/ultra/off` levels ਵੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। + +`./` path ਤੁਹਾਡੇ project ਦੀ `opencode.json` ਦੇ ਮੁਕਾਬਲੇ resolve ਹੁੰਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਇੱਕੋ checkout ਕਈ projects ਵਿੱਚ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ `.mjs` ਫਾਈਲ ਦਾ absolute path ਦਿਓ (ਇਹ ਆਪਣੀ ਫਾਈਲ ਦੇ ਸਬੰਧ ਵਿੱਚ `hooks/` ਅਤੇ `skills/` ਲੱਭ ਲੈਂਦਾ ਹੈ)। + +### Gemini CLI + +```bash +gemini extensions install https://github.com/DietrichGebert/ponytail +``` + +ਇਹ ਹਰ session ਵਿੱਚ ruleset ਨੂੰ always-on context ਵਜੋਂ load ਕਰਦਾ ਹੈ ਅਤੇ `/ponytail` commands register ਕਰਦਾ ਹੈ। `skills/` ਵੀ ਨਾਲ ਆਉਂਦੀਆਂ ਹਨ ਅਤੇ ਜਦੋਂ ਕਿਸੇ task ਨੂੰ ਉਹਨਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਤਾਂ ਆਪਣੇ ਆਪ activate ਹੋ ਜਾਂਦੀਆਂ ਹਨ। + +Gemini adapter ਜਾਣਬੁੱਝ ਕੇ root `hooks/hooks.json` ਸ਼ਾਮਲ ਨਹੀਂ ਕਰਦਾ, ਕਿਉਂਕਿ Gemini ਉਸ path ਨੂੰ ਆਪਣੇ ਆਪ load ਕਰ ਲੈਂਦਾ ਹੈ, ਜਦਕਿ Ponytail ਦੇ lifecycle hooks Claude/Codex ਦੇ event names ਵਰਤਦੇ ਹਨ। + +### Qoder + +Qoder repository ਦੇ root ਵਿੱਚ ਮੌਜੂਦ `AGENTS.md` ਨੂੰ ਆਪਣੇ ਆਪ always-on context ਵਜੋਂ load ਕਰ ਲੈਂਦਾ ਹੈ, ਇਸ ਲਈ checkout ਤੋਂ Ponytail ਚਲਾਉਣ ਲਈ ਕਿਸੇ ਵਾਧੂ setup ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ। Per-project rules ਲਈ [`.qoder/rules/ponytail.md`](.qoder/rules/ponytail.md) ਨੂੰ ਆਪਣੇ project ਦੀ `.qoder/rules/` directory ਵਿੱਚ ਕਾਪੀ ਕਰੋ। Ponytail ਦੀਆਂ ਛੇ skills (`/ponytail`, `/ponytail-review`, `/ponytail-audit`, `/ponytail-debt`, `/ponytail-gain`, `/ponytail-help`) Qoder ਦੇ Skill system ਰਾਹੀਂ ਉਪਲਬਧ ਹਨ। [`.qoder-plugin/plugin.json`](.qoder-plugin/plugin.json) manifest `skills/` directory ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ। + +ਪੂਰੀ plugin-tier support (ਹਰ prompt 'ਤੇ automatic mode activation ਅਤੇ ruleset injection) ਲਈ [`hooks/qoder-hooks.json`](hooks/qoder-hooks.json) ਵਿੱਚ ਦਿੱਤੇ hooks ਨੂੰ ਆਪਣੀ `.qoder/settings.json` ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ। `PONYTAIL_DIR` ਨੂੰ ਆਪਣੇ Ponytail checkout ਦੇ path ਨਾਲ ਬਦਲੋ। Qoder ਦਾ `UserPromptSubmit` hook ਪਹਿਲੇ prompt 'ਤੇ default mode activate ਕਰਦਾ ਹੈ ਅਤੇ ਹਰ turn 'ਤੇ ruleset inject ਕਰਦਾ ਹੈ। `PreToolUse` ਵਿੱਚ `task|Task` matcher subagents ਵਿੱਚ ruleset inject ਕਰਦਾ ਹੈ। Level switching (`/ponytail lite|full|ultra|off`) ਆਪਣੇ ਆਪ ਕੰਮ ਕਰਦੀ ਹੈ। + +### Antigravity CLI + +Google, Gemini CLI ਦਾ ਨਾਮ ਬਦਲ ਕੇ Antigravity CLI (ਅਰਥਾਤ `agy` binary) ਰੱਖ ਰਿਹਾ ਹੈ। ਉਹੀ extension ਉੱਥੇ ਵੀ install ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ: + +```bash +agy plugin install https://github.com/DietrichGebert/ponytail +``` + +ਇਹ ਇਸ repository ਦੀ `gemini-extension.json` ਨੂੰ ਮੁੜ ਵਰਤਦਾ ਹੈ। ਇੱਕ ਫਰਕ ਇਹ ਹੈ ਕਿ Antigravity `/ponytail` commands ਨੂੰ skills ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ, ਇਸ ਲਈ ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ slash menu ਵਿੱਚ ਚੁਣਨ ਦੀ ਬਜਾਇ chat ਵਿੱਚ ਸਿੱਧੇ message ਵਜੋਂ ਲਿਖਦੇ ਹੋ (ਉਦਾਹਰਨ ਲਈ `/ponytail-review`)। + +ਜਦ ਤੱਕ migration ਪੂਰੀ ਨਹੀਂ ਹੋ ਜਾਂਦੀ (ਲਗਭਗ 18 ਜੂਨ, 2026), `gemini extensions install` ਵੀ ਕੰਮ ਕਰਦਾ ਰਹੇਗਾ। ਜੇ ਇਸਨੂੰ always-on rule ਵਜੋਂ ਚਲਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ruleset ਨੂੰ `.agents/rules/` ਵਿੱਚ ਰੱਖ ਦਿਓ। +### Hermes Agent + +```bash +hermes plugins install DietrichGebert/ponytail --enable +``` + +Install ਕਰਨ ਤੋਂ ਬਾਅਦ Hermes ਨੂੰ restart ਕਰੋ। Plugin ਹਰ LLM turn ਤੋਂ ਪਹਿਲਾਂ active Ponytail mode inject ਕਰਦਾ ਹੈ, bundled skills ਨੂੰ `ponytail:` ਵਜੋਂ register ਕਰਦਾ ਹੈ, ਅਤੇ `/ponytail`, `/ponytail-review`, `/ponytail-audit`, `/ponytail-debt`, `/ponytail-gain`, ਅਤੇ `/ponytail-help` commands ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ। Shared gateways ਵਿੱਚ, Hermes ਦੇ slash-command access controls ਦੀ ਵਰਤੋਂ ਕਰਕੇ `/ponytail` ਨੂੰ ਸਿਰਫ਼ trusted users ਲਈ ਸੀਮਿਤ ਰੱਖੋ। Runtime mode process-local ਹੁੰਦਾ ਹੈ। + +### CodeWhale + +Project ਦੇ root ਤੋਂ `AGENTS.md` ਆਪਣੇ ਆਪ ਪੜ੍ਹਦਾ ਹੈ, ਕਿਸੇ setup ਦੀ ਲੋੜ ਨਹੀਂ। [`AGENTS.md`](AGENTS.md) ਨੂੰ ਆਪਣੇ project ਵਿੱਚ copy ਕਰੋ ਜਾਂ ਇਸ repository ਦੇ checkout ਤੋਂ `codewhale` ਚਲਾਓ। ਬੱਸ ਇੰਨਾ ਹੀ। + +### Swival + +ਸਭ ਤੋਂ ਪਹਿਲਾਂ collection ਨੂੰ ਆਪਣੀ library ਵਿੱਚ stage ਕਰੋ, ਫਿਰ ਜਿਹੜੀਆਂ skills ਚਾਹੀਦੀਆਂ ਹਨ ਉਹ ਸ਼ਾਮਲ ਕਰੋ: + +```bash +swival skills add --global https://github.com/DietrichGebert/ponytail # stage into ~/.config/swival/library +swival skills add ponytail # install the collection into this project +swival skills add --global ponytail # or activate it in every project +``` + +Swival project ਦੇ root ਤੋਂ `AGENTS.md` ਅਤੇ globally `~/.config/swival/AGENTS.md` ਵੀ ਪੜ੍ਹਦਾ ਹੈ। ਇਹ instruction-only fallback ਵਜੋਂ ਕੰਮ ਕਰਦਾ ਹੈ। + +Command line 'ਤੇ ਕਿਸੇ skill ਨੂੰ ਸਿੱਧੇ activate ਕਰਨ ਲਈ `$` prefix ਵਰਤੋ। ਉਦਾਹਰਨ: `$ponytail-review`. + +### Devin CLI + +```bash +devin plugins install DietrichGebert/ponytail +``` + +Ponytail ਨੂੰ Devin plugin ਵਜੋਂ install ਕਰਦਾ ਹੈ। Skills `/ponytail:ponytail`, `/ponytail:ponytail-review` ਅਤੇ ਇਸੇ ਤਰ੍ਹਾਂ ਹੋਰ commands ਰਾਹੀਂ ਉਪਲਬਧ ਹੁੰਦੀਆਂ ਹਨ। + +### OpenClaw + +```bash +clawhub install ponytail +``` + +Ponytail ਨੂੰ ClawHub ਤੋਂ OpenClaw skill ਵਜੋਂ install ਕਰਦਾ ਹੈ। Review, audit, debt, gain ਅਤੇ help skills ਵੀ ਇਸੇ ਤਰੀਕੇ ਨਾਲ install ਹੁੰਦੀਆਂ ਹਨ (`clawhub install ponytail-review` ਆਦਿ)। OpenClaw ਇਸਨੂੰ coding tasks ਦੌਰਾਨ ਆਪਣੇ ਆਪ ਵਰਤਦਾ ਹੈ ਅਤੇ `/ponytail` command ਵੀ ਉਪਲਬਧ ਕਰਵਾਉਂਦਾ ਹੈ। ਜੇ ClawHub ਨਹੀਂ ਵਰਤ ਰਹੇ, ਤਾਂ [`.openclaw/skills/ponytail`](.openclaw/skills/) ਨੂੰ `~/.openclaw/skills/` ਵਿੱਚ copy ਕਰੋ। + +ਬੱਸ ਇੰਨਾ ਹੀ। ਉਹ ਤੁਹਾਡੇ 'ਤੇ ਮਾਣ ਕਰੇਗਾ। ਪਰ ਉਹ ਇਹ ਕਦੇ ਨਹੀਂ ਕਹੇਗਾ। +ਹਰ session ਵਿੱਚ ਆਪਣੇ ਆਪ active ਰਹਿੰਦਾ ਹੈ, ਨਾਲ ਕੁਝ commands ਵੀ ਹੁੰਦੀਆਂ ਹਨ (ਵੇਖੋ [Commands](#commands))। `/ponytail ultra` ਉਸ ਵੇਲੇ ਲਈ ਹੈ ਜਦੋਂ codebase ਨੇ ਤੁਹਾਡੇ ਨਾਲ ਨਿੱਜੀ ਦੁਸ਼ਮਨੀ ਕੱਢੀ ਹੋਵੇ। Startup ਅਤੇ mode-change ਦੌਰਾਨ ਮੌਜੂਦਾ mode ਦਿਖਾਇਆ ਜਾਂਦਾ ਹੈ। + +ਹਰ ਨਵੇਂ session ਲਈ default level `PONYTAIL_DEFAULT_MODE` env var (`lite`/`full`/`ultra`/`off`) ਨਾਲ ਸੈੱਟ ਕਰੋ, ਜਾਂ `~/.config/ponytail/config.json` ਵਿੱਚ `defaultMode` field ਵਰਤੋ (Windows 'ਤੇ `%APPDATA%\ponytail\config.json`)। ਮੂਲ (default) mode `full` ਹੈ। + +ਜਦੋਂ Ponytail active ਹੁੰਦਾ ਹੈ, ruleset Agent tool ਰਾਹੀਂ ਬਣਾਏ ਗਏ ਹਰ subagent ਵਿੱਚ ਵੀ inject ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਇਸਨੂੰ ਸਿਰਫ਼ ਕੁਝ ਖਾਸ agent types ਲਈ ਹੀ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ (ਉਦਾਹਰਨ ਲਈ read-only search agents ਨੂੰ ਛੱਡਣਾ), ਤਾਂ `PONYTAIL_SUBAGENT_MATCHER` env var ਵਿੱਚ ਇੱਕ regex ਸੈੱਟ ਕਰੋ ਜੋ subagent ਦੇ `agent_type` ਨਾਲ ਮਿਲਾਇਆ ਜਾਂਦਾ ਹੈ। ਇਹ unanchored ਅਤੇ case-insensitive ਹੁੰਦਾ ਹੈ: `explore|general` ਦੋਵੇਂ ਨਾਲ match ਕਰਦਾ ਹੈ, `^general$` ਸਿਰਫ਼ exact match ਕਰਦਾ ਹੈ, ਅਤੇ plugin agent types `plugin:name` ਵਰਗੇ ਹੁੰਦੇ ਹਨ। ਜੇ ਇਹ ਸੈੱਟ ਨਹੀਂ ਹੈ, ਤਾਂ ruleset ਹਰ subagent ਵਿੱਚ inject ਹੁੰਦਾ ਹੈ (ਇਹੀ default ਹੈ)। ਜੇ regex ਗਲਤ ਹੋਵੇ ਜਾਂ platform subagent ਦਾ type report ਨਾ ਕਰੇ, ਤਾਂ ਵੀ ਇਹ inject ਕਰਨਾ ਜਾਰੀ ਰੱਖਦਾ ਹੈ। + +Cursor, Windsurf, Cline, GitHub Copilot Chat (VS Code, JetBrains ਅਤੇ Visual Studio editor extension, ਨਾ ਕਿ [Install](#install) ਵਿੱਚ ਦਿੱਤਾ standalone Copilot CLI), Aider, Kiro, Zed, CodeWhale, Swival ਅਤੇ Qoder ਲਈ: ਇਸ repository ਤੋਂ ਮਿਲਦੀ-ਜੁਲਦੀ rules file copy ਕਰੋ ([`.cursor/rules/`](.cursor/rules/), [`.windsurf/rules/`](.windsurf/rules/), [`.clinerules/`](.clinerules/), [`.github/copilot-instructions.md`](.github/copilot-instructions.md), [`AGENTS.md`](AGENTS.md), [`.kiro/steering/`](.kiro/steering/), [`.qoder/rules/`](.qoder/rules/))। + +**Kiro:** `.kiro/steering/ponytail.md` ਨੂੰ `~/.kiro/steering/` (global) ਜਾਂ ਆਪਣੇ project ਦੀ `.kiro/steering/` directory ਵਿੱਚ copy ਕਰੋ। + +**GitHub Copilot CLI fallback (instruction-only mode):** ਇਹ project ਵਿੱਚ `AGENTS.md` ਅਤੇ `.github/copilot-instructions.md` ਨੂੰ ਪੜ੍ਹਦਾ ਹੈ। ਜਾਂ Ponytail ਨੂੰ ਹਰ project ਵਿੱਚ ਚਲਾਉਣ ਲਈ rules ਨੂੰ `~/.copilot/copilot-instructions.md` ਵਿੱਚ copy ਕਰੋ। ਇਸ ਤਰੀਕੇ ਨਾਲ always-on guidance ਮਿਲਦੀ ਹੈ, ਪਰ plugin mode switching ਅਤੇ hooks ਉਪਲਬਧ ਨਹੀਂ ਹੁੰਦੇ। + +**VS Code** ਵਿੱਚ Codex extension `AGENTS.md` ਨੂੰ ਪੜ੍ਹਦੀ ਹੈ, ਜੋ ਇਸ repository ਵਿੱਚ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ। ਇਸ ਲਈ repository ਦੇ root ਤੋਂ ਇਹ ਬਿਨਾਂ ਕਿਸੇ setup ਦੇ ਕੰਮ ਕਰਦਾ ਹੈ (`~/.codex/AGENTS.md` Codex ਨੂੰ globally ਉਪਲਬਧ ਕਰਦਾ ਹੈ)। + +**JetBrains Junie** `AGENTS.md` ਨੂੰ ਪੜ੍ਹ ਸਕਦਾ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਇਸਦਾ path **Settings → Tools → Junie → Project Settings → Guidelines Path** ਵਿੱਚ ਦਿੰਦੇ ਹੋ (ਇਹ ਹਾਲੇ ਆਪਣੇ ਆਪ ਨਹੀਂ ਹੁੰਦਾ)। ਇਸ repository ਵਿੱਚ `AGENTS.md` ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ; `.junie/guidelines.md` Junie ਦਾ ਪੁਰਾਣਾ (legacy) path ਹੈ। + +**Amp (Sourcegraph)** working directory ਅਤੇ ਉਸ ਦੀਆਂ parent directories ਵਿੱਚ `$HOME` ਤੱਕ `AGENTS.md` ਨੂੰ ਪੜ੍ਹਦਾ ਹੈ। ਕਿਉਂਕਿ ਇਹ repository ਉਹ ਫਾਈਲ ਪਹਿਲਾਂ ਹੀ ਦਿੰਦੀ ਹੈ, ਇਸ ਲਈ ਕਿਸੇ setup ਦੀ ਲੋੜ ਨਹੀਂ (`~/.config/amp/AGENTS.md` ਇਸਨੂੰ globally ਉਪਲਬਧ ਕਰਦਾ ਹੈ)। + +**Jules (Google)** repository ਦੇ root ਤੋਂ `AGENTS.md` ਪੜ੍ਹਦਾ ਹੈ। ਇਹ repository ਉਹ ਫਾਈਲ ਪਹਿਲਾਂ ਹੀ ਦਿੰਦੀ ਹੈ, ਇਸ ਲਈ ruleset ਬਿਨਾਂ ਕਿਸੇ setup ਦੇ ਆਪਣੇ ਆਪ load ਹੋ ਜਾਂਦਾ ਹੈ। + +ਕਿਹੜੀ ਫਾਈਲ ਕਿਹੜੇ agent ਨਾਲ ਵਰਤੀ ਜਾਂਦੀ ਹੈ, ਇਸ ਲਈ ਵੇਖੋ: [Agent portability](docs/agent-portability.md)। +### Uninstall + +| Host | Command | +|------|---------| +| Claude Code | `/plugin remove ponytail` | +| Codex | `codex plugin remove ponytail` | +| Devin CLI | `devin plugins remove ponytail` | +| Pi agent | `pi uninstall ponytail` | +| Cursor / Windsurf / Cline / Qoder / etc. | Copy ਕੀਤੀ ਹੋਈ rule file ਮਿਟਾ ਦਿਓ | + +ਇਹ commands plugin ਦੀਆਂ ਆਪਣੀਆਂ files ਨੂੰ ਹਟਾ ਦਿੰਦੀਆਂ ਹਨ। ਪਰ Ponytail plugin folder ਤੋਂ ਬਾਹਰ ਲਿਖੀ ਕੁਝ state ਰਹਿ ਜਾਂਦੀ ਹੈ: mode flag, `~/.config/ponytail/config.json`, ਅਤੇ (ਜੇ ਤੁਸੀਂ setup ਨੋਟਿਸ ਸਵੀਕਾਰ ਕੀਤਾ ਸੀ) `~/.claude/settings.json` ਵਿੱਚ ਇੱਕ `statusLine` entry। + +ਇਹਨਾਂ ਨੂੰ ਵੀ ਸਾਫ਼ ਕਰਨ ਲਈ `node scripts/uninstall.js` ਚਲਾਓ। + +**ਇਸਨੂੰ ਉੱਪਰ ਦਿੱਤੇ host remove command ਤੋਂ ਪਹਿਲਾਂ ਚਲਾਓ।** ਇਹ script ਖੁਦ ਵੀ plugin ਦੀ file ਹੈ, ਇਸ ਲਈ ਜੇ ਪਹਿਲਾਂ plugin ਹਟਾ ਦਿੱਤਾ ਤਾਂ script ਵੀ ਮਿਟ ਜਾਵੇਗੀ (ਜਾਂ ਇਸ repository ਦੀ ਕਿਸੇ ਵੱਖਰੀ clone ਤੋਂ ਇਸਨੂੰ ਚਲਾਓ)। + +ਇਹ `statusLine` entry ਸਿਰਫ਼ ਤਦੋਂ ਹੀ ਹਟਾਉਂਦੀ ਹੈ ਜੇ ਉਹ Ponytail ਦੀ ਆਪਣੀ script ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੀ ਹੋਵੇ। ਜੇ ਤੁਸੀਂ ਆਪਣੀ statusLine ਖੁਦ ਬਣਾਈ ਹੈ, ਤਾਂ ਉਸਨੂੰ ਕੋਈ ਤਬਦੀਲੀ ਨਹੀਂ ਕੀਤੀ ਜਾਵੇਗੀ। + +## Commands + +| Command | ਇਹ ਕੀ ਕਰਦਾ ਹੈ | +|---------|----------------| +| `/ponytail [lite \| full \| ultra \| off]` | Intensity level ਸੈੱਟ ਕਰੋ ਜਾਂ ਇਸਨੂੰ ਬੰਦ ਕਰੋ। ਬਿਨਾਂ argument ਦੇ ਮੌਜੂਦਾ level ਦਿਖਾਇਆ ਜਾਂਦਾ ਹੈ। | +| `/ponytail-review` | ਮੌਜੂਦਾ diff ਦੀ over-engineering ਲਈ ਸਮੀਖਿਆ ਕਰਦਾ ਹੈ ਅਤੇ ਹਟਾਉਣ ਵਾਲੀਆਂ ਚੀਜ਼ਾਂ ਦੀ ਸੂਚੀ ਦਿੰਦਾ ਹੈ। | +| `/ponytail-audit` | ਸਿਰਫ਼ diff ਨਹੀਂ, ਪੂਰੀ repository ਦੀ over-engineering ਲਈ ਜਾਂਚ ਕਰਦਾ ਹੈ। | +| `/ponytail-debt` | ਜਿਨ੍ਹਾਂ `ponytail:` shortcuts ਨੂੰ ਤੁਸੀਂ ਬਾਅਦ ਲਈ ਟਾਲਿਆ ਸੀ, ਉਹਨਾਂ ਨੂੰ ਇੱਕ ledger ਵਿੱਚ ਇਕੱਠਾ ਕਰਦਾ ਹੈ ਤਾਂ ਜੋ "ਬਾਅਦ ਵਿੱਚ" ਕਦੇ "ਕਦੇ ਨਹੀਂ" ਨਾ ਬਣ ਜਾਵੇ। | +| `/ponytail-gain` | Benchmark ਤੋਂ ਮਾਪੇ ਗਏ ਨਤੀਜੇ (ਘੱਟ code, ਘੱਟ cost, ਵੱਧ speed) ਦਾ scoreboard ਦਿਖਾਉਂਦਾ ਹੈ। | +| `/ponytail-help` | ਉੱਪਰ ਦਿੱਤੀਆਂ commands ਲਈ ਇੱਕ ਛੋਟਾ quick reference ਦਿਖਾਉਂਦਾ ਹੈ। | + +ਇਹ commands ਵਰਤਣ ਲਈ skill-capable host ਲਾਜ਼ਮੀ ਹੈ (Claude Code, Codex, Devin CLI, OpenCode, Gemini, pi, Swival, Hermes Agent, Qoder)। Codex ਵਿੱਚ ਇਹ skills ਵਜੋਂ ਉਪਲਬਧ ਹਨ ਅਤੇ `@` ਨਾਲ ਚਲਾਈਆਂ ਜਾਂਦੀਆਂ ਹਨ (ਉਦਾਹਰਨ: `@ponytail-review`)। Instruction-only adapters (Cursor, Windsurf, Cline, Copilot, Kiro, Antigravity) commands ਤੋਂ ਬਿਨਾਂ ਸਿਰਫ਼ always-on ruleset load ਕਰਦੇ ਹਨ। + +## Development + +ਜਦੋਂ compact rule text ਵਿੱਚ ਤਬਦੀਲੀ ਕਰੋ, ਤਾਂ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਸਾਰੀਆਂ agent copies ਵੀ ਉਸਦੇ ਨਾਲ synchronized ਰਹਿਣ: + +```bash +node scripts/check-rule-copies.js +npm test +``` +OpenClaw skill package (`.openclaw/skills/`) `skills/` ਤੋਂ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਕਿਸੇ skill ਵਿੱਚ ਤਬਦੀਲੀ ਕਰਦੇ ਹੋ, ਤਾਂ `node scripts/build-openclaw-skills.js` ਨੂੰ ਦੁਬਾਰਾ ਚਲਾਓ। ਜੇ package update ਨਾ ਹੋਵੇ (stale ਹੋਵੇ), ਤਾਂ test suite ਅਸਫਲ ਹੋ ਜਾਵੇਗੀ। + +Skills ਨੂੰ ClawHub 'ਤੇ publish ਕਰਨ ਲਈ ਪਹਿਲਾਂ ਇੱਕ ਵਾਰ `clawhub login` ਚਲਾਓ, ਫਿਰ `node scripts/publish-openclaw-skills.js` ਚਲਾਓ। ਇਹ `package.json` ਵਿੱਚ ਦਿੱਤੇ version ਅਨੁਸਾਰ ਸਾਰੀਆਂ ਛੇ skills publish ਕਰਦਾ ਹੈ। ਜੇ ਪਹਿਲਾਂ preview ਦੇਖਣੀ ਹੋਵੇ, ਤਾਂ `--dry-run` option ਵਰਤੋ। + +Correctness benchmark email ਅਤੇ CSV checks ਲਈ Python process ਚਲਾਉਂਦਾ ਹੈ। ਪਹਿਲਾਂ `python3` ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਫਿਰ `python` ਦੀ। CSV checks ਲਈ ਤੁਹਾਡੇ ਸਿਸਟਮ 'ਤੇ `pandas` ਦਾ locally install ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ। + +## FAQ + +**ਕੀ ਮੈਂ ਇਸਨੂੰ [caveman](https://github.com/JuliusBrussee/caveman) ਨਾਲ ਵਰਤ ਸਕਦਾ ਹਾਂ?** + +ਹਾਂ, ਅਤੇ ਵਰਤਣਾ ਵੀ ਚਾਹੀਦਾ ਹੈ। Caveman agent ਦੀਆਂ ਗੱਲਾਂ ਨੂੰ ਛੋਟਾ ਕਰਦਾ ਹੈ, ਜਦਕਿ Ponytail ਉਸਦੇ ਬਣਾਏ ਕੋਡ ਨੂੰ ਛੋਟਾ ਕਰਦਾ ਹੈ। ਦੋਵੇਂ ਵੱਖ-ਵੱਖ ਕੰਮ ਕਰਦੇ ਹਨ ਅਤੇ ਇੱਕ ਦੂਜੇ ਨਾਲ ਟਕਰਾਉਂਦੇ ਨਹੀਂ। Caveman ਕੋਡ ਨੂੰ byte-for-byte ਬਦਲੇ ਬਿਨਾਂ ਰੱਖਦਾ ਹੈ, ਜਦਕਿ Ponytail prose ਵਿੱਚ ਦਖਲ ਨਹੀਂ ਦਿੰਦਾ। ਘੱਟ ਸ਼ਬਦ, ਘੱਟ ਕੋਡ। + +**ਕੀ ਇਸਨੂੰ config file ਦੀ ਲੋੜ ਹੈ?** + +ਨਹੀਂ। ਜੇ ਚਾਹੋ ਤਾਂ `~/.config/ponytail/config.json` ਜਾਂ `PONYTAIL_DEFAULT_MODE` env var ਰਾਹੀਂ default level ਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ, ਪਰ ਇਹ ਲਾਜ਼ਮੀ ਨਹੀਂ ਹੈ। + +**ਜੇ ਮੈਨੂੰ ਸੱਚਮੁੱਚ 120-line cache class ਦੀ ਲੋੜ ਹੋਵੇ ਤਾਂ?** + +ਅਸਲ ਵਿੱਚ ਨਹੀਂ। ਪਰ ਜੇ ਤੁਸੀਂ ਫਿਰ ਵੀ ਜ਼ੋਰ ਦਿੰਦੇ ਹੋ, ਤਾਂ ਇਹ ਉਹ ਵੀ ਬਣਾ ਦੇਵੇਗਾ। ਹੌਲੀ-ਹੌਲੀ। ਸਹੀ ਤਰੀਕੇ ਨਾਲ। ਅਤੇ ਤੁਹਾਡੇ ਵੱਲ ਵੇਖਦੇ ਹੋਏ। + +**ਕੀ ਇਹ scale ਕਰਦਾ ਹੈ?** + +ਜੋ ਕੋਡ ਤੁਸੀਂ ਕਦੇ ਲਿਖਿਆ ਹੀ ਨਹੀਂ, ਉਹ ਬੇਅੰਤ scale ਕਰਦਾ ਹੈ। Zero bugs, zero CVEs, ਅਤੇ ਹਮੇਸ਼ਾਂ ਤੋਂ 100% uptime। + +**ਨਾਂ "Ponytail" ਹੀ ਕਿਉਂ?** + +ਤੁਹਾਨੂੰ ਇਸਦਾ ਜਵਾਬ ਪਹਿਲਾਂ ਹੀ ਪਤਾ ਹੈ। + +## Sponsors + +

\ No newline at end of file From 0b1fdf68817d8b16a2484cdbb74d157981862ad3 Mon Sep 17 00:00:00 2001 From: Aarif Date: Mon, 3 Aug 2026 14:13:26 +0530 Subject: [PATCH 2/2] hi so i add readme in punjbi hindi and urdu i am native in this languges and if u find any mistakes pls tell me --- README.hi.md | 351 ++++++++++++++++++ README.pa.md | 351 ++++++++++++++++++ README.ur.md | 351 ++++++++++++++++++ ...50\276\340\250\254\340\251\200 readme.md" | 343 ----------------- 4 files changed, 1053 insertions(+), 343 deletions(-) create mode 100644 README.hi.md create mode 100644 README.pa.md create mode 100644 README.ur.md delete mode 100644 "languages/\340\250\252\340\251\260\340\250\234\340\250\276\340\250\254\340\251\200 readme.md" diff --git a/README.hi.md b/README.hi.md new file mode 100644 index 00000000..7941b710 --- /dev/null +++ b/README.hi.md @@ -0,0 +1,351 @@ +

+ + + Ponytail, the lazy senior dev + +

+ +

Ponytail

+ +

+ वो कुछ नहीं कहता। बस एक लाइन लिखता है। और काम बन जाता है। +

+ +

+ Stars + Release + npm + Works with 20 agents + MIT license +

+ +

+ DietrichGebert/ponytail | Trendshift + DietrichGebert/ponytail | Trendshift +

+ +

+ ~54% कम कोड (94% तक) · ~20% सस्ता · ~27% तेज़ · 100% सुरक्षित
+ यह नतीजे असली Claude Code सेशन पर मापे गए हैं, जहाँ एक असली ओपन-सोर्स रिपो (FastAPI + React) पर एडिट किया गया, और उसी agent से बिना किसी skill के तुलना की गई। ~54% का औसत 12 फीचर टास्क पर आधारित है (Haiku 4.5, n=4); जहाँ agent ज़रूरत से ज़्यादा बना देता है (जैसे date picker) वहाँ यह 94% तक पहुँच जाता है, और जहाँ कोड पहले से ही न्यूनतम है वहाँ लगभग शून्य रहता है। ponytail हर safety guard को बनाए रखता है, जबकि सिर्फ "एक-लाइन लिखो" वाला prompt एक guard खो देता है। (पहले वाले single-shot बेंचमार्क में 80-94% एक फ्लैट आंकड़े के रूप में बताया गया था; एक फेयर agentic baseline के मुकाबले यह प्रति-टास्क अधिकतम सीमा है, औसत नहीं।) पूरी जानकारी · खुद आज़माएं. +

+ +

+ Español · 한국어 +

+ +--- + +

+ Something's coming, join the waitlist +

+ +आप उसे जानते हैं। लंबी पोनीटेल। अंडाकार चश्मा। कंपनी में वर्जन कंट्रोल से भी पुराना है। आप उसे पचास लाइनें दिखाते हो, वो देखता है, कुछ नहीं बोलता, और उन्हें एक लाइन से बदल देता है। + +Ponytail उसे आपके AI agent के अंदर बिठा देता है। + +## पहले / बाद में + +आपने date picker मांगा। आपका agent flatpickr install करता है, एक wrapper component लिखता है, एक stylesheet जोड़ता है, और timezone को लेकर बहस शुरू कर देता है। + +ponytail के साथ: + +```html + + +``` + +और भी उदाहरण [examples/](examples/) में देखें। + +## आंकड़े + +सबसे ईमानदार माप यही है कि असली agent असली काम करे: एक headless Claude Code सेशन ने [tiangolo के full-stack-fastapi-template](https://github.com/fastapi/full-stack-fastapi-template) (एक असली FastAPI + React रिपो) को एडिट किया, और उसका स्कोर उस `git diff` से मापा गया जो पीछे छूटा। बारह फीचर टिकट, एक ही agent skill के साथ और बिना skill के, n=4, Haiku 4.5. + +

+ Each arm as a percent of the no-skill baseline across LOC, tokens, cost and time (Haiku 4.5). ponytail is lowest on every metric (LOC 46%, tokens 78%, cost 80%, time 73%); caveman rises above 100% on tokens, cost and time; yagni-oneliner LOC 67%. Safety, separate adversarial tier: baseline, caveman and ponytail 100%, yagni-oneliner 95%. +

+ +| no-skill baseline के मुकाबले | LOC | tokens | cost | time | safe | +|---|--:|--:|--:|--:|--:| +| **ponytail** | **-54%** | **-22%** | **-20%** | **-27%** | **100%** | +| caveman (terse-prose control) | -20% | +7% | +3% | +2% | 100% | +| "YAGNI + one-liners" prompt | -33% | -14% | -21% | -30% | 95% | + +ponytail अकेला ऐसा arm है जो हर मेट्रिक को कम करता है, और अकेला ऐसा जो पूरी तरह सुरक्षित भी रहता है। सबसे बड़ी कटौती वहाँ होती है जहाँ over-build का असली खतरा हो (date picker 404 से 23 लाइन तक, color picker 287 से 23 तक, क्योंकि यह component की जगह native `` इस्तेमाल करता है), और जहाँ कोड पहले से ही न्यूनतम है वहाँ यह लगभग शून्य रहता है। पूरा तरीका, हर टास्क की टेबल, और सीमाएं यहाँ देखें: [benchmarks/results/2026-06-18-agentic.md](benchmarks/results/2026-06-18-agentic.md). + +
+पुराने single-shot आंकड़े (isolated generation) + +पाँच रोज़मर्रा के टास्क, तीन मॉडल, तीन arms (बिना skill, [caveman](https://github.com/JuliusBrussee/caveman), ponytail), दस रन, median रिपोर्ट किया गया। एक prompt, एक completion, जवाब की लाइनें गिनी गईं: + +

+ Median lines of code per arm across Haiku, Sonnet and Opus +

+ +इसमें **80-94% कम कोड** दिखा। [#126](https://github.com/DietrichGebert/ponytail/issues/126) ने सही बात बताई कि bare-model baseline अपने जवाब को prose और options से भर देता है, तो यह अंतर कुछ हद तक conversational-baseline का ही नतीजा है। ऊपर वाले agentic आंकड़े ही सही और भरोसेमंद वर्ज़न हैं। single-shot रन को खुद चलाने के लिए `npx promptfoo eval -c benchmarks/promptfooconfig.yaml` इस्तेमाल करें। + +
+ +**नियम कभी भी "सबसे कम tokens" का नहीं था।** नियम यह है: सिर्फ वही लिखो जो टास्क को चाहिए, और validation, error handling, security, या accessibility से कभी समझौता मत करो। कोड छोटा इसलिए होता है क्योंकि वो ज़रूरी है, golf खेलकर नहीं बनाया गया। जो मॉडल इस ladder को फॉलो करते हैं उनमें कम cost और latency एक साइड-इफेक्ट है; लेकिन जो terse reasoning model हर rung पर सोचने में tokens खर्च करता है, वो उल्टा भी हो सकता है (GPT-5.5 पर ऐसा ही होता है)। + +## यह काम कैसे करता है + +कोड लिखने से पहले, agent पहले उस rung पर रुकता है जो सही बैठे: + +``` +1. क्या इसकी ज़रूरत है? → नहीं: छोड़ दो (YAGNI) +2. यह codebase में पहले से है? → उसे दोबारा इस्तेमाल करो, नया मत लिखो +3. stdlib यह करता है? → उसे इस्तेमाल करो +4. native platform feature? → उसे इस्तेमाल करो +5. पहले से installed dependency? → उसे इस्तेमाल करो +6. एक लाइन में हो सकता है? → एक लाइन लिखो +7. तभी: जितना ज़रूरी हो उतना ही +``` + +यह ladder समस्या को समझने के *बाद* चलता है, समझने की जगह नहीं: यह पहले उस कोड को पढ़ता है जिसे बदलाव छूता है और असली flow को ट्रेस करता है, फिर सही rung चुनता है। solution को लेकर आलसी है, पढ़ने को लेकर कभी नहीं। + +आलसी है, लापरवाह नहीं: trust-boundary validation, data-loss handling, security, और accessibility कभी नहीं काटी जातीं। + +## Install + +ponytail आपसे बस इतनी ही मेहनत मांगेगा: + +Claude Code और Codex plugins दो छोटे Node.js lifecycle hooks चलाते हैं, इसलिए `node` आपके PATH में होना चाहिए (Nix/nvm यूज़र्स के लिए नोट: यह non-interactive shell के PATH में भी होना चाहिए)। अगर नहीं है, तो skills फिर भी काम करेंगी, बस always-on activation चुपचाप रहेगा, हर prompt पर error नहीं देगा। + +### Claude Code + +``` +/plugin marketplace add DietrichGebert/ponytail +``` +``` +/plugin install ponytail@ponytail +``` +(install काम करने के लिए दो अलग-अलग prompts भेजने होंगे) + +Claude Code Desktop app के Code टैब में भी वही स्टेप्स: ऊपर वाले दोनों `/plugin` कमांड्स prompt box में टाइप करें, या उसके बगल में **+** बटन दबाकर, **Plugins** → **Add plugin** चुनकर अपनी configured marketplaces देखें, और marketplaces को sidebar के **Customize** से मैनेज करें। + +### Codex + +```bash +codex plugin marketplace add DietrichGebert/ponytail +codex plugin add ponytail@ponytail +``` + +`codex` चलाएं और `/hooks` खोलें, इसके दोनों lifecycle hooks को रिव्यू करके trust करें, और एक नया thread शुरू करें। + +यही install Codex desktop app के लिए भी काम करता है: install करने के बाद app को restart करें, यह plugin अपने आप ले लेगा। + +### GitHub Copilot CLI + +```bash +copilot plugin marketplace add DietrichGebert/ponytail +copilot plugin install ponytail@ponytail +``` + +interactive Copilot CLI सेशन में, slash equivalents इस्तेमाल करें: + +``` +/plugin marketplace add DietrichGebert/ponytail +/plugin install ponytail@ponytail +``` + +Copilot CLI plugin commands को plugin के नाम से namespace करता है। जैसे: + +```text +/ponytail:ponytail ultra +/ponytail:ponytail-review +``` + +### Pi agent harness + +``` +pi install git:github.com/DietrichGebert/ponytail +``` + +### OpenCode + +`opencode.json` में जोड़ें: + +```json +{ "plugin": ["@dietrichgebert/ponytail"] } +``` + +चेकआउट से सीधे चलाने के लिए (plugin `hooks/` और `skills/` को दोबारा इस्तेमाल करता है): + +```json +{ "plugin": ["./.opencode/plugins/ponytail.mjs"] } +``` + +यह हर turn पर active level पर ruleset डालता है; `/ponytail` commands जोड़ता है (देखें [Commands](#commands))। OpenCode इस रिपो की `AGENTS.md` को भी अपने आप लोड कर लेता है, तो plugin के बिना भी rules काम करते रहते हैं। plugin `lite/full/ultra/off` levels जोड़ता है। + +`./` वाला path आपके project की `opencode.json` के हिसाब से resolve होता है; एक ही checkout को कई projects में शेयर करने के लिए `.mjs` का absolute path डालें (यह अपने `hooks/` और `skills/` को अपनी फाइल के हिसाब से ही ढूंढ लेता है)। + +### Gemini CLI + +```bash +gemini extensions install https://github.com/DietrichGebert/ponytail +``` + +यह हर सेशन में ruleset को always-on context के तौर पर लोड करता है और `/ponytail` commands रजिस्टर करता है; `skills/` भी साथ आती हैं, जो ज़रूरत पड़ने पर activate होती हैं। +Gemini adapter जानबूझकर root `hooks/hooks.json` नहीं भेजता: Gemini उस path को अपने आप लोड कर लेता है, जबकि Ponytail के lifecycle hooks Claude/Codex के event names इस्तेमाल करते हैं। + +### Qoder + +Qoder repo root से `AGENTS.md` को always-on context के तौर पर अपने आप लोड कर लेता है, तो checkout से ponytail चलाने के लिए कोई सेटअप नहीं चाहिए। per-project rules के लिए, [`.qoder/rules/ponytail.md`](.qoder/rules/ponytail.md) को अपने project की `.qoder/rules/` में कॉपी करें। छह ponytail skills (`/ponytail`, `/ponytail-review`, `/ponytail-audit`, `/ponytail-debt`, `/ponytail-gain`, `/ponytail-help`) Qoder के Skill system से उपलब्ध हैं; [`.qoder-plugin/plugin.json`](.qoder-plugin/plugin.json) में plugin manifest `skills/` directory की तरफ इशारा करता है। + +पूरे plugin-tier support के लिए (automatic mode activation + हर prompt पर ruleset injection), [`hooks/qoder-hooks.json`](hooks/qoder-hooks.json) के hooks को अपनी `.qoder/settings.json` में जोड़ें। `PONYTAIL_DIR` को अपने ponytail checkout के path से बदल दें। Qoder का `UserPromptSubmit` hook पहले prompt पर default mode activate करता है और हर turn पर ruleset डालता है; `PreToolUse` `task|Task` matcher के साथ subagents में ruleset डालता है। Level switches (`/ponytail lite|full|ultra|off`) अपने आप काम करते हैं। + +### Antigravity CLI + +Google, Gemini CLI का नाम बदलकर Antigravity CLI (`agy` binary) कर रहा है; वही extension वहाँ भी install होता है: + +```bash +agy plugin install https://github.com/DietrichGebert/ponytail +``` + +यह इस रिपो की `gemini-extension.json` को ही इस्तेमाल करता है। एक फर्क है: Antigravity `/ponytail` commands को skills में बदल देता है, तो आप उन्हें slash menu से चुनने की बजाय chat में टाइप करते हैं (जैसे `/ponytail-review` एक मैसेज की तरह)। migration पूरी होने तक (करीब 18 जून, 2026), `gemini extensions install` भी काम करता रहेगा। इसे always-on rule की तरह चलाने के लिए, ruleset को `.agents/rules/` में डाल दें। + +### Hermes Agent + +```bash +hermes plugins install DietrichGebert/ponytail --enable +``` + +install करने के बाद Hermes को restart करें। plugin हर LLM turn से पहले active Ponytail mode डालता है, बंडल की गई skills को `ponytail:` के नाम से रजिस्टर करता है, और `/ponytail`, `/ponytail-review`, `/ponytail-audit`, `/ponytail-debt`, `/ponytail-gain`, और `/ponytail-help` जोड़ता है। shared gateways में, `/ponytail` को Hermes के slash-command access controls से सिर्फ trusted users तक सीमित रखें; runtime mode process-local होता है। + +### CodeWhale + +project root से `AGENTS.md` पढ़ता है, कोई सेटअप नहीं चाहिए। [`AGENTS.md`](AGENTS.md) को अपने project में कॉपी करें, या इस रिपो के checkout से `codewhale` चलाएं। बस इतना ही। + +### Swival + +पहले collection को अपनी library में stage करें, फिर जो skills चाहिए वो जोड़ें: + +```bash +swival skills add --global https://github.com/DietrichGebert/ponytail # ~/.config/swival/library में stage करें +swival skills add ponytail # collection को इस project में install करें +swival skills add --global ponytail # या इसे हर project में activate करें +``` + +Swival project root से `AGENTS.md` और globally `~/.config/swival/AGENTS.md` भी पढ़ता है, यह instruction-only fallback है। + +command line पर, किसी skill को सीधे activate करने के लिए `$` prefix इस्तेमाल करें। जैसे: `$ponytail-review`. + +### Devin CLI + +```bash +devin plugins install DietrichGebert/ponytail +``` + +ponytail को Devin plugin के तौर पर install करता है; skills `/ponytail:ponytail`, `/ponytail:ponytail-review` वगैरह के तौर पर उपलब्ध होती हैं। + +### OpenClaw + +```bash +clawhub install ponytail +``` + +ponytail को ClawHub से OpenClaw skill के तौर पर install करता है; review, audit, debt, gain, और help skills भी उसी तरह install होती हैं (`clawhub install ponytail-review`, वगैरह)। OpenClaw इसे coding tasks पर लागू करता है और `/ponytail` command के तौर पर भी दिखाता है। ClawHub के बिना, [`.openclaw/skills/ponytail`](.openclaw/skills/) को `~/.openclaw/skills/` में कॉपी करें। + +बस इतना ही था। उसे गर्व होता। पर वो कहेगा नहीं। + +हर सेशन में active रहता है, कुछ commands के साथ (देखें [Commands](#commands))। `/ponytail ultra` उन पलों के लिए है जब codebase ने आपके साथ निजी तौर पर गलत किया हो। Startup और mode-change text में current mode दिखता है। + +हर नए सेशन के लिए level सेट करने के लिए `PONYTAIL_DEFAULT_MODE` env var (`lite`/`full`/`ultra`/`off`) इस्तेमाल करें, या `~/.config/ponytail/config.json` (Windows पर `%APPDATA%\ponytail\config.json`) में `defaultMode` फील्ड डालें। default `full` है। + +active रहते हुए, ruleset Agent tool से spawn होने वाले हर subagent में भी डाला जाता है। इसे खास agent types तक सीमित रखने के लिए (जैसे read-only search agents पर बंद रखना), `PONYTAIL_SUBAGENT_MATCHER` env var को एक regex पर सेट करें जो subagent के `agent_type` पर टेस्ट होगा। यह unanchored और case-insensitive है: `explore|general` दोनों में से किसी से मैच करेगा, `^general$` exact है, और plugin agent types `plugin:name` जैसे दिखते हैं। अगर सेट नहीं किया तो हर subagent में inject होगा (यही default है); गलत regex, या ऐसा subagent जिसका type platform नहीं बताता, वहाँ भी inject करना ही default रहेगा। + +Cursor, Windsurf, Cline, GitHub Copilot Chat (VS Code, JetBrains, और Visual Studio का editor extension, standalone Copilot CLI नहीं जो [Install](#install) में ऊपर बताया गया है), Aider, Kiro, Zed, CodeWhale, Swival, Qoder: इस रिपो से matching rules file कॉपी करें ([`.cursor/rules/`](.cursor/rules/), [`.windsurf/rules/`](.windsurf/rules/), [`.clinerules/`](.clinerules/), [`.github/copilot-instructions.md`](.github/copilot-instructions.md), [`AGENTS.md`](AGENTS.md), [`.kiro/steering/`](.kiro/steering/), [`.qoder/rules/`](.qoder/rules/))। + +Kiro: `.kiro/steering/ponytail.md` को `~/.kiro/steering/` (global) या अपने project की `.kiro/steering/` में कॉपी करें। + +GitHub Copilot CLI fallback (instruction-only mode): यह किसी project में `AGENTS.md` और `.github/copilot-instructions.md` पढ़ता है, या हर project में ponytail चलाने के लिए rules को `~/.copilot/copilot-instructions.md` में कॉपी करें। इस तरीके से always-on guidance तो मिलती है, पर plugin mode switches या hooks नहीं जुड़ते। + +Codex extension वाला VS Code `AGENTS.md` पढ़ता है, जो यह रिपो पहले से भेजती है, तो यह रिपो के root से बिना किसी सेटअप के काम करता है (`~/.codex/AGENTS.md` Codex को global बना देता है)। + +JetBrains Junie `AGENTS.md` तभी पढ़ पाता है जब आप उसे Settings → Tools → Junie → Project Settings → Guidelines Path में बताएं (यह अभी automatic नहीं है)। यह रिपो `AGENTS.md` भेजती है; `.junie/guidelines.md` Junie का पुराना path है। + +Amp (Sourcegraph) working directory और parent directories से `$HOME` तक `AGENTS.md` पढ़ता है, जो यह रिपो भेजती है, तो यह बिना सेटअप के काम करता है (`~/.config/amp/AGENTS.md` globally काम करता है)। + +Jules (Google) repository root से `AGENTS.md` पढ़ता है, जो यह रिपो भेजती है, तो यह बिना किसी सेटअप के ruleset ले लेता है। + +कौन सी फाइल किस agent के लिए है: [Agent portability](docs/agent-portability.md). + +### Uninstall + +| Host | Command | +|------|---------| +| Claude Code | `/plugin remove ponytail` | +| Codex | `codex plugin remove ponytail` | +| Devin CLI | `devin plugins remove ponytail` | +| Pi agent | `pi uninstall ponytail` | +| Cursor / Windsurf / Cline / Qoder / etc. | कॉपी की गई rule file को डिलीट करें | + +यह plugin की अपनी फाइलें हटा देते हैं। पर ponytail plugin folder के बाहर थोड़ा सा state छोड़ देता है: mode flag, `~/.config/ponytail/config.json`, और (अगर आपने setup nudge accept किया था) `~/.claude/settings.json` में एक `statusLine` entry। इन्हें भी साफ करने के लिए `node scripts/uninstall.js` चलाएं। **इसे ऊपर वाले host remove command से पहले चलाएं** — यह script खुद भी plugin की फाइल है, तो पहले plugin हटाने से यह भी डिलीट हो जाएगी (या इसे इस रिपो के किसी अलग clone से चलाएं)। यह statusLine entry तभी हटाता है जब वो ponytail के अपने script की तरफ इशारा कर रही हो, तो अगर आपने खुद कोई statusline सेट किया है वो छुआ नहीं जाएगा। + +## Commands + +| Command | यह क्या करता है | +|---------|--------------| +| `/ponytail [lite \| full \| ultra \| off]` | intensity सेट करें, या बंद करें। बिना argument के current level दिखाता है। | +| `/ponytail-review` | current diff को over-engineering के लिए रिव्यू करता है, एक delete-list वापस देता है। | +| `/ponytail-audit` | पूरे repo को over-engineering के लिए ऑडिट करता है, सिर्फ diff नहीं। | +| `/ponytail-debt` | आपके टाले हुए `ponytail:` shortcuts को इकट्ठा करके एक ledger बनाता है, ताकि "बाद में" कभी "कभी नहीं" न बन जाए। | +| `/ponytail-gain` | benchmark से मापा गया असर (कम कोड, कम cost, ज़्यादा speed) दिखाता है। | +| `/ponytail-help` | ऊपर वाले commands के लिए quick reference। | + +Commands के लिए skill-capable host चाहिए (Claude Code, Codex, Devin CLI, OpenCode, Gemini, pi, Swival, Hermes Agent, Qoder)। Codex में यह skills हैं, `@` से invoke करें (`@ponytail-review`)। instruction-only adapters (Cursor, Windsurf, Cline, Copilot, Kiro, Antigravity) commands के बिना, सिर्फ always-on ruleset लोड करते हैं। + +## Development + +compact rule text बदलते समय, agent copies को साथ में मिलाकर रखें: + +```bash +node scripts/check-rule-copies.js +npm test +``` + +OpenClaw skill package (`.openclaw/skills/`) `skills/` से generate होता है; कोई skill बदलने के बाद `node scripts/build-openclaw-skills.js` दोबारा चलाएं, अगर यह पुराना रह गया तो test suite फेल हो जाएगा। skills को ClawHub पर publish करने के लिए, पहले एक बार `clawhub login` चलाएं, फिर `node scripts/publish-openclaw-skills.js` (यह छहों को `package.json` वाले version पर publish करता है; preview के लिए `--dry-run` पास करें)। + +correctness benchmark email और CSV checks के लिए Python spawn करता है; पहले `python3` आज़माया जाता है, फिर `python`। CSV checks के लिए `pandas` लोकली installed होना चाहिए। + +## FAQ + +**क्या मैं इसे [caveman](https://github.com/JuliusBrussee/caveman) के साथ इस्तेमाल कर सकता हूँ?** +हाँ, और आपको करना भी चाहिए। Caveman कम करता है कि agent क्या कहता है, ponytail कम करता है कि वो क्या बनाता है। दोनों अलग-अलग हिस्से हैं, कोई overlap नहीं: caveman कोड को बिल्कुल वैसा ही रहने देता है, ponytail prose में दखल नहीं देता। छोटी बात, न्यूनतम कोड। + +**क्या इसके लिए config file चाहिए?** +नहीं। एक optional `~/.config/ponytail/config.json` या `PONYTAIL_DEFAULT_MODE` env var default level सेट कर सकता है, पर कुछ भी ज़रूरी नहीं है। + +**अगर मुझे सच में वो 120-लाइन वाली cache class चाहिए तो?** +आपको नहीं चाहिए। फिर भी ज़िद करें तो वो बना देगा। धीरे-धीरे। सही तरीके से। आपकी तरफ देखते हुए। + +**क्या यह scale करता है?** +जो कोड आपने कभी लिखा ही नहीं, वो अनंत तक scale करता है। हमेशा से zero bugs, zero CVEs, 100% uptime। + +**नाम "ponytail" क्यों?** +आप वजह अच्छी तरह जानते हैं। + +## Sponsors + +

+ + + + GreenPT + + +

+ +## License + +[MIT](LICENSE). सबसे छोटा license जो काम करता है। + +## Star History + + + + + + Star History Chart + + \ No newline at end of file diff --git a/README.pa.md b/README.pa.md new file mode 100644 index 00000000..8ae38220 --- /dev/null +++ b/README.pa.md @@ -0,0 +1,351 @@ +

+ + + Ponytail, the lazy senior dev + +

+ +

Ponytail

+ +

+ ਉਹ ਕੁਝ ਨਹੀਂ ਕਹਿੰਦਾ। ਬੱਸ ਇੱਕ ਲਾਈਨ ਲਿਖਦਾ ਹੈ। ਤੇ ਕੰਮ ਬਣ ਜਾਂਦਾ ਹੈ। +

+ +

+ Stars + Release + npm + Works with 20 agents + MIT license +

+ +

+ DietrichGebert/ponytail | Trendshift + DietrichGebert/ponytail | Trendshift +

+ +

+ ~54% ਘੱਟ ਕੋਡ (94% ਤੱਕ) · ~20% ਸਸਤਾ · ~27% ਤੇਜ਼ · 100% ਸੁਰੱਖਿਅਤ
+ ਇਹ ਨਤੀਜੇ ਅਸਲੀ Claude Code ਸੈਸ਼ਨਾਂ 'ਤੇ ਮਾਪੇ ਗਏ ਹਨ, ਜਿੱਥੇ ਇੱਕ ਅਸਲੀ ਓਪਨ-ਸੋਰਸ ਰਿਪੋ (FastAPI + React) 'ਤੇ ਬਦਲਾਅ ਕੀਤੇ ਗਏ, ਤੇ ਉਸੇ ਏਜੰਟ ਨਾਲ ਬਿਨਾਂ ਕਿਸੇ skill ਦੇ ਤੁਲਨਾ ਕੀਤੀ ਗਈ। ~54% ਦੀ ਔਸਤ 12 ਫੀਚਰ ਟਾਸਕਾਂ 'ਤੇ ਆਧਾਰਿਤ ਹੈ (Haiku 4.5, n=4); ਜਿੱਥੇ ਏਜੰਟ ਲੋੜ ਤੋਂ ਵੱਧ ਬਣਾ ਦਿੰਦਾ ਹੈ (ਜਿਵੇਂ date picker) ਉੱਥੇ ਇਹ 94% ਤੱਕ ਪਹੁੰਚ ਜਾਂਦਾ ਹੈ, ਤੇ ਜਿੱਥੇ ਕੋਡ ਪਹਿਲਾਂ ਹੀ ਘੱਟੋ-ਘੱਟ ਹੈ ਉੱਥੇ ਲਗਭਗ ਸਿਫ਼ਰ ਰਹਿੰਦਾ ਹੈ। ponytail ਹਰ safety guard ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਦਾ ਹੈ, ਜਦਕਿ ਸਿਰਫ਼ "ਇੱਕ ਲਾਈਨ ਲਿਖੋ" ਵਾਲਾ prompt ਇੱਕ guard ਗੁਆ ਦਿੰਦਾ ਹੈ। (ਪਹਿਲੇ ਵਾਲੇ single-shot ਬੈਂਚਮਾਰਕ ਵਿੱਚ 80-94% ਇੱਕ ਫਲੈਟ ਅੰਕੜੇ ਵਜੋਂ ਦੱਸਿਆ ਗਿਆ ਸੀ; ਇੱਕ ਨਿਰਪੱਖ agentic baseline ਦੇ ਮੁਕਾਬਲੇ ਇਹ ਹਰ ਟਾਸਕ ਲਈ ਵੱਧ ਤੋਂ ਵੱਧ ਹੱਦ ਹੈ, ਔਸਤ ਨਹੀਂ।) ਪੂਰੀ ਜਾਣਕਾਰੀ · ਖੁਦ ਅਜ਼ਮਾਓ. +

+ +

+ Español · 한국어 +

+ +--- + +

+ Something's coming, join the waitlist +

+ +ਤੁਸੀਂ ਉਸਨੂੰ ਜਾਣਦੇ ਹੋ। ਲੰਬੀ ਪੋਨੀਟੇਲ। ਅੰਡਾਕਾਰ ਐਨਕਾਂ। ਕੰਪਨੀ ਵਿੱਚ ਵਰਜ਼ਨ ਕੰਟਰੋਲ ਤੋਂ ਵੀ ਪੁਰਾਣਾ ਹੈ। ਤੁਸੀਂ ਉਸਨੂੰ ਪੰਜਾਹ ਲਾਈਨਾਂ ਦਿਖਾਉਂਦੇ ਹੋ, ਉਹ ਦੇਖਦਾ ਹੈ, ਕੁਝ ਨਹੀਂ ਬੋਲਦਾ, ਤੇ ਉਹਨਾਂ ਨੂੰ ਇੱਕ ਲਾਈਨ ਨਾਲ ਬਦਲ ਦਿੰਦਾ ਹੈ। + +Ponytail ਉਸਨੂੰ ਤੁਹਾਡੇ AI ਏਜੰਟ ਦੇ ਅੰਦਰ ਬਿਠਾ ਦਿੰਦਾ ਹੈ। + +## ਪਹਿਲਾਂ / ਬਾਅਦ ਵਿੱਚ + +ਤੁਸੀਂ date picker ਮੰਗਿਆ। ਤੁਹਾਡਾ ਏਜੰਟ flatpickr install ਕਰਦਾ ਹੈ, ਇੱਕ wrapper component ਲਿਖਦਾ ਹੈ, ਇੱਕ stylesheet ਜੋੜਦਾ ਹੈ, ਤੇ timezone ਬਾਰੇ ਬਹਿਸ ਸ਼ੁਰੂ ਕਰ ਦਿੰਦਾ ਹੈ। + +ponytail ਨਾਲ: + +```html + + +``` + +ਹੋਰ ਉਦਾਹਰਣਾਂ [examples/](examples/) ਵਿੱਚ ਦੇਖੋ। + +## ਅੰਕੜੇ + +ਸਭ ਤੋਂ ਇਮਾਨਦਾਰ ਮਾਪ ਇਹੀ ਹੈ ਕਿ ਇੱਕ ਅਸਲੀ ਏਜੰਟ ਅਸਲੀ ਕੰਮ ਕਰੇ: ਇੱਕ headless Claude Code ਸੈਸ਼ਨ ਨੇ [tiangolo ਦੇ full-stack-fastapi-template](https://github.com/fastapi/full-stack-fastapi-template) (ਇੱਕ ਅਸਲੀ FastAPI + React ਰਿਪੋ) ਵਿੱਚ ਬਦਲਾਅ ਕੀਤੇ, ਤੇ ਇਸਦਾ ਸਕੋਰ ਉਸ `git diff` ਤੋਂ ਮਾਪਿਆ ਗਿਆ ਜੋ ਪਿੱਛੇ ਰਹਿ ਗਿਆ। ਬਾਰਾਂ ਫੀਚਰ ਟਿਕਟ, ਇੱਕੋ ਏਜੰਟ skill ਨਾਲ ਤੇ ਬਿਨਾਂ skill ਦੇ, n=4, Haiku 4.5. + +

+ Each arm as a percent of the no-skill baseline across LOC, tokens, cost and time (Haiku 4.5). ponytail is lowest on every metric (LOC 46%, tokens 78%, cost 80%, time 73%); caveman rises above 100% on tokens, cost and time; yagni-oneliner LOC 67%. Safety, separate adversarial tier: baseline, caveman and ponytail 100%, yagni-oneliner 95%. +

+ +| no-skill baseline ਦੇ ਮੁਕਾਬਲੇ | LOC | tokens | cost | time | safe | +|---|--:|--:|--:|--:|--:| +| **ponytail** | **-54%** | **-22%** | **-20%** | **-27%** | **100%** | +| caveman (terse-prose control) | -20% | +7% | +3% | +2% | 100% | +| "YAGNI + one-liners" prompt | -33% | -14% | -21% | -30% | 95% | + +ponytail ਇਕੱਲਾ ਅਜਿਹਾ arm ਹੈ ਜੋ ਹਰ metric ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ, ਤੇ ਇਕੱਲਾ ਹੀ ਹੈ ਜੋ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸੁਰੱਖਿਅਤ ਵੀ ਰਹਿੰਦਾ ਹੈ। ਸਭ ਤੋਂ ਵੱਡੀ ਕਟੌਤੀ ਉੱਥੇ ਹੁੰਦੀ ਹੈ ਜਿੱਥੇ over-build ਦਾ ਅਸਲੀ ਖ਼ਤਰਾ ਹੋਵੇ (date picker 404 ਤੋਂ 23 ਲਾਈਨਾਂ ਤੱਕ, color picker 287 ਤੋਂ 23 ਤੱਕ, ਕਿਉਂਕਿ ਇਹ component ਦੀ ਥਾਂ native `` ਵਰਤਦਾ ਹੈ), ਤੇ ਜਿੱਥੇ ਕੋਡ ਪਹਿਲਾਂ ਹੀ ਘੱਟੋ-ਘੱਟ ਹੈ ਉੱਥੇ ਇਹ ਲਗਭਗ ਸਿਫ਼ਰ ਰਹਿੰਦਾ ਹੈ। ਪੂਰਾ ਤਰੀਕਾ, ਹਰ ਟਾਸਕ ਦੀ ਟੇਬਲ, ਤੇ ਸੀਮਾਵਾਂ ਇੱਥੇ ਦੇਖੋ: [benchmarks/results/2026-06-18-agentic.md](benchmarks/results/2026-06-18-agentic.md). + +
+ਪੁਰਾਣੇ single-shot ਅੰਕੜੇ (isolated generation) + +ਪੰਜ ਰੋਜ਼ਾਨਾ ਦੇ ਟਾਸਕ, ਤਿੰਨ ਮਾਡਲ, ਤਿੰਨ arms (ਬਿਨਾਂ skill, [caveman](https://github.com/JuliusBrussee/caveman), ponytail), ਦਸ runs, median ਰਿਪੋਰਟ ਕੀਤਾ ਗਿਆ। ਇੱਕ prompt, ਇੱਕ completion, ਜਵਾਬ ਦੀਆਂ ਲਾਈਨਾਂ ਗਿਣੀਆਂ ਗਈਆਂ: + +

+ Median lines of code per arm across Haiku, Sonnet and Opus +

+ +ਇਸ ਵਿੱਚ **80-94% ਘੱਟ ਕੋਡ** ਦਿਖਾਈ ਦਿੱਤਾ। [#126](https://github.com/DietrichGebert/ponytail/issues/126) ਨੇ ਸਹੀ ਗੱਲ ਦੱਸੀ ਕਿ bare-model baseline ਆਪਣੇ ਜਵਾਬ ਨੂੰ prose ਤੇ options ਨਾਲ ਭਰ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਇਹ ਫ਼ਰਕ ਕੁਝ ਹੱਦ ਤੱਕ conversational-baseline ਦਾ ਹੀ ਨਤੀਜਾ ਹੈ। ਉੱਪਰ ਦਿੱਤੇ agentic ਅੰਕੜੇ ਹੀ ਸਹੀ ਤੇ ਭਰੋਸੇਯੋਗ ਵਰਜ਼ਨ ਹਨ। single-shot run ਖੁਦ ਚਲਾਉਣ ਲਈ `npx promptfoo eval -c benchmarks/promptfooconfig.yaml` ਵਰਤੋ। + +
+ +**ਨਿਯਮ ਕਦੇ ਵੀ "ਸਭ ਤੋਂ ਘੱਟ tokens" ਦਾ ਨਹੀਂ ਸੀ।** ਨਿਯਮ ਇਹ ਹੈ: ਸਿਰਫ਼ ਓਹੀ ਲਿਖੋ ਜੋ ਟਾਸਕ ਨੂੰ ਚਾਹੀਦਾ, ਤੇ validation, error handling, security, ਜਾਂ accessibility ਨਾਲ ਕਦੇ ਸਮਝੌਤਾ ਨਾ ਕਰੋ। ਕੋਡ ਛੋਟਾ ਇਸ ਲਈ ਹੁੰਦਾ ਹੈ ਕਿਉਂਕਿ ਉਹ ਜ਼ਰੂਰੀ ਹੈ, golf ਖੇਡ ਕੇ ਨਹੀਂ ਬਣਾਇਆ ਗਿਆ। ਜਿਹੜੇ ਮਾਡਲ ਇਸ ladder ਨੂੰ follow ਕਰਦੇ ਹਨ ਉਹਨਾਂ ਵਿੱਚ ਘੱਟ cost ਤੇ latency ਇੱਕ ਸਾਈਡ-ਇਫੈਕਟ ਹੈ; ਪਰ ਜੋ terse reasoning model ਹਰ rung 'ਤੇ ਸੋਚਣ ਵਿੱਚ tokens ਖ਼ਰਚ ਕਰਦਾ ਹੈ, ਉਹ ਉਲਟਾ ਵੀ ਹੋ ਸਕਦਾ ਹੈ (GPT-5.5 'ਤੇ ਇੰਝ ਹੀ ਹੁੰਦਾ ਹੈ)। + +## ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ + +ਕੋਡ ਲਿਖਣ ਤੋਂ ਪਹਿਲਾਂ, ਏਜੰਟ ਪਹਿਲਾਂ ਉਸ rung 'ਤੇ ਰੁਕਦਾ ਹੈ ਜੋ ਸਹੀ ਬੈਠੇ: + +``` +1. ਕੀ ਇਸਦੀ ਲੋੜ ਹੈ? → ਨਹੀਂ: ਛੱਡ ਦਿਓ (YAGNI) +2. ਇਹ codebase ਵਿੱਚ ਪਹਿਲਾਂ ਹੀ ਹੈ? → ਦੁਬਾਰਾ ਵਰਤੋ, ਨਵਾਂ ਨਾ ਲਿਖੋ +3. stdlib ਇਹ ਕਰਦਾ ਹੈ? → ਇਸਨੂੰ ਵਰਤੋ +4. native platform feature? → ਇਸਨੂੰ ਵਰਤੋ +5. ਪਹਿਲਾਂ ਤੋਂ installed dependency? → ਇਸਨੂੰ ਵਰਤੋ +6. ਇੱਕ ਲਾਈਨ ਵਿੱਚ ਹੋ ਸਕਦਾ ਹੈ? → ਇੱਕ ਲਾਈਨ ਲਿਖੋ +7. ਤਦ ਹੀ: ਜਿੰਨਾ ਜ਼ਰੂਰੀ ਹੋਵੇ ਓਨਾ ਹੀ +``` + +ਇਹ ladder ਸਮੱਸਿਆ ਨੂੰ ਸਮਝਣ ਦੇ *ਬਾਅਦ* ਚੱਲਦਾ ਹੈ, ਸਮਝਣ ਦੀ ਥਾਂ ਨਹੀਂ: ਇਹ ਪਹਿਲਾਂ ਉਹ ਕੋਡ ਪੜ੍ਹਦਾ ਹੈ ਜਿਸਨੂੰ ਬਦਲਾਅ ਛੂੰਹਦਾ ਹੈ ਤੇ ਅਸਲੀ flow ਨੂੰ trace ਕਰਦਾ ਹੈ, ਫਿਰ ਸਹੀ rung ਚੁਣਦਾ ਹੈ। solution ਦੇ ਮਾਮਲੇ ਵਿੱਚ ਆਲਸੀ ਹੈ, ਪੜ੍ਹਨ ਦੇ ਮਾਮਲੇ ਵਿੱਚ ਕਦੇ ਨਹੀਂ। + +ਆਲਸੀ ਹੈ, ਲਾਪਰਵਾਹ ਨਹੀਂ: trust-boundary validation, data-loss handling, security, ਤੇ accessibility ਕਦੇ ਵੀ ਨਹੀਂ ਕੱਟੀਆਂ ਜਾਂਦੀਆਂ। + +## Install + +ponytail ਤੁਹਾਡੇ ਤੋਂ ਬੱਸ ਇੰਨੀ ਹੀ ਮਿਹਨਤ ਮੰਗੇਗਾ: + +Claude Code ਤੇ Codex plugins ਦੋ ਛੋਟੇ Node.js lifecycle hooks ਚਲਾਉਂਦੇ ਹਨ, ਇਸ ਲਈ `node` ਤੁਹਾਡੇ PATH ਵਿੱਚ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ (Nix/nvm ਯੂਜ਼ਰਾਂ ਲਈ ਨੋਟ: ਇਹ non-interactive shell ਦੇ PATH ਵਿੱਚ ਵੀ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ)। ਜੇ ਨਹੀਂ ਹੈ, ਤਾਂ skills ਫਿਰ ਵੀ ਕੰਮ ਕਰਨਗੀਆਂ, ਬੱਸ always-on activation ਚੁੱਪ ਰਹੇਗਾ, ਹਰ prompt 'ਤੇ error ਨਹੀਂ ਦੇਵੇਗਾ। + +### Claude Code + +``` +/plugin marketplace add DietrichGebert/ponytail +``` +``` +/plugin install ponytail@ponytail +``` +(install ਕੰਮ ਕਰਨ ਲਈ ਦੋ ਵੱਖ-ਵੱਖ prompts ਭੇਜਣੇ ਪੈਣਗੇ) + +Claude Code Desktop app ਦੇ Code ਟੈਬ ਵਿੱਚ ਵੀ ਓਹੀ ਕਦਮ: ਉੱਪਰ ਦਿੱਤੇ ਦੋਵੇਂ `/plugin` ਕਮਾਂਡ prompt box ਵਿੱਚ ਟਾਈਪ ਕਰੋ, ਜਾਂ ਇਸਦੇ ਨਾਲ ਵਾਲਾ **+** ਬਟਨ ਦਬਾ ਕੇ, **Plugins** → **Add plugin** ਚੁਣ ਕੇ ਆਪਣੀਆਂ configured marketplaces ਦੇਖੋ, ਤੇ marketplaces ਨੂੰ sidebar ਦੇ **Customize** ਤੋਂ ਮੈਨੇਜ ਕਰੋ। + +### Codex + +```bash +codex plugin marketplace add DietrichGebert/ponytail +codex plugin add ponytail@ponytail +``` + +`codex` ਚਲਾਓ ਤੇ `/hooks` ਖੋਲ੍ਹੋ, ਇਸਦੇ ਦੋਵੇਂ lifecycle hooks ਨੂੰ ਦੇਖ ਕੇ trust ਕਰੋ, ਤੇ ਇੱਕ ਨਵਾਂ thread ਸ਼ੁਰੂ ਕਰੋ। + +ਇਹੀ install Codex desktop app ਲਈ ਵੀ ਕੰਮ ਕਰਦਾ ਹੈ: install ਕਰਨ ਤੋਂ ਬਾਅਦ app ਨੂੰ restart ਕਰੋ, ਇਹ plugin ਆਪਣੇ ਆਪ ਲੈ ਲਵੇਗਾ। + +### GitHub Copilot CLI + +```bash +copilot plugin marketplace add DietrichGebert/ponytail +copilot plugin install ponytail@ponytail +``` + +interactive Copilot CLI ਸੈਸ਼ਨ ਵਿੱਚ, slash equivalents ਵਰਤੋ: + +``` +/plugin marketplace add DietrichGebert/ponytail +/plugin install ponytail@ponytail +``` + +Copilot CLI plugin commands ਨੂੰ plugin ਦੇ ਨਾਂ ਨਾਲ namespace ਕਰਦਾ ਹੈ। ਜਿਵੇਂ: + +```text +/ponytail:ponytail ultra +/ponytail:ponytail-review +``` + +### Pi agent harness + +``` +pi install git:github.com/DietrichGebert/ponytail +``` + +### OpenCode + +`opencode.json` ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ: + +```json +{ "plugin": ["@dietrichgebert/ponytail"] } +``` + +checkout ਤੋਂ ਸਿੱਧਾ ਚਲਾਉਣ ਲਈ (plugin `hooks/` ਤੇ `skills/` ਨੂੰ ਦੁਬਾਰਾ ਵਰਤਦਾ ਹੈ): + +```json +{ "plugin": ["./.opencode/plugins/ponytail.mjs"] } +``` + +ਇਹ ਹਰ turn 'ਤੇ active level 'ਤੇ ruleset ਪਾਉਂਦਾ ਹੈ; `/ponytail` commands ਜੋੜਦਾ ਹੈ (ਦੇਖੋ [Commands](#commands))। OpenCode ਇਸ ਰਿਪੋ ਦੀ `AGENTS.md` ਨੂੰ ਵੀ ਆਪਣੇ ਆਪ ਲੋਡ ਕਰ ਲੈਂਦਾ ਹੈ, ਤਾਂ plugin ਤੋਂ ਬਿਨਾਂ ਵੀ rules ਕੰਮ ਕਰਦੇ ਰਹਿੰਦੇ ਹਨ। plugin `lite/full/ultra/off` levels ਜੋੜਦਾ ਹੈ। + +`./` ਵਾਲਾ path ਤੁਹਾਡੇ project ਦੀ `opencode.json` ਦੇ ਹਿਸਾਬ ਨਾਲ resolve ਹੁੰਦਾ ਹੈ; ਇੱਕੋ checkout ਨੂੰ ਕਈ projects ਵਿੱਚ ਸ਼ੇਅਰ ਕਰਨ ਲਈ `.mjs` ਦਾ absolute path ਪਾਓ (ਇਹ ਆਪਣੇ `hooks/` ਤੇ `skills/` ਨੂੰ ਆਪਣੀ ਫਾਈਲ ਦੇ ਹਿਸਾਬ ਨਾਲ ਹੀ ਲੱਭ ਲੈਂਦਾ ਹੈ)। + +### Gemini CLI + +```bash +gemini extensions install https://github.com/DietrichGebert/ponytail +``` + +ਇਹ ਹਰ ਸੈਸ਼ਨ ਵਿੱਚ ruleset ਨੂੰ always-on context ਵਜੋਂ ਲੋਡ ਕਰਦਾ ਹੈ ਤੇ `/ponytail` commands ਰਜਿਸਟਰ ਕਰਦਾ ਹੈ; `skills/` ਵੀ ਨਾਲ ਆਉਂਦੀਆਂ ਹਨ, ਜੋ ਲੋੜ ਪੈਣ 'ਤੇ activate ਹੁੰਦੀਆਂ ਹਨ। +Gemini adapter ਜਾਣ ਬੁੱਝ ਕੇ root `hooks/hooks.json` ਨਹੀਂ ਭੇਜਦਾ: Gemini ਉਸ path ਨੂੰ ਆਪਣੇ ਆਪ ਲੋਡ ਕਰ ਲੈਂਦਾ ਹੈ, ਜਦਕਿ Ponytail ਦੇ lifecycle hooks Claude/Codex ਦੇ event names ਵਰਤਦੇ ਹਨ। + +### Qoder + +Qoder repo root ਤੋਂ `AGENTS.md` ਨੂੰ always-on context ਵਜੋਂ ਆਪਣੇ ਆਪ ਲੋਡ ਕਰ ਲੈਂਦਾ ਹੈ, ਤਾਂ checkout ਤੋਂ ponytail ਚਲਾਉਣ ਲਈ ਕੋਈ setup ਨਹੀਂ ਚਾਹੀਦਾ। per-project rules ਲਈ, [`.qoder/rules/ponytail.md`](.qoder/rules/ponytail.md) ਨੂੰ ਆਪਣੇ project ਦੀ `.qoder/rules/` ਵਿੱਚ ਕਾਪੀ ਕਰੋ। ਛੇ ponytail skills (`/ponytail`, `/ponytail-review`, `/ponytail-audit`, `/ponytail-debt`, `/ponytail-gain`, `/ponytail-help`) Qoder ਦੇ Skill system ਤੋਂ ਉਪਲਬਧ ਹਨ; [`.qoder-plugin/plugin.json`](.qoder-plugin/plugin.json) ਵਿੱਚ plugin manifest `skills/` directory ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ। + +ਪੂਰੇ plugin-tier support ਲਈ (automatic mode activation + ਹਰ prompt 'ਤੇ ruleset injection), [`hooks/qoder-hooks.json`](hooks/qoder-hooks.json) ਦੇ hooks ਨੂੰ ਆਪਣੀ `.qoder/settings.json` ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ। `PONYTAIL_DIR` ਨੂੰ ਆਪਣੇ ponytail checkout ਦੇ path ਨਾਲ ਬਦਲ ਦਿਓ। Qoder ਦਾ `UserPromptSubmit` hook ਪਹਿਲੇ prompt 'ਤੇ default mode activate ਕਰਦਾ ਹੈ ਤੇ ਹਰ turn 'ਤੇ ruleset ਪਾਉਂਦਾ ਹੈ; `PreToolUse` `task|Task` matcher ਨਾਲ subagents ਵਿੱਚ ruleset ਪਾਉਂਦਾ ਹੈ। Level switches (`/ponytail lite|full|ultra|off`) ਆਪਣੇ ਆਪ ਕੰਮ ਕਰਦੇ ਹਨ। + +### Antigravity CLI + +Google, Gemini CLI ਦਾ ਨਾਂ ਬਦਲ ਕੇ Antigravity CLI (`agy` binary) ਕਰ ਰਿਹਾ ਹੈ; ਓਹੀ extension ਉੱਥੇ ਵੀ install ਹੁੰਦਾ ਹੈ: + +```bash +agy plugin install https://github.com/DietrichGebert/ponytail +``` + +ਇਹ ਇਸ ਰਿਪੋ ਦੀ `gemini-extension.json` ਨੂੰ ਹੀ ਵਰਤਦਾ ਹੈ। ਇੱਕ ਫ਼ਰਕ ਹੈ: Antigravity `/ponytail` commands ਨੂੰ skills ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ slash menu ਤੋਂ ਚੁਣਨ ਦੀ ਬਜਾਏ chat ਵਿੱਚ ਟਾਈਪ ਕਰਦੇ ਹੋ (ਜਿਵੇਂ `/ponytail-review` ਇੱਕ ਮੈਸੇਜ ਵਾਂਗ)। migration ਪੂਰੀ ਹੋਣ ਤੱਕ (ਲਗਭਗ 18 ਜੂਨ, 2026), `gemini extensions install` ਵੀ ਕੰਮ ਕਰਦਾ ਰਹੇਗਾ। ਇਸਨੂੰ always-on rule ਵਾਂਗ ਚਲਾਉਣ ਲਈ, ruleset ਨੂੰ `.agents/rules/` ਵਿੱਚ ਪਾ ਦਿਓ। + +### Hermes Agent + +```bash +hermes plugins install DietrichGebert/ponytail --enable +``` + +install ਕਰਨ ਤੋਂ ਬਾਅਦ Hermes ਨੂੰ restart ਕਰੋ। plugin ਹਰ LLM turn ਤੋਂ ਪਹਿਲਾਂ active Ponytail mode ਪਾਉਂਦਾ ਹੈ, bundled skills ਨੂੰ `ponytail:` ਦੇ ਨਾਂ ਨਾਲ ਰਜਿਸਟਰ ਕਰਦਾ ਹੈ, ਤੇ `/ponytail`, `/ponytail-review`, `/ponytail-audit`, `/ponytail-debt`, `/ponytail-gain`, ਤੇ `/ponytail-help` ਜੋੜਦਾ ਹੈ। shared gateways ਵਿੱਚ, `/ponytail` ਨੂੰ Hermes ਦੇ slash-command access controls ਨਾਲ ਸਿਰਫ਼ trusted users ਤੱਕ ਸੀਮਤ ਰੱਖੋ; runtime mode process-local ਹੁੰਦਾ ਹੈ। + +### CodeWhale + +project root ਤੋਂ `AGENTS.md` ਪੜ੍ਹਦਾ ਹੈ, ਕੋਈ setup ਨਹੀਂ ਚਾਹੀਦਾ। [`AGENTS.md`](AGENTS.md) ਨੂੰ ਆਪਣੇ project ਵਿੱਚ ਕਾਪੀ ਕਰੋ, ਜਾਂ ਇਸ ਰਿਪੋ ਦੇ checkout ਤੋਂ `codewhale` ਚਲਾਓ। ਬੱਸ ਇੰਨਾ ਹੀ। + +### Swival + +ਪਹਿਲਾਂ collection ਨੂੰ ਆਪਣੀ library ਵਿੱਚ stage ਕਰੋ, ਫਿਰ ਜੋ skills ਚਾਹੀਦੀਆਂ ਓਹ ਸ਼ਾਮਲ ਕਰੋ: + +```bash +swival skills add --global https://github.com/DietrichGebert/ponytail # ~/.config/swival/library ਵਿੱਚ stage ਕਰੋ +swival skills add ponytail # collection ਨੂੰ ਇਸ project ਵਿੱਚ install ਕਰੋ +swival skills add --global ponytail # ਜਾਂ ਇਸਨੂੰ ਹਰ project ਵਿੱਚ activate ਕਰੋ +``` + +Swival project root ਤੋਂ `AGENTS.md` ਤੇ globally `~/.config/swival/AGENTS.md` ਵੀ ਪੜ੍ਹਦਾ ਹੈ, ਇਹ instruction-only fallback ਹੈ। + +command line 'ਤੇ, ਕਿਸੇ skill ਨੂੰ ਸਿੱਧਾ activate ਕਰਨ ਲਈ `$` prefix ਵਰਤੋ। ਜਿਵੇਂ: `$ponytail-review`. + +### Devin CLI + +```bash +devin plugins install DietrichGebert/ponytail +``` + +ponytail ਨੂੰ Devin plugin ਵਜੋਂ install ਕਰਦਾ ਹੈ; skills `/ponytail:ponytail`, `/ponytail:ponytail-review` ਆਦਿ ਵਜੋਂ ਉਪਲਬਧ ਹੁੰਦੀਆਂ ਹਨ। + +### OpenClaw + +```bash +clawhub install ponytail +``` + +ponytail ਨੂੰ ClawHub ਤੋਂ OpenClaw skill ਵਜੋਂ install ਕਰਦਾ ਹੈ; review, audit, debt, gain, ਤੇ help skills ਵੀ ਓਸੇ ਤਰ੍ਹਾਂ install ਹੁੰਦੀਆਂ ਹਨ (`clawhub install ponytail-review`, ਆਦਿ)। OpenClaw ਇਸਨੂੰ coding tasks 'ਤੇ ਲਾਗੂ ਕਰਦਾ ਹੈ ਤੇ `/ponytail` command ਵਜੋਂ ਵੀ ਦਿਖਾਉਂਦਾ ਹੈ। ClawHub ਤੋਂ ਬਿਨਾਂ, [`.openclaw/skills/ponytail`](.openclaw/skills/) ਨੂੰ `~/.openclaw/skills/` ਵਿੱਚ ਕਾਪੀ ਕਰੋ। + +ਬੱਸ ਇੰਨਾ ਹੀ ਸੀ। ਉਸਨੂੰ ਮਾਣ ਹੁੰਦਾ। ਪਰ ਉਹ ਕਹੇਗਾ ਨਹੀਂ। + +ਹਰ ਸੈਸ਼ਨ ਵਿੱਚ active ਰਹਿੰਦਾ ਹੈ, ਕੁਝ commands ਨਾਲ (ਦੇਖੋ [Commands](#commands))। `/ponytail ultra` ਉਹਨਾਂ ਪਲਾਂ ਲਈ ਹੈ ਜਦੋਂ codebase ਨੇ ਤੁਹਾਡੇ ਨਾਲ ਨਿੱਜੀ ਤੌਰ 'ਤੇ ਗ਼ਲਤ ਕੀਤਾ ਹੋਵੇ। Startup ਤੇ mode-change text ਵਿੱਚ current mode ਦਿਖਦਾ ਹੈ। + +ਹਰ ਨਵੇਂ ਸੈਸ਼ਨ ਲਈ level ਸੈੱਟ ਕਰਨ ਲਈ `PONYTAIL_DEFAULT_MODE` env var (`lite`/`full`/`ultra`/`off`) ਵਰਤੋ, ਜਾਂ `~/.config/ponytail/config.json` (Windows 'ਤੇ `%APPDATA%\ponytail\config.json`) ਵਿੱਚ `defaultMode` ਫੀਲਡ ਪਾਓ। default `full` ਹੈ। + +active ਰਹਿੰਦੇ ਹੋਏ, ruleset Agent tool ਤੋਂ spawn ਹੋਣ ਵਾਲੇ ਹਰ subagent ਵਿੱਚ ਵੀ ਪਾਇਆ ਜਾਂਦਾ ਹੈ। ਇਸਨੂੰ ਖਾਸ agent types ਤੱਕ ਸੀਮਤ ਰੱਖਣ ਲਈ (ਜਿਵੇਂ read-only search agents 'ਤੇ ਬੰਦ ਰੱਖਣਾ), `PONYTAIL_SUBAGENT_MATCHER` env var ਨੂੰ ਇੱਕ regex 'ਤੇ ਸੈੱਟ ਕਰੋ ਜੋ subagent ਦੇ `agent_type` 'ਤੇ ਟੈਸਟ ਹੋਵੇਗਾ। ਇਹ unanchored ਤੇ case-insensitive ਹੈ: `explore|general` ਦੋਵਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਨਾਲ ਮੈਚ ਕਰੇਗਾ, `^general$` exact ਹੈ, ਤੇ plugin agent types `plugin:name` ਵਾਂਗ ਦਿਖਦੇ ਹਨ। ਜੇ ਸੈੱਟ ਨਹੀਂ ਕੀਤਾ ਤਾਂ ਹਰ subagent ਵਿੱਚ inject ਹੋਵੇਗਾ (ਇਹੀ default ਹੈ); ਗ਼ਲਤ regex, ਜਾਂ ਅਜਿਹਾ subagent ਜਿਸਦਾ type platform ਨਹੀਂ ਦੱਸਦਾ, ਓਥੇ ਵੀ inject ਕਰਨਾ ਹੀ default ਰਹੇਗਾ। + +Cursor, Windsurf, Cline, GitHub Copilot Chat (VS Code, JetBrains, ਤੇ Visual Studio ਦਾ editor extension, standalone Copilot CLI ਨਹੀਂ ਜੋ [Install](#install) ਵਿੱਚ ਉੱਪਰ ਦੱਸਿਆ ਗਿਆ ਹੈ), Aider, Kiro, Zed, CodeWhale, Swival, Qoder: ਇਸ ਰਿਪੋ ਤੋਂ matching rules file ਕਾਪੀ ਕਰੋ ([`.cursor/rules/`](.cursor/rules/), [`.windsurf/rules/`](.windsurf/rules/), [`.clinerules/`](.clinerules/), [`.github/copilot-instructions.md`](.github/copilot-instructions.md), [`AGENTS.md`](AGENTS.md), [`.kiro/steering/`](.kiro/steering/), [`.qoder/rules/`](.qoder/rules/))। + +Kiro: `.kiro/steering/ponytail.md` ਨੂੰ `~/.kiro/steering/` (global) ਜਾਂ ਆਪਣੇ project ਦੀ `.kiro/steering/` ਵਿੱਚ ਕਾਪੀ ਕਰੋ। + +GitHub Copilot CLI fallback (instruction-only mode): ਇਹ ਕਿਸੇ project ਵਿੱਚ `AGENTS.md` ਤੇ `.github/copilot-instructions.md` ਪੜ੍ਹਦਾ ਹੈ, ਜਾਂ ਹਰ project ਵਿੱਚ ponytail ਚਲਾਉਣ ਲਈ rules ਨੂੰ `~/.copilot/copilot-instructions.md` ਵਿੱਚ ਕਾਪੀ ਕਰੋ। ਇਸ ਤਰੀਕੇ ਨਾਲ always-on guidance ਤਾਂ ਮਿਲਦੀ ਹੈ, ਪਰ plugin mode switches ਜਾਂ hooks ਨਹੀਂ ਜੁੜਦੇ। + +Codex extension ਵਾਲਾ VS Code `AGENTS.md` ਪੜ੍ਹਦਾ ਹੈ, ਜੋ ਇਹ ਰਿਪੋ ਪਹਿਲਾਂ ਤੋਂ ਭੇਜਦੀ ਹੈ, ਤਾਂ ਇਹ ਰਿਪੋ ਦੇ root ਤੋਂ ਬਿਨਾਂ ਕਿਸੇ setup ਦੇ ਕੰਮ ਕਰਦਾ ਹੈ (`~/.codex/AGENTS.md` Codex ਨੂੰ global ਬਣਾ ਦਿੰਦਾ ਹੈ)। + +JetBrains Junie `AGENTS.md` ਤਦੇ ਹੀ ਪੜ੍ਹ ਸਕਦਾ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਇਸਨੂੰ Settings → Tools → Junie → Project Settings → Guidelines Path ਵਿੱਚ ਦੱਸੋ (ਇਹ ਹਾਲੇ automatic ਨਹੀਂ ਹੈ)। ਇਹ ਰਿਪੋ `AGENTS.md` ਭੇਜਦੀ ਹੈ; `.junie/guidelines.md` Junie ਦਾ ਪੁਰਾਣਾ path ਹੈ। + +Amp (Sourcegraph) working directory ਤੇ parent directories ਤੋਂ `$HOME` ਤੱਕ `AGENTS.md` ਪੜ੍ਹਦਾ ਹੈ, ਜੋ ਇਹ ਰਿਪੋ ਭੇਜਦੀ ਹੈ, ਤਾਂ ਇਹ ਬਿਨਾਂ setup ਦੇ ਕੰਮ ਕਰਦਾ ਹੈ (`~/.config/amp/AGENTS.md` globally ਕੰਮ ਕਰਦਾ ਹੈ)। + +Jules (Google) repository root ਤੋਂ `AGENTS.md` ਪੜ੍ਹਦਾ ਹੈ, ਜੋ ਇਹ ਰਿਪੋ ਭੇਜਦੀ ਹੈ, ਤਾਂ ਇਹ ਬਿਨਾਂ ਕਿਸੇ setup ਦੇ ruleset ਲੈ ਲੈਂਦਾ ਹੈ। + +ਕਿਹੜੀ ਫਾਈਲ ਕਿਸ agent ਲਈ ਹੈ: [Agent portability](docs/agent-portability.md). + +### Uninstall + +| Host | Command | +|------|---------| +| Claude Code | `/plugin remove ponytail` | +| Codex | `codex plugin remove ponytail` | +| Devin CLI | `devin plugins remove ponytail` | +| Pi agent | `pi uninstall ponytail` | +| Cursor / Windsurf / Cline / Qoder / etc. | ਕਾਪੀ ਕੀਤੀ ਗਈ rule file ਨੂੰ ਡਿਲੀਟ ਕਰੋ | + +ਇਹ plugin ਦੀਆਂ ਆਪਣੀਆਂ ਫਾਈਲਾਂ ਹਟਾ ਦਿੰਦੇ ਹਨ। ਪਰ ponytail plugin folder ਦੇ ਬਾਹਰ ਥੋੜ੍ਹਾ ਜਿਹਾ state ਛੱਡ ਦਿੰਦਾ ਹੈ: mode flag, `~/.config/ponytail/config.json`, ਤੇ (ਜੇ ਤੁਸੀਂ setup nudge accept ਕੀਤਾ ਸੀ) `~/.claude/settings.json` ਵਿੱਚ ਇੱਕ `statusLine` entry। ਇਹਨਾਂ ਨੂੰ ਵੀ ਸਾਫ਼ ਕਰਨ ਲਈ `node scripts/uninstall.js` ਚਲਾਓ। **ਇਸਨੂੰ ਉੱਪਰ ਵਾਲੇ host remove command ਤੋਂ ਪਹਿਲਾਂ ਚਲਾਓ** — ਇਹ script ਖੁਦ ਵੀ plugin ਦੀ ਫਾਈਲ ਹੈ, ਤਾਂ ਪਹਿਲਾਂ plugin ਹਟਾਉਣ ਨਾਲ ਇਹ ਵੀ ਡਿਲੀਟ ਹੋ ਜਾਵੇਗੀ (ਜਾਂ ਇਸਨੂੰ ਇਸ ਰਿਪੋ ਦੇ ਕਿਸੇ ਵੱਖਰੇ clone ਤੋਂ ਚਲਾਓ)। ਇਹ statusLine entry ਤਦੇ ਹੀ ਹਟਾਉਂਦਾ ਹੈ ਜਦੋਂ ਓਹ ponytail ਦੇ ਆਪਣੇ script ਵੱਲ ਇਸ਼ਾਰਾ ਕਰ ਰਹੀ ਹੋਵੇ, ਤਾਂ ਜੇ ਤੁਸੀਂ ਖੁਦ ਕੋਈ statusline ਸੈੱਟ ਕੀਤਾ ਹੈ ਓਹ ਛੂਹੀ ਨਹੀਂ ਜਾਵੇਗੀ। + +## Commands + +| Command | ਇਹ ਕੀ ਕਰਦਾ ਹੈ | +|---------|--------------| +| `/ponytail [lite \| full \| ultra \| off]` | intensity ਸੈੱਟ ਕਰੋ, ਜਾਂ ਬੰਦ ਕਰੋ। ਬਿਨਾਂ argument ਦੇ current level ਦਿਖਾਉਂਦਾ ਹੈ। | +| `/ponytail-review` | current diff ਨੂੰ over-engineering ਲਈ review ਕਰਦਾ ਹੈ, ਇੱਕ delete-list ਵਾਪਸ ਦਿੰਦਾ ਹੈ। | +| `/ponytail-audit` | ਪੂਰੇ repo ਨੂੰ over-engineering ਲਈ audit ਕਰਦਾ ਹੈ, ਸਿਰਫ਼ diff ਨਹੀਂ। | +| `/ponytail-debt` | ਤੁਹਾਡੇ ਟਾਲੇ ਹੋਏ `ponytail:` shortcuts ਨੂੰ ਇਕੱਠਾ ਕਰਕੇ ਇੱਕ ledger ਬਣਾਉਂਦਾ ਹੈ, ਤਾਂ ਜੋ "ਬਾਅਦ ਵਿੱਚ" ਕਦੇ "ਕਦੇ ਨਹੀਂ" ਨਾ ਬਣ ਜਾਵੇ। | +| `/ponytail-gain` | benchmark ਤੋਂ ਮਾਪਿਆ ਗਿਆ ਅਸਰ (ਘੱਟ ਕੋਡ, ਘੱਟ cost, ਵੱਧ speed) ਦਿਖਾਉਂਦਾ ਹੈ। | +| `/ponytail-help` | ਉੱਪਰ ਦਿੱਤੇ commands ਲਈ quick reference। | + +Commands ਲਈ skill-capable host ਚਾਹੀਦਾ ਹੈ (Claude Code, Codex, Devin CLI, OpenCode, Gemini, pi, Swival, Hermes Agent, Qoder)। Codex ਵਿੱਚ ਇਹ skills ਹਨ, `@` ਨਾਲ invoke ਕਰੋ (`@ponytail-review`)। instruction-only adapters (Cursor, Windsurf, Cline, Copilot, Kiro, Antigravity) commands ਤੋਂ ਬਿਨਾਂ, ਸਿਰਫ਼ always-on ruleset ਲੋਡ ਕਰਦੇ ਹਨ। + +## Development + +compact rule text ਬਦਲਦੇ ਸਮੇਂ, agent copies ਨੂੰ ਨਾਲ ਮਿਲਾ ਕੇ ਰੱਖੋ: + +```bash +node scripts/check-rule-copies.js +npm test +``` + +OpenClaw skill package (`.openclaw/skills/`) `skills/` ਤੋਂ generate ਹੁੰਦਾ ਹੈ; ਕੋਈ skill ਬਦਲਣ ਤੋਂ ਬਾਅਦ `node scripts/build-openclaw-skills.js` ਦੁਬਾਰਾ ਚਲਾਓ, ਜੇ ਇਹ ਪੁਰਾਣਾ ਰਹਿ ਗਿਆ ਤਾਂ test suite fail ਹੋ ਜਾਵੇਗਾ। skills ਨੂੰ ClawHub 'ਤੇ publish ਕਰਨ ਲਈ, ਪਹਿਲਾਂ ਇੱਕ ਵਾਰ `clawhub login` ਚਲਾਓ, ਫਿਰ `node scripts/publish-openclaw-skills.js` (ਇਹ ਛੇਵਾਂ ਨੂੰ `package.json` ਵਾਲੇ version 'ਤੇ publish ਕਰਦਾ ਹੈ; preview ਲਈ `--dry-run` ਪਾਸ ਕਰੋ)। + +correctness benchmark email ਤੇ CSV checks ਲਈ Python spawn ਕਰਦਾ ਹੈ; ਪਹਿਲਾਂ `python3` ਅਜ਼ਮਾਇਆ ਜਾਂਦਾ ਹੈ, ਫਿਰ `python`। CSV checks ਲਈ `pandas` ਲੋਕਲੀ installed ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। + +## FAQ + +**ਕੀ ਮੈਂ ਇਸਨੂੰ [caveman](https://github.com/JuliusBrussee/caveman) ਨਾਲ ਵਰਤ ਸਕਦਾ ਹਾਂ?** +ਹਾਂ, ਤੇ ਤੁਹਾਨੂੰ ਕਰਨਾ ਵੀ ਚਾਹੀਦਾ ਹੈ। Caveman ਘਟਾਉਂਦਾ ਹੈ ਕਿ ਏਜੰਟ ਕੀ ਕਹਿੰਦਾ ਹੈ, ponytail ਘਟਾਉਂਦਾ ਹੈ ਕਿ ਉਹ ਕੀ ਬਣਾਉਂਦਾ ਹੈ। ਦੋਵੇਂ ਵੱਖ-ਵੱਖ ਹਿੱਸੇ ਹਨ, ਕੋਈ overlap ਨਹੀਂ: caveman ਕੋਡ ਨੂੰ ਬਿਲਕੁਲ ਓਹੀ ਰਹਿਣ ਦਿੰਦਾ ਹੈ, ponytail prose ਵਿੱਚ ਦਖਲ ਨਹੀਂ ਦਿੰਦਾ। ਸੰਖੇਪ ਗੱਲ, ਘੱਟੋ-ਘੱਟ ਕੋਡ। + +**ਕੀ ਇਸ ਲਈ config file ਚਾਹੀਦੀ ਹੈ?** +ਨਹੀਂ। ਇੱਕ optional `~/.config/ponytail/config.json` ਜਾਂ `PONYTAIL_DEFAULT_MODE` env var default level ਸੈੱਟ ਕਰ ਸਕਦਾ ਹੈ, ਪਰ ਕੁਝ ਵੀ ਜ਼ਰੂਰੀ ਨਹੀਂ ਹੈ। + +**ਜੇ ਮੈਨੂੰ ਸੱਚੀਂ ਓਹ 120-ਲਾਈਨ ਵਾਲੀ cache class ਚਾਹੀਦੀ ਹੋਵੇ ਤਾਂ?** +ਤੁਹਾਨੂੰ ਨਹੀਂ ਚਾਹੀਦੀ। ਫਿਰ ਵੀ ਜ਼ਿੱਦ ਕਰੋ ਤਾਂ ਉਹ ਬਣਾ ਦੇਵੇਗਾ। ਹੌਲੀ-ਹੌਲੀ। ਸਹੀ ਤਰੀਕੇ ਨਾਲ। ਤੁਹਾਡੇ ਵੱਲ ਦੇਖਦੇ ਹੋਏ। + +**ਕੀ ਇਹ scale ਕਰਦਾ ਹੈ?** +ਜੋ ਕੋਡ ਤੁਸੀਂ ਕਦੇ ਲਿਖਿਆ ਹੀ ਨਹੀਂ, ਓਹ ਬੇਅੰਤ ਤੱਕ scale ਕਰਦਾ ਹੈ। ਹਮੇਸ਼ਾ ਤੋਂ zero bugs, zero CVEs, 100% uptime। + +**ਨਾਂ "ponytail" ਕਿਉਂ?** +ਤੁਸੀਂ ਵਜ੍ਹਾ ਚੰਗੀ ਤਰ੍ਹਾਂ ਜਾਣਦੇ ਹੋ। + +## Sponsors + +

+ + + + GreenPT + + +

+ +## License + +[MIT](LICENSE). ਸਭ ਤੋਂ ਛੋਟਾ license ਜੋ ਕੰਮ ਕਰਦਾ ਹੈ। + +## Star History + + + + + + Star History Chart + + \ No newline at end of file diff --git a/README.ur.md b/README.ur.md new file mode 100644 index 00000000..a9977379 --- /dev/null +++ b/README.ur.md @@ -0,0 +1,351 @@ +

+ + + Ponytail, the lazy senior dev + +

+ +

Ponytail

+ +

+ وہ کچھ نہیں کہتا۔ بس ایک لائن لکھتا ہے۔ اور کام ہو جاتا ہے۔ +

+ +

+ Stars + Release + npm + Works with 20 agents + MIT license +

+ +

+ DietrichGebert/ponytail | Trendshift + DietrichGebert/ponytail | Trendshift +

+ +

+ ~54% کم کوڈ (94% تک) · ~20% سستا · ~27% تیز · 100% محفوظ
+ یہ نتائج اصلی Claude Code سیشنز پر ماپے گئے ہیں، جہاں ایک حقیقی اوپن سورس ریپو (FastAPI + React) پر ترمیم کی گئی، اور اسی ایجنٹ کا بغیر کسی سکل کے موازنہ کیا گیا۔ ~54% کی اوسط 12 فیچر ٹاسکس پر مبنی ہے (Haiku 4.5, n=4)؛ جہاں ایجنٹ ضرورت سے زیادہ بنا دیتا ہے (جیسے date picker) وہاں یہ 94% تک پہنچ جاتا ہے، اور جہاں کوڈ پہلے ہی کم سے کم ہے وہاں تقریباً صفر رہتا ہے۔ ponytail ہر سیفٹی گارڈ کو برقرار رکھتا ہے، جبکہ صرف "ایک لائن لکھو" والا prompt ایک گارڈ کھو دیتا ہے۔ (پہلے والے single-shot بینچ مارک میں 80-94% ایک فلیٹ عدد کے طور پر بتایا گیا تھا؛ ایک منصفانہ agentic baseline کے مقابلے میں یہ فی ٹاسک زیادہ سے زیادہ حد ہے، اوسط نہیں۔) مکمل تفصیل · خود آزمائیں. +

+ +

+ Español · 한국어 +

+ +--- + +

+ Something's coming, join the waitlist +

+ +آپ اسے جانتے ہیں۔ لمبی پونی ٹیل۔ بیضوی چشمہ۔ کمپنی میں ورژن کنٹرول سے بھی پرانا ہے۔ آپ اسے پچاس لائنیں دکھاتے ہیں، وہ دیکھتا ہے، کچھ نہیں بولتا، اور انہیں ایک لائن سے بدل دیتا ہے۔ + +Ponytail اسے آپ کے AI ایجنٹ کے اندر بٹھا دیتا ہے۔ + +## پہلے / بعد میں + +آپ نے date picker مانگا۔ آپ کا ایجنٹ flatpickr انسٹال کرتا ہے، ایک wrapper component لکھتا ہے، ایک stylesheet شامل کرتا ہے، اور timezone کے بارے میں بحث شروع کر دیتا ہے۔ + +ponytail کے ساتھ: + +```html + + +``` + +مزید مثالیں [examples/](examples/) میں دیکھیں۔ + +## اعداد و شمار + +سب سے ایماندار پیمائش یہی ہے کہ ایک اصلی ایجنٹ اصلی کام کرے: ایک headless Claude Code سیشن نے [tiangolo کے full-stack-fastapi-template](https://github.com/fastapi/full-stack-fastapi-template) (ایک حقیقی FastAPI + React ریپو) میں ترمیم کی، اور اس کا اسکور اس `git diff` سے ماپا گیا جو پیچھے رہ گیا۔ بارہ فیچر ٹکٹس، ایک ہی ایجنٹ سکل کے ساتھ اور بغیر سکل کے، n=4, Haiku 4.5. + +

+ Each arm as a percent of the no-skill baseline across LOC, tokens, cost and time (Haiku 4.5). ponytail is lowest on every metric (LOC 46%, tokens 78%, cost 80%, time 73%); caveman rises above 100% on tokens, cost and time; yagni-oneliner LOC 67%. Safety, separate adversarial tier: baseline, caveman and ponytail 100%, yagni-oneliner 95%. +

+ +| no-skill baseline کے مقابلے میں | LOC | tokens | cost | time | safe | +|---|--:|--:|--:|--:|--:| +| **ponytail** | **-54%** | **-22%** | **-20%** | **-27%** | **100%** | +| caveman (terse-prose control) | -20% | +7% | +3% | +2% | 100% | +| "YAGNI + one-liners" prompt | -33% | -14% | -21% | -30% | 95% | + +ponytail واحد arm ہے جو ہر میٹرک کو کم کرتا ہے، اور واحد ہے جو مکمل طور پر محفوظ بھی رہتا ہے۔ سب سے بڑی کمی وہاں ہوتی ہے جہاں over-build کا حقیقی خطرہ ہو (date picker 404 سے 23 لائنز تک، color picker 287 سے 23 تک، کیونکہ یہ component کی بجائے native `` استعمال کرتا ہے)، اور جہاں کوڈ پہلے ہی کم سے کم ہے وہاں یہ تقریباً صفر رہتا ہے۔ مکمل طریقہ کار، ہر ٹاسک کی ٹیبل، اور حدود یہاں دیکھیں: [benchmarks/results/2026-06-18-agentic.md](benchmarks/results/2026-06-18-agentic.md). + +
+پرانے single-shot اعداد و شمار (isolated generation) + +پانچ روزمرہ کے ٹاسکس، تین ماڈلز، تین arms (بغیر سکل، [caveman](https://github.com/JuliusBrussee/caveman)، ponytail)، دس runs، median رپورٹ کیا گیا۔ ایک prompt، ایک completion، جواب کی لائنیں گنی گئیں: + +

+ Median lines of code per arm across Haiku, Sonnet and Opus +

+ +اس میں **80-94% کم کوڈ** دکھا۔ [#126](https://github.com/DietrichGebert/ponytail/issues/126) نے درست بات بتائی کہ bare-model baseline اپنے جواب کو prose اور options سے بھر دیتا ہے، تو یہ فرق کسی حد تک conversational-baseline کا ہی نتیجہ ہے۔ اوپر دیے گئے agentic اعداد و شمار ہی درست اور قابلِ اعتماد ورژن ہیں۔ single-shot run خود چلانے کے لیے `npx promptfoo eval -c benchmarks/promptfooconfig.yaml` استعمال کریں۔ + +
+ +**اصول کبھی بھی "سب سے کم tokens" کا نہیں تھا۔** اصول یہ ہے: صرف وہی لکھو جو ٹاسک کو چاہیے، اور validation، error handling، security، یا accessibility پر کبھی سمجھوتہ مت کرو۔ کوڈ چھوٹا اس لیے ہوتا ہے کیونکہ وہ ضروری ہے، golf کھیل کر نہیں بنایا گیا۔ جو ماڈلز اس ladder کو فالو کرتے ہیں ان میں کم cost اور latency ایک ضمنی اثر ہے؛ لیکن جو terse reasoning model ہر rung پر سوچنے میں tokens خرچ کرتا ہے، وہ الٹا بھی ہو سکتا ہے (GPT-5.5 پر ایسا ہی ہوتا ہے)۔ + +## یہ کیسے کام کرتا ہے + +کوڈ لکھنے سے پہلے، ایجنٹ پہلے اس rung پر رکتا ہے جو صحیح بیٹھے: + +``` +1. کیا اس کی ضرورت ہے؟ → نہیں: چھوڑ دو (YAGNI) +2. یہ codebase میں پہلے سے ہے؟ → دوبارہ استعمال کرو، نیا مت لکھو +3. stdlib یہ کرتا ہے؟ → اسے استعمال کرو +4. native platform feature؟ → اسے استعمال کرو +5. پہلے سے installed dependency؟ → اسے استعمال کرو +6. ایک لائن میں ہو سکتا ہے؟ → ایک لائن لکھو +7. تب ہی: جتنا ضروری ہو اتنا ہی +``` + +یہ ladder مسئلے کو سمجھنے کے *بعد* چلتا ہے، سمجھنے کی جگہ نہیں: یہ پہلے وہ کوڈ پڑھتا ہے جسے تبدیلی چھوتی ہے اور اصل flow کو trace کرتا ہے، پھر صحیح rung چنتا ہے۔ حل کے معاملے میں سست ہے، پڑھنے کے معاملے میں کبھی نہیں۔ + +سست ہے، لاپرواہ نہیں: trust-boundary validation، data-loss handling، security، اور accessibility کبھی نہیں کاٹی جاتیں۔ + +## Install + +ponytail آپ سے بس اتنی ہی محنت مانگے گا: + +Claude Code اور Codex plugins دو چھوٹے Node.js lifecycle hooks چلاتے ہیں، اس لیے `node` آپ کے PATH میں ہونا چاہیے (Nix/nvm صارفین کے لیے نوٹ: یہ non-interactive shell کے PATH میں بھی ہونا چاہیے)۔ اگر نہیں ہے، تو skills پھر بھی کام کریں گی، بس always-on activation خاموش رہے گا، ہر prompt پر error نہیں دے گا۔ + +### Claude Code + +``` +/plugin marketplace add DietrichGebert/ponytail +``` +``` +/plugin install ponytail@ponytail +``` +(install کام کرنے کے لیے دو الگ الگ prompts بھیجنے ہوں گے) + +Claude Code Desktop app کے Code ٹیب میں بھی وہی مراحل: اوپر دیے گئے دونوں `/plugin` کمانڈز prompt box میں ٹائپ کریں، یا اس کے ساتھ والا **+** بٹن دبا کر، **Plugins** → **Add plugin** چن کر اپنی configured marketplaces دیکھیں، اور marketplaces کو sidebar کے **Customize** سے منظم کریں۔ + +### Codex + +```bash +codex plugin marketplace add DietrichGebert/ponytail +codex plugin add ponytail@ponytail +``` + +`codex` چلائیں اور `/hooks` کھولیں، اس کے دونوں lifecycle hooks کا جائزہ لے کر انہیں trust کریں، اور ایک نیا thread شروع کریں۔ + +یہی install Codex desktop app کے لیے بھی کام کرتا ہے: انسٹال کرنے کے بعد app کو restart کریں، یہ plugin خود بخود لے لے گا۔ + +### GitHub Copilot CLI + +```bash +copilot plugin marketplace add DietrichGebert/ponytail +copilot plugin install ponytail@ponytail +``` + +interactive Copilot CLI سیشن میں، slash equivalents استعمال کریں: + +``` +/plugin marketplace add DietrichGebert/ponytail +/plugin install ponytail@ponytail +``` + +Copilot CLI plugin commands کو plugin کے نام سے namespace کرتا ہے۔ جیسے: + +```text +/ponytail:ponytail ultra +/ponytail:ponytail-review +``` + +### Pi agent harness + +``` +pi install git:github.com/DietrichGebert/ponytail +``` + +### OpenCode + +`opencode.json` میں شامل کریں: + +```json +{ "plugin": ["@dietrichgebert/ponytail"] } +``` + +چیک آؤٹ سے براہ راست چلانے کے لیے (plugin `hooks/` اور `skills/` کو دوبارہ استعمال کرتا ہے): + +```json +{ "plugin": ["./.opencode/plugins/ponytail.mjs"] } +``` + +یہ ہر turn پر active level پر ruleset ڈالتا ہے؛ `/ponytail` commands شامل کرتا ہے (دیکھیں [Commands](#commands))۔ OpenCode اس ریپو کی `AGENTS.md` کو بھی خود بخود لوڈ کر لیتا ہے، تو plugin کے بغیر بھی rules کام کرتے رہتے ہیں۔ plugin `lite/full/ultra/off` levels شامل کرتا ہے۔ + +`./` والا path آپ کے project کی `opencode.json` کے حساب سے resolve ہوتا ہے؛ ایک ہی checkout کو کئی projects میں شیئر کرنے کے لیے `.mjs` کا absolute path ڈالیں (یہ اپنے `hooks/` اور `skills/` کو اپنی فائل کے حساب سے ہی ڈھونڈ لیتا ہے)۔ + +### Gemini CLI + +```bash +gemini extensions install https://github.com/DietrichGebert/ponytail +``` + +یہ ہر سیشن میں ruleset کو always-on context کے طور پر لوڈ کرتا ہے اور `/ponytail` commands رجسٹر کرتا ہے؛ `skills/` بھی ساتھ آتی ہیں، جو ضرورت پڑنے پر activate ہوتی ہیں۔ +Gemini adapter جان بوجھ کر root `hooks/hooks.json` نہیں بھیجتا: Gemini اس path کو خود بخود لوڈ کر لیتا ہے، جبکہ Ponytail کے lifecycle hooks Claude/Codex کے event names استعمال کرتے ہیں۔ + +### Qoder + +Qoder repo root سے `AGENTS.md` کو always-on context کے طور پر خود بخود لوڈ کر لیتا ہے، تو checkout سے ponytail چلانے کے لیے کوئی سیٹ اپ نہیں چاہیے۔ per-project rules کے لیے، [`.qoder/rules/ponytail.md`](.qoder/rules/ponytail.md) کو اپنے project کی `.qoder/rules/` میں کاپی کریں۔ چھ ponytail skills (`/ponytail`, `/ponytail-review`, `/ponytail-audit`, `/ponytail-debt`, `/ponytail-gain`, `/ponytail-help`) Qoder کے Skill سسٹم سے دستیاب ہیں؛ [`.qoder-plugin/plugin.json`](.qoder-plugin/plugin.json) میں plugin manifest `skills/` directory کی طرف اشارہ کرتا ہے۔ + +مکمل plugin-tier سپورٹ کے لیے (automatic mode activation + ہر prompt پر ruleset injection)، [`hooks/qoder-hooks.json`](hooks/qoder-hooks.json) کے hooks کو اپنی `.qoder/settings.json` میں شامل کریں۔ `PONYTAIL_DIR` کو اپنے ponytail checkout کے path سے بدل دیں۔ Qoder کا `UserPromptSubmit` hook پہلے prompt پر default mode activate کرتا ہے اور ہر turn پر ruleset ڈالتا ہے؛ `PreToolUse` `task|Task` matcher کے ساتھ subagents میں ruleset ڈالتا ہے۔ Level switches (`/ponytail lite|full|ultra|off`) خود بخود کام کرتے ہیں۔ + +### Antigravity CLI + +Google، Gemini CLI کا نام بدل کر Antigravity CLI (`agy` binary) کر رہا ہے؛ وہی extension وہاں بھی انسٹال ہوتا ہے: + +```bash +agy plugin install https://github.com/DietrichGebert/ponytail +``` + +یہ اس ریپو کی `gemini-extension.json` کو ہی استعمال کرتا ہے۔ ایک فرق ہے: Antigravity `/ponytail` commands کو skills میں بدل دیتا ہے، تو آپ انہیں slash menu سے چننے کی بجائے chat میں ٹائپ کرتے ہیں (جیسے `/ponytail-review` ایک پیغام کی طرح)۔ migration مکمل ہونے تک (تقریباً 18 جون، 2026)، `gemini extensions install` بھی کام کرتا رہے گا۔ اسے always-on rule کی طرح چلانے کے لیے، ruleset کو `.agents/rules/` میں ڈال دیں۔ + +### Hermes Agent + +```bash +hermes plugins install DietrichGebert/ponytail --enable +``` + +انسٹال کرنے کے بعد Hermes کو restart کریں۔ plugin ہر LLM turn سے پہلے active Ponytail mode ڈالتا ہے، bundled skills کو `ponytail:` کے نام سے رجسٹر کرتا ہے، اور `/ponytail`, `/ponytail-review`, `/ponytail-audit`, `/ponytail-debt`, `/ponytail-gain`, اور `/ponytail-help` شامل کرتا ہے۔ shared gateways میں، `/ponytail` کو Hermes کے slash-command access controls سے صرف trusted users تک محدود رکھیں؛ runtime mode process-local ہوتا ہے۔ + +### CodeWhale + +project root سے `AGENTS.md` پڑھتا ہے، کوئی سیٹ اپ نہیں چاہیے۔ [`AGENTS.md`](AGENTS.md) کو اپنے project میں کاپی کریں، یا اس ریپو کے checkout سے `codewhale` چلائیں۔ بس اتنا ہی۔ + +### Swival + +پہلے collection کو اپنی library میں stage کریں، پھر جو skills چاہئیں وہ شامل کریں: + +```bash +swival skills add --global https://github.com/DietrichGebert/ponytail # ~/.config/swival/library میں stage کریں +swival skills add ponytail # collection کو اس project میں install کریں +swival skills add --global ponytail # یا اسے ہر project میں activate کریں +``` + +Swival project root سے `AGENTS.md` اور globally `~/.config/swival/AGENTS.md` بھی پڑھتا ہے، یہ instruction-only fallback ہے۔ + +command line پر، کسی skill کو براہ راست activate کرنے کے لیے `$` prefix استعمال کریں۔ جیسے: `$ponytail-review`. + +### Devin CLI + +```bash +devin plugins install DietrichGebert/ponytail +``` + +ponytail کو Devin plugin کے طور پر install کرتا ہے؛ skills `/ponytail:ponytail`, `/ponytail:ponytail-review` وغیرہ کے طور پر دستیاب ہوتی ہیں۔ + +### OpenClaw + +```bash +clawhub install ponytail +``` + +ponytail کو ClawHub سے OpenClaw skill کے طور پر install کرتا ہے؛ review, audit, debt, gain, اور help skills بھی اسی طرح install ہوتی ہیں (`clawhub install ponytail-review`, وغیرہ)۔ OpenClaw اسے coding tasks پر لاگو کرتا ہے اور `/ponytail` command کے طور پر بھی دکھاتا ہے۔ ClawHub کے بغیر، [`.openclaw/skills/ponytail`](.openclaw/skills/) کو `~/.openclaw/skills/` میں کاپی کریں۔ + +بس اتنا ہی تھا۔ اسے فخر ہوتا۔ پر وہ کہے گا نہیں۔ + +ہر سیشن میں active رہتا ہے، چند commands کے ساتھ (دیکھیں [Commands](#commands))۔ `/ponytail ultra` ان لمحات کے لیے ہے جب codebase نے آپ کے ساتھ ذاتی طور پر غلط کیا ہو۔ Startup اور mode-change text میں current mode دکھتا ہے۔ + +ہر نئے سیشن کے لیے level سیٹ کرنے کے لیے `PONYTAIL_DEFAULT_MODE` env var (`lite`/`full`/`ultra`/`off`) استعمال کریں، یا `~/.config/ponytail/config.json` (Windows پر `%APPDATA%\ponytail\config.json`) میں `defaultMode` فیلڈ ڈالیں۔ default `full` ہے۔ + +active رہتے ہوئے، ruleset Agent tool سے spawn ہونے والے ہر subagent میں بھی ڈالا جاتا ہے۔ اسے مخصوص agent types تک محدود رکھنے کے لیے (جیسے read-only search agents پر بند رکھنا)، `PONYTAIL_SUBAGENT_MATCHER` env var کو ایک regex پر سیٹ کریں جو subagent کے `agent_type` پر ٹیسٹ ہوگا۔ یہ unanchored اور case-insensitive ہے: `explore|general` دونوں میں سے کسی سے میچ کرے گا، `^general$` exact ہے، اور plugin agent types `plugin:name` جیسے دکھتے ہیں۔ اگر سیٹ نہیں کیا تو ہر subagent میں inject ہوگا (یہی default ہے)؛ غلط regex، یا ایسا subagent جس کا type platform نہیں بتاتا، وہاں بھی inject کرنا ہی default رہے گا۔ + +Cursor, Windsurf, Cline, GitHub Copilot Chat (VS Code, JetBrains, اور Visual Studio کا editor extension, standalone Copilot CLI نہیں جو [Install](#install) میں اوپر بتایا گیا ہے), Aider, Kiro, Zed, CodeWhale, Swival, Qoder: اس ریپو سے matching rules file کاپی کریں ([`.cursor/rules/`](.cursor/rules/), [`.windsurf/rules/`](.windsurf/rules/), [`.clinerules/`](.clinerules/), [`.github/copilot-instructions.md`](.github/copilot-instructions.md), [`AGENTS.md`](AGENTS.md), [`.kiro/steering/`](.kiro/steering/), [`.qoder/rules/`](.qoder/rules/))۔ + +Kiro: `.kiro/steering/ponytail.md` کو `~/.kiro/steering/` (global) یا اپنے project کی `.kiro/steering/` میں کاپی کریں۔ + +GitHub Copilot CLI fallback (instruction-only mode): یہ کسی project میں `AGENTS.md` اور `.github/copilot-instructions.md` پڑھتا ہے، یا ہر project میں ponytail چلانے کے لیے rules کو `~/.copilot/copilot-instructions.md` میں کاپی کریں۔ اس طریقے سے always-on guidance تو ملتی ہے، پر plugin mode switches یا hooks شامل نہیں ہوتے۔ + +Codex extension والا VS Code `AGENTS.md` پڑھتا ہے، جو یہ ریپو پہلے سے بھیجتی ہے، تو یہ ریپو کے root سے بغیر کسی سیٹ اپ کے کام کرتا ہے (`~/.codex/AGENTS.md` Codex کو global بنا دیتا ہے)۔ + +JetBrains Junie `AGENTS.md` تبھی پڑھ پاتا ہے جب آپ اسے Settings → Tools → Junie → Project Settings → Guidelines Path میں بتائیں (یہ ابھی automatic نہیں ہے)۔ یہ ریپو `AGENTS.md` بھیجتی ہے؛ `.junie/guidelines.md` Junie کا پرانا path ہے۔ + +Amp (Sourcegraph) working directory اور parent directories سے `$HOME` تک `AGENTS.md` پڑھتا ہے، جو یہ ریپو بھیجتی ہے، تو یہ بغیر سیٹ اپ کے کام کرتا ہے (`~/.config/amp/AGENTS.md` globally کام کرتا ہے)۔ + +Jules (Google) repository root سے `AGENTS.md` پڑھتا ہے، جو یہ ریپو بھیجتی ہے، تو یہ بغیر کسی سیٹ اپ کے ruleset لے لیتا ہے۔ + +کون سی فائل کس agent کے لیے ہے: [Agent portability](docs/agent-portability.md). + +### Uninstall + +| Host | Command | +|------|---------| +| Claude Code | `/plugin remove ponytail` | +| Codex | `codex plugin remove ponytail` | +| Devin CLI | `devin plugins remove ponytail` | +| Pi agent | `pi uninstall ponytail` | +| Cursor / Windsurf / Cline / Qoder / etc. | کاپی کی گئی rule file کو ڈیلیٹ کریں | + +یہ plugin کی اپنی فائلیں ہٹا دیتے ہیں۔ پر ponytail plugin folder کے باہر تھوڑا سا state چھوڑ دیتا ہے: mode flag، `~/.config/ponytail/config.json`، اور (اگر آپ نے setup nudge accept کیا تھا) `~/.claude/settings.json` میں ایک `statusLine` entry۔ انہیں بھی صاف کرنے کے لیے `node scripts/uninstall.js` چلائیں۔ **اسے اوپر والے host remove command سے پہلے چلائیں** — یہ script خود بھی plugin کی فائل ہے، تو پہلے plugin ہٹانے سے یہ بھی ڈیلیٹ ہو جائے گی (یا اسے اس ریپو کے کسی الگ clone سے چلائیں)۔ یہ statusLine entry تبھی ہٹاتا ہے جب وہ ponytail کے اپنے script کی طرف اشارہ کر رہی ہو، تو اگر آپ نے خود کوئی statusline سیٹ کیا ہے وہ چھوا نہیں جائے گا۔ + +## Commands + +| Command | یہ کیا کرتا ہے | +|---------|--------------| +| `/ponytail [lite \| full \| ultra \| off]` | intensity سیٹ کریں، یا بند کریں۔ بغیر argument کے current level دکھاتا ہے۔ | +| `/ponytail-review` | current diff کو over-engineering کے لیے review کرتا ہے، ایک delete-list واپس دیتا ہے۔ | +| `/ponytail-audit` | پورے repo کو over-engineering کے لیے audit کرتا ہے، صرف diff نہیں۔ | +| `/ponytail-debt` | آپ کے ٹالے ہوئے `ponytail:` shortcuts کو اکٹھا کر کے ایک ledger بناتا ہے، تاکہ "بعد میں" کبھی "کبھی نہیں" نہ بن جائے۔ | +| `/ponytail-gain` | benchmark سے ماپا گیا اثر (کم کوڈ، کم cost، زیادہ speed) دکھاتا ہے۔ | +| `/ponytail-help` | اوپر والے commands کے لیے quick reference۔ | + +Commands کے لیے skill-capable host چاہیے (Claude Code, Codex, Devin CLI, OpenCode, Gemini, pi, Swival, Hermes Agent, Qoder)۔ Codex میں یہ skills ہیں، `@` سے invoke کریں (`@ponytail-review`)۔ instruction-only adapters (Cursor, Windsurf, Cline, Copilot, Kiro, Antigravity) commands کے بغیر، صرف always-on ruleset لوڈ کرتے ہیں۔ + +## Development + +compact rule text بدلتے وقت، agent copies کو ساتھ ملا کر رکھیں: + +```bash +node scripts/check-rule-copies.js +npm test +``` + +OpenClaw skill package (`.openclaw/skills/`) `skills/` سے generate ہوتا ہے؛ کوئی skill بدلنے کے بعد `node scripts/build-openclaw-skills.js` دوبارہ چلائیں، اگر یہ پرانا رہ گیا تو test suite fail ہو جائے گا۔ skills کو ClawHub پر publish کرنے کے لیے، پہلے ایک بار `clawhub login` چلائیں، پھر `node scripts/publish-openclaw-skills.js` (یہ چھ چیزوں کو `package.json` والے version پر publish کرتا ہے؛ preview کے لیے `--dry-run` پاس کریں)۔ + +correctness benchmark email اور CSV checks کے لیے Python spawn کرتا ہے؛ پہلے `python3` آزمایا جاتا ہے، پھر `python`۔ CSV checks کے لیے `pandas` لوکلی installed ہونا چاہیے۔ + +## FAQ + +**کیا میں اسے [caveman](https://github.com/JuliusBrussee/caveman) کے ساتھ استعمال کر سکتا ہوں؟** +ہاں، اور آپ کو کرنا بھی چاہیے۔ Caveman کم کرتا ہے کہ ایجنٹ کیا کہتا ہے، ponytail کم کرتا ہے کہ وہ کیا بناتا ہے۔ دونوں الگ الگ حصے ہیں، کوئی overlap نہیں: caveman کوڈ کو بالکل ویسا ہی رہنے دیتا ہے، ponytail prose میں دخل نہیں دیتا۔ مختصر بات، کم سے کم کوڈ۔ + +**کیا اس کے لیے config file چاہیے؟** +نہیں۔ ایک optional `~/.config/ponytail/config.json` یا `PONYTAIL_DEFAULT_MODE` env var default level سیٹ کر سکتا ہے، پر کچھ بھی ضروری نہیں ہے۔ + +**اگر مجھے واقعی وہ 120-لائن والی cache class چاہیے تو؟** +آپ کو نہیں چاہیے۔ پھر بھی ضد کریں تو وہ بنا دے گا۔ آہستہ آہستہ۔ صحیح طریقے سے۔ آپ کی طرف دیکھتے ہوئے۔ + +**کیا یہ scale کرتا ہے؟** +جو کوڈ آپ نے کبھی لکھا ہی نہیں، وہ لامحدود تک scale کرتا ہے۔ ہمیشہ سے zero bugs, zero CVEs, 100% uptime۔ + +**نام "ponytail" کیوں؟** +آپ وجہ اچھی طرح جانتے ہیں۔ + +## Sponsors + +

+ + + + GreenPT + + +

+ +## License + +[MIT](LICENSE). سب سے مختصر license جو کام کرتا ہے۔ + +## Star History + + + + + + Star History Chart + + \ No newline at end of file diff --git "a/languages/\340\250\252\340\251\260\340\250\234\340\250\276\340\250\254\340\251\200 readme.md" "b/languages/\340\250\252\340\251\260\340\250\234\340\250\276\340\250\254\340\251\200 readme.md" deleted file mode 100644 index b09b51fa..00000000 --- "a/languages/\340\250\252\340\251\260\340\250\234\340\250\276\340\250\254\340\251\200 readme.md" +++ /dev/null @@ -1,343 +0,0 @@ -

- - - Ponytail, ਆਲਸੀ ਸੀਨੀਅਰ ਡਿਵੈਲਪਰ - -

- -

Ponytail

- -

- ਇਹ ਕੁਝ ਨਹੀਂ ਕਹਿੰਦਾ। ਇਹ ਇੱਕ ਹੀ ਲਾਈਨ ਲਿਖਦਾ ਹੈ। ਅਤੇ ਉਹ ਕੰਮ ਕਰਦੀ ਹੈ। -

- -

- Stars - Release - npm - Works with 20 agents - MIT license -

- -

- DietrichGebert/ponytail | Trendshift - DietrichGebert/ponytail | Trendshift -

- -

- ~54% ਘੱਟ ਕੋਡ (ਵੱਧ ਤੋਂ ਵੱਧ 94%) · ~20% ਘੱਟ ਖਰਚਾ · ~27% ਤੇਜ਼ · 100% ਸੁਰੱਖਿਅਤ
- ਅਸਲ Claude Code ਸੈਸ਼ਨਾਂ ਵਿੱਚ, ਇੱਕ ਅਸਲੀ open source ਰਿਪੋਜ਼ਟਰੀ (FastAPI + React) ਨੂੰ ਸੰਪਾਦਿਤ ਕਰਦੇ ਹੋਏ ਇਹ ਮਾਪਿਆ ਗਿਆ ਹੈ। ਇਸਦੀ ਤੁਲਨਾ ਉਸੇ AI agent ਨਾਲ ਕੀਤੀ ਗਈ ਜਿਸ ਵਿੱਚ ਕੋਈ skill ਨਹੀਂ ਸੀ। ~54% 12 feature ਟਾਸਕਾਂ ਦਾ ਔਸਤ ਨਤੀਜਾ ਹੈ (Haiku 4.5, n=4)। ਜਿੱਥੇ AI agent ਬਿਨਾਂ ਲੋੜ ਦੇ ਵੱਧ ਕੋਡ ਲਿਖਦਾ ਹੈ (ਜਿਵੇਂ date picker), ਉੱਥੇ ਇਹ 94% ਤੱਕ ਪਹੁੰਚ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਜਿੱਥੇ ਕੋਡ ਪਹਿਲਾਂ ਹੀ ਘੱਟ ਤੋਂ ਘੱਟ ਹੈ, ਉੱਥੇ ਇਹ ਲਗਭਗ ਸ਼ੂਨਯ ਰਹਿੰਦਾ ਹੈ। Ponytail ਹਰ ਸੁਰੱਖਿਆ ਜਾਂਚ (safety guard) ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਦਾ ਹੈ, ਜਦਕਿ ਸਿਰਫ਼ "write one-liners" prompt ਵਰਤਣ ਨਾਲ ਇੱਕ safety guard ਹਟ ਜਾਂਦੀ ਹੈ। (ਪਹਿਲੇ single-shot benchmark ਵਿੱਚ 80-94% ਨੂੰ ਇੱਕ ਸਥਿਰ ਅੰਕ ਵਜੋਂ ਦਰਸਾਇਆ ਗਿਆ ਸੀ। ਨਿਰਪੱਖ agentic baseline ਨਾਲ ਤੁਲਨਾ ਕਰਨ 'ਤੇ ਇਹ ਪ੍ਰਤੀ-ਟਾਸਕ ਵੱਧ ਤੋਂ ਵੱਧ ਸੀਮਾ ਹੈ, ਨਾ ਕਿ ਔਸਤ।) ਪੂਰੀ ਰਿਪੋਰਟ · ਇਸਨੂੰ ਖੁਦ ਦੁਬਾਰਾ ਚਲਾਓ. -

- -

- Español · 한국어 -

- ---- - -

- ਕੁਝ ਨਵਾਂ ਆ ਰਿਹਾ ਹੈ, ਉਡੀਕ ਸੂਚੀ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ -

- -ਤੁਸੀਂ ਇਸਨੂੰ ਜਾਣਦੇ ਹੋ। ਲੰਮੀ ਪੋਨੀਟੇਲ। ਅੰਡਾਕਾਰ ਐਨਕ। ਇਹ ਕੰਪਨੀ ਵਿੱਚ Version Control ਤੋਂ ਵੀ ਪਹਿਲਾਂ ਤੋਂ ਹੈ। ਤੁਸੀਂ ਇਸਨੂੰ ਪੰਜਾਹ ਲਾਈਨਾਂ ਦਾ ਕੋਡ ਦਿਖਾਉਂਦੇ ਹੋ। ਇਹ ਉਹਨਾਂ ਨੂੰ ਵੇਖਦਾ ਹੈ, ਕੁਝ ਨਹੀਂ ਕਹਿੰਦਾ, ਅਤੇ ਉਹਨਾਂ ਦੀ ਥਾਂ ਇੱਕ ਹੀ ਲਾਈਨ ਲਿਖ ਦਿੰਦਾ ਹੈ। - -Ponytail ਉਸਨੂੰ ਤੁਹਾਡੇ AI agent ਦੇ ਅੰਦਰ ਲਿਆਉਂਦਾ ਹੈ। - -## ਪਹਿਲਾਂ / ਬਾਅਦ - -ਤੁਸੀਂ ਇੱਕ date picker ਮੰਗਦੇ ਹੋ। ਤੁਹਾਡਾ agent flatpickr install ਕਰਦਾ ਹੈ, ਇੱਕ wrapper component ਲਿਖਦਾ ਹੈ, stylesheet ਜੋੜਦਾ ਹੈ ਅਤੇ timezones ਬਾਰੇ ਚਰਚਾ ਸ਼ੁਰੂ ਕਰ ਦਿੰਦਾ ਹੈ। - -Ponytail ਨਾਲ: - -```html - - -``` -ਹੋਰ ਉਦਾਹਰਨਾਂ ਲਈ [examples/](examples/) ਵੇਖੋ। - -## ਅੰਕੜੇ - -ਸਭ ਤੋਂ ਇਮਾਨਦਾਰ ਮਾਪ ਇੱਕ ਅਸਲੀ AI agent ਦੁਆਰਾ ਅਸਲੀ ਕੰਮ ਕਰਨ 'ਤੇ ਆਧਾਰਿਤ ਹੈ: ਇੱਕ headless Claude Code session ਜਿਸ ਨੇ [tiangolo's full-stack-fastapi-template](https://github.com/fastapi/full-stack-fastapi-template) (ਇੱਕ ਅਸਲੀ FastAPI + React ਰਿਪੋਜ਼ਟਰੀ) ਨੂੰ ਸੰਪਾਦਿਤ ਕੀਤਾ। ਨਤੀਜੇ ਉਸਦੇ ਛੱਡੇ ਹੋਏ `git diff` ਦੇ ਆਧਾਰ 'ਤੇ ਮਾਪੇ ਗਏ। ਬਾਰ੍ਹਾਂ feature tickets, ਉਹੀ agent skill ਦੇ ਨਾਲ ਅਤੇ ਬਿਨਾਂ skill ਦੇ, n=4, Haiku 4.5। - -

- ਹਰ ਸ਼੍ਰੇਣੀ ਨੂੰ no-skill baseline ਦੇ ਪ੍ਰਤੀਸ਼ਤ ਵਜੋਂ ਦਰਸਾਇਆ ਗਿਆ ਹੈ: LOC, tokens, cost ਅਤੇ time (Haiku 4.5)। Ponytail ਹਰ ਮਾਪਦੰਡ 'ਤੇ ਸਭ ਤੋਂ ਘੱਟ ਹੈ (LOC 46%, tokens 78%, cost 80%, time 73%)। Caveman tokens, cost ਅਤੇ time ਵਿੱਚ 100% ਤੋਂ ਉੱਪਰ ਜਾਂਦਾ ਹੈ। YAGNI + one-liner ਦਾ LOC 67% ਹੈ। Safety ਲਈ ਵੱਖਰੀ adversarial ਜਾਂਚ ਵਿੱਚ baseline, caveman ਅਤੇ ponytail 100% ਹਨ, ਜਦਕਿ yagni-oneliner 95% ਹੈ। -

- -| no-skill baseline ਨਾਲ ਤੁਲਨਾ | LOC | tokens | cost | time | safe | -|---|--:|--:|--:|--:|--:| -| **ponytail** | **-54%** | **-22%** | **-20%** | **-27%** | **100%** | -| caveman (terse-prose control) | -20% | +7% | +3% | +2% | 100% | -| "YAGNI + one-liners" prompt | -33% | -14% | -21% | -30% | 95% | - -Ponytail ਹੀ ਇੱਕੋ ਇਕ ਤਰੀਕਾ ਹੈ ਜੋ ਹਰ ਮਾਪਦੰਡ ਵਿੱਚ ਕਮੀ ਲਿਆਉਂਦਾ ਹੈ, ਅਤੇ ਇਹ ਕਰਦੇ ਹੋਏ ਵੀ 100% ਸੁਰੱਖਿਅਤ ਰਹਿੰਦਾ ਹੈ। ਸਭ ਤੋਂ ਵੱਡਾ ਫਰਕ ਉੱਥੇ ਵੇਖਿਆ ਜਾਂਦਾ ਹੈ ਜਿੱਥੇ ਬਿਨਾਂ ਲੋੜ ਦੇ ਵੱਧ ਕੋਡ ਲਿਖਣ ਦਾ ਖਤਰਾ ਹੁੰਦਾ ਹੈ (ਜਿਵੇਂ date picker 404 ਲਾਈਨਾਂ ਤੋਂ 23 ਲਾਈਨਾਂ, color picker 287 ਤੋਂ 23 ਲਾਈਨਾਂ), ਕਿਉਂਕਿ ਇਹ ਕਿਸੇ component ਦੀ ਬਜਾਇ native `` ਵਰਤਦਾ ਹੈ। ਜਿੱਥੇ ਕੋਡ ਪਹਿਲਾਂ ਹੀ ਘੱਟ ਤੋਂ ਘੱਟ ਹੈ, ਉੱਥੇ ਇਹ ਫਰਕ ਲਗਭਗ ਸ਼ੂਨਯ ਰਹਿੰਦਾ ਹੈ। ਪੂਰਾ ਤਰੀਕਾ, ਹਰ ਟਾਸਕ ਦੀਆਂ ਟੇਬਲਾਂ ਅਤੇ ਸੀਮਾਵਾਂ ਲਈ ਵੇਖੋ: [benchmarks/results/2026-06-18-agentic.md](benchmarks/results/2026-06-18-agentic.md). - -
-ਪੁਰਾਣੇ single-shot ਅੰਕੜੇ (ਸਿਰਫ਼ generation) - -ਪੰਜ ਰੋਜ਼ਾਨਾ ਵਾਲੇ ਟਾਸਕ, ਤਿੰਨ models, ਤਿੰਨ ਤਰੀਕੇ (no skill, [caveman](https://github.com/JuliusBrussee/caveman), ponytail), ਦੱਸ runs, ਅਤੇ median ਨਤੀਜਾ। - -

- Haiku, Sonnet ਅਤੇ Opus ਵਿੱਚ ਹਰ ਤਰੀਕੇ ਦੀ median lines of code -

- -ਇਸ ਨਾਲ **80–94% ਘੱਟ ਕੋਡ** ਮਿਲਿਆ। [#126](https://github.com/DietrichGebert/ponytail/issues/126) ਨੇ ਠੀਕ ਤਰ੍ਹਾਂ ਦਰਸਾਇਆ ਕਿ bare-model baseline ਆਪਣੇ ਜਵਾਬ ਵਿੱਚ ਵਾਧੂ ਵਿਆਖਿਆ ਅਤੇ ਵਿਕਲਪ ਵੀ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਉਹ ਅੰਤਰ ਕੁਝ ਹੱਦ ਤੱਕ conversational baseline ਦਾ ਨਤੀਜਾ ਸੀ। ਉੱਪਰ ਦਿੱਤੇ agentic ਅੰਕੜੇ ਇਸ ਦਾ ਹੋਰ ਸਹੀ ਅਤੇ ਭਰੋਸੇਯੋਗ ਰੂਪ ਹਨ। ਤੁਸੀਂ single-shot benchmark ਨੂੰ `npx promptfoo eval -c benchmarks/promptfooconfig.yaml` ਨਾਲ ਖੁਦ ਦੁਬਾਰਾ ਚਲਾ ਸਕਦੇ ਹੋ। - -
- -**ਨਿਯਮ ਕਦੇ ਵੀ "ਸਭ ਤੋਂ ਘੱਟ tokens" ਨਹੀਂ ਸੀ।** ਨਿਯਮ ਇਹ ਹੈ: ਟਾਸਕ ਲਈ ਜਿੰਨਾ ਲੋੜੀਂਦਾ ਹੈ, ਸਿਰਫ਼ ਉਹੀ ਲਿਖੋ, ਅਤੇ validation, error handling, security ਜਾਂ accessibility ਵਿੱਚ ਕਦੇ ਵੀ ਕਟੌਤੀ ਨਾ ਕਰੋ। ਕੋਡ ਛੋਟਾ ਇਸ ਲਈ ਬਣਦਾ ਹੈ ਕਿਉਂਕਿ ਉਹ ਲੋੜੀਂਦਾ ਹੁੰਦਾ ਹੈ, ਨਾ ਕਿ ਉਸਨੂੰ ਜ਼ਬਰਦਸਤੀ ਛੋਟਾ ਕੀਤਾ ਗਿਆ ਹੋਵੇ। ਘੱਟ ਖਰਚਾ ਅਤੇ ਘੱਟ latency ਉਹਨਾਂ models ਲਈ ਸਿਰਫ਼ ਇੱਕ side effect ਹਨ ਜੋ ਇਸ ladder ਦੀ ਪਾਲਣਾ ਕਰਦੇ ਹਨ। ਕੋਈ terse reasoning model ਜੋ ਸੋਚਣ ਵਾਲੇ tokens ladder ਬਾਰੇ ਵਿਚਾਰ ਕਰਨ 'ਤੇ ਖਰਚ ਕਰਦਾ ਹੈ, ਉਸਦਾ ਨਤੀਜਾ ਉਲਟ ਵੀ ਹੋ ਸਕਦਾ ਹੈ (GPT-5.5 'ਤੇ ਐਸਾ ਹੁੰਦਾ ਹੈ)। - -## ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ - -ਕੋਡ ਲਿਖਣ ਤੋਂ ਪਹਿਲਾਂ, AI agent ਪਹਿਲੀ ਉਹ ਪੌੜੀ (rung) ਲੱਭਦਾ ਹੈ ਜੋ ਲਾਗੂ ਹੁੰਦੀ ਹੈ: - -```text -1. ਕੀ ਇਹ ਬਣਾਉਣ ਦੀ ਲੋੜ ਹੈ? → ਨਹੀਂ: ਇਸਨੂੰ ਛੱਡ ਦਿਓ (YAGNI) -2. ਕੀ ਇਹ ਪਹਿਲਾਂ ਹੀ ਇਸ codebase ਵਿੱਚ ਹੈ? → ਇਸਨੂੰ ਦੁਬਾਰਾ ਨਾ ਲਿਖੋ, ਮੁੜ ਵਰਤੋ -3. ਕੀ Stdlib ਇਹ ਕਰ ਸਕਦੀ ਹੈ? → ਉਸਨੂੰ ਵਰਤੋ -4. ਕੀ Native platform feature ਹੈ? → ਉਸਨੂੰ ਵਰਤੋ -5. ਕੀ Installed dependency ਮੌਜੂਦ ਹੈ? → ਉਸਨੂੰ ਵਰਤੋ -6. ਕੀ ਇਹ ਇੱਕ ਲਾਈਨ ਵਿੱਚ ਹੋ ਸਕਦਾ ਹੈ? → ਇੱਕ ਹੀ ਲਾਈਨ ਲਿਖੋ -7. ਫਿਰ ਹੀ: ਜਿੰਨਾ ਘੱਟ ਤੋਂ ਘੱਟ ਲੋੜੀਂਦਾ ਹੈ, ਓਨਾ ਹੀ ਲਿਖੋ -``` - - -ਇਹ ladder ਸਮੱਸਿਆ ਨੂੰ ਸਮਝਣ ਤੋਂ **ਬਾਅਦ** ਚੱਲਦੀ ਹੈ, ਉਸਦੀ ਥਾਂ ਨਹੀਂ। ਇਹ ਪਹਿਲਾਂ ਉਸ ਕੋਡ ਨੂੰ ਪੜ੍ਹਦੀ ਹੈ ਜਿਸਨੂੰ ਬਦਲਣਾ ਹੈ ਅਤੇ ਅਸਲ flow ਨੂੰ ਸਮਝਦੀ ਹੈ, ਫਿਰ ਠੀਕ rung ਚੁਣਦੀ ਹੈ। ਹੱਲ ਵਿੱਚ ਆਲਸੀ, ਪਰ ਕੋਡ ਪੜ੍ਹਨ ਵਿੱਚ ਕਦੇ ਨਹੀਂ। - -ਆਲਸੀ, ਪਰ ਲਾਪਰਵਾਹ ਨਹੀਂ: trust-boundary validation, data-loss handling, security ਅਤੇ accessibility ਵਿੱਚ ਕਦੇ ਵੀ ਸਮਝੌਤਾ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ। - -## ਇੰਸਟਾਲ ਕਰੋ - -Ponytail ਤੁਹਾਡੇ ਤੋਂ ਸਭ ਤੋਂ ਵੱਧ ਇਹੀ ਕੋਸ਼ਿਸ਼ ਮੰਗੇਗਾ: - -Claude Code ਅਤੇ Codex plugins ਦੋ ਛੋਟੇ Node.js lifecycle hooks ਚਲਾਉਂਦੇ ਹਨ, ਇਸ ਲਈ `node` ਤੁਹਾਡੇ PATH ਵਿੱਚ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ (Nix/nvm ਵਰਤੋਂਕਾਰਾਂ ਲਈ: ਇਹ non-interactive shell ਦੇ PATH ਵਿੱਚ ਵੀ ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ)। ਜੇ ਇਹ ਨਹੀਂ ਹੈ, ਤਾਂ ਵੀ skills ਕੰਮ ਕਰਨਗੀਆਂ, ਪਰ always-on activation ਹਰ prompt 'ਤੇ error ਦੇਣ ਦੀ ਬਜਾਇ ਚੁੱਪਚਾਪ ਬੰਦ ਰਹੇਗੀ। - -### Claude Code - -``` -/plugin marketplace add DietrichGebert/ponytail -``` - -``` -/plugin install ponytail@ponytail -``` - -(ਇੰਸਟਾਲ ਸਹੀ ਤਰ੍ਹਾਂ ਕਰਨ ਲਈ ਇਹ ਦੋਵੇਂ commands ਵੱਖ-ਵੱਖ prompts ਵਜੋਂ ਭੇਜਣੀਆਂ ਪੈਣਗੀਆਂ।) - -Claude Code Desktop ਐਪ ਦੇ **Code** tab ਵਿੱਚ ਵੀ ਇਹੀ ਕਦਮ ਹਨ: ਉੱਪਰ ਦਿੱਤੀਆਂ ਦੋ `/plugin` commands ਨੂੰ prompt box ਵਿੱਚ ਟਾਈਪ ਕਰੋ, ਜਾਂ ਉਸਦੇ ਕੋਲ ਵਾਲੇ **+** ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ, **Plugins** → **Add plugin** ਚੁਣੋ ਤਾਂ ਜੋ ਆਪਣੇ configured marketplaces ਨੂੰ ਵੇਖ ਸਕੋ, ਅਤੇ sidebar ਵਿੱਚ **Customize** ਤੋਂ marketplaces ਨੂੰ manage ਕਰੋ। - -### Codex - -```bash -codex plugin marketplace add DietrichGebert/ponytail -codex plugin add ponytail@ponytail -``` - -`codex` ਚਲਾਓ ਅਤੇ `/hooks` ਖੋਲ੍ਹੋ, ਇਸਦੇ ਦੋ lifecycle hooks ਦੀ ਸਮੀਖਿਆ (review) ਕਰੋ ਅਤੇ ਉਨ੍ਹਾਂ 'ਤੇ trust ਕਰੋ, ਫਿਰ ਇੱਕ ਨਵਾਂ thread ਸ਼ੁਰੂ ਕਰੋ। - -ਇਹੋ ਹੀ installation Codex Desktop ਐਪ ਲਈ ਵੀ ਹੈ: install ਕਰਨ ਤੋਂ ਬਾਅਦ ਐਪ ਨੂੰ restart ਕਰੋ, ਅਤੇ ਇਹ plugin ਆਪਣੇ ਆਪ ਲੋਡ ਹੋ ਜਾਵੇਗਾ। - -### GitHub Copilot CLI - -```bash -copilot plugin marketplace add DietrichGebert/ponytail -copilot plugin install ponytail@ponytail -``` - -Interactive Copilot CLI session ਵਿੱਚ slash commands ਵਰਤੋ: - -``` -/plugin marketplace add DietrichGebert/ponytail -/plugin install ponytail@ponytail -``` - -Copilot CLI plugin commands ਨੂੰ plugin ਦੇ ਨਾਮ ਅਨੁਸਾਰ namespace ਕਰਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ: - -```text -/ponytail:ponytail ultra -/ponytail:ponytail-review -``` - -### Pi agent harness -```bash -pi install git:github.com/DietrichGebert/ponytail -``` - -### OpenCode - -`opencode.json` ਵਿੱਚ ਇਹ ਸ਼ਾਮਲ ਕਰੋ: - -```json -{ "plugin": ["@dietrichgebert/ponytail"] } -``` - -ਜਾਂ checkout ਤੋਂ ਸਿੱਧਾ ਚਲਾਓ (plugin `hooks/` ਅਤੇ `skills/` ਨੂੰ ਮੁੜ ਵਰਤਦਾ ਹੈ): - -```json -{ "plugin": ["./.opencode/plugins/ponytail.mjs"] } -``` - -ਇਹ ਹਰ turn 'ਤੇ active level ਮੁਤਾਬਕ ruleset inject ਕਰਦਾ ਹੈ ਅਤੇ `/ponytail` commands ਜੋੜਦਾ ਹੈ (ਵੇਖੋ [Commands](#commands))। OpenCode ਇਸ repository ਦੀ `AGENTS.md` ਫਾਈਲ ਨੂੰ ਆਪਣੇ ਆਪ load ਕਰ ਲੈਂਦਾ ਹੈ, ਇਸ ਲਈ plugin ਤੋਂ ਬਿਨਾਂ ਵੀ rules ਲਾਗੂ ਰਹਿੰਦੇ ਹਨ। Plugin ਵਾਧੂ `lite/full/ultra/off` levels ਵੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। - -`./` path ਤੁਹਾਡੇ project ਦੀ `opencode.json` ਦੇ ਮੁਕਾਬਲੇ resolve ਹੁੰਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਇੱਕੋ checkout ਕਈ projects ਵਿੱਚ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ `.mjs` ਫਾਈਲ ਦਾ absolute path ਦਿਓ (ਇਹ ਆਪਣੀ ਫਾਈਲ ਦੇ ਸਬੰਧ ਵਿੱਚ `hooks/` ਅਤੇ `skills/` ਲੱਭ ਲੈਂਦਾ ਹੈ)। - -### Gemini CLI - -```bash -gemini extensions install https://github.com/DietrichGebert/ponytail -``` - -ਇਹ ਹਰ session ਵਿੱਚ ruleset ਨੂੰ always-on context ਵਜੋਂ load ਕਰਦਾ ਹੈ ਅਤੇ `/ponytail` commands register ਕਰਦਾ ਹੈ। `skills/` ਵੀ ਨਾਲ ਆਉਂਦੀਆਂ ਹਨ ਅਤੇ ਜਦੋਂ ਕਿਸੇ task ਨੂੰ ਉਹਨਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਤਾਂ ਆਪਣੇ ਆਪ activate ਹੋ ਜਾਂਦੀਆਂ ਹਨ। - -Gemini adapter ਜਾਣਬੁੱਝ ਕੇ root `hooks/hooks.json` ਸ਼ਾਮਲ ਨਹੀਂ ਕਰਦਾ, ਕਿਉਂਕਿ Gemini ਉਸ path ਨੂੰ ਆਪਣੇ ਆਪ load ਕਰ ਲੈਂਦਾ ਹੈ, ਜਦਕਿ Ponytail ਦੇ lifecycle hooks Claude/Codex ਦੇ event names ਵਰਤਦੇ ਹਨ। - -### Qoder - -Qoder repository ਦੇ root ਵਿੱਚ ਮੌਜੂਦ `AGENTS.md` ਨੂੰ ਆਪਣੇ ਆਪ always-on context ਵਜੋਂ load ਕਰ ਲੈਂਦਾ ਹੈ, ਇਸ ਲਈ checkout ਤੋਂ Ponytail ਚਲਾਉਣ ਲਈ ਕਿਸੇ ਵਾਧੂ setup ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ। Per-project rules ਲਈ [`.qoder/rules/ponytail.md`](.qoder/rules/ponytail.md) ਨੂੰ ਆਪਣੇ project ਦੀ `.qoder/rules/` directory ਵਿੱਚ ਕਾਪੀ ਕਰੋ। Ponytail ਦੀਆਂ ਛੇ skills (`/ponytail`, `/ponytail-review`, `/ponytail-audit`, `/ponytail-debt`, `/ponytail-gain`, `/ponytail-help`) Qoder ਦੇ Skill system ਰਾਹੀਂ ਉਪਲਬਧ ਹਨ। [`.qoder-plugin/plugin.json`](.qoder-plugin/plugin.json) manifest `skills/` directory ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ। - -ਪੂਰੀ plugin-tier support (ਹਰ prompt 'ਤੇ automatic mode activation ਅਤੇ ruleset injection) ਲਈ [`hooks/qoder-hooks.json`](hooks/qoder-hooks.json) ਵਿੱਚ ਦਿੱਤੇ hooks ਨੂੰ ਆਪਣੀ `.qoder/settings.json` ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ। `PONYTAIL_DIR` ਨੂੰ ਆਪਣੇ Ponytail checkout ਦੇ path ਨਾਲ ਬਦਲੋ। Qoder ਦਾ `UserPromptSubmit` hook ਪਹਿਲੇ prompt 'ਤੇ default mode activate ਕਰਦਾ ਹੈ ਅਤੇ ਹਰ turn 'ਤੇ ruleset inject ਕਰਦਾ ਹੈ। `PreToolUse` ਵਿੱਚ `task|Task` matcher subagents ਵਿੱਚ ruleset inject ਕਰਦਾ ਹੈ। Level switching (`/ponytail lite|full|ultra|off`) ਆਪਣੇ ਆਪ ਕੰਮ ਕਰਦੀ ਹੈ। - -### Antigravity CLI - -Google, Gemini CLI ਦਾ ਨਾਮ ਬਦਲ ਕੇ Antigravity CLI (ਅਰਥਾਤ `agy` binary) ਰੱਖ ਰਿਹਾ ਹੈ। ਉਹੀ extension ਉੱਥੇ ਵੀ install ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ: - -```bash -agy plugin install https://github.com/DietrichGebert/ponytail -``` - -ਇਹ ਇਸ repository ਦੀ `gemini-extension.json` ਨੂੰ ਮੁੜ ਵਰਤਦਾ ਹੈ। ਇੱਕ ਫਰਕ ਇਹ ਹੈ ਕਿ Antigravity `/ponytail` commands ਨੂੰ skills ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ, ਇਸ ਲਈ ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ slash menu ਵਿੱਚ ਚੁਣਨ ਦੀ ਬਜਾਇ chat ਵਿੱਚ ਸਿੱਧੇ message ਵਜੋਂ ਲਿਖਦੇ ਹੋ (ਉਦਾਹਰਨ ਲਈ `/ponytail-review`)। - -ਜਦ ਤੱਕ migration ਪੂਰੀ ਨਹੀਂ ਹੋ ਜਾਂਦੀ (ਲਗਭਗ 18 ਜੂਨ, 2026), `gemini extensions install` ਵੀ ਕੰਮ ਕਰਦਾ ਰਹੇਗਾ। ਜੇ ਇਸਨੂੰ always-on rule ਵਜੋਂ ਚਲਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ruleset ਨੂੰ `.agents/rules/` ਵਿੱਚ ਰੱਖ ਦਿਓ। -### Hermes Agent - -```bash -hermes plugins install DietrichGebert/ponytail --enable -``` - -Install ਕਰਨ ਤੋਂ ਬਾਅਦ Hermes ਨੂੰ restart ਕਰੋ। Plugin ਹਰ LLM turn ਤੋਂ ਪਹਿਲਾਂ active Ponytail mode inject ਕਰਦਾ ਹੈ, bundled skills ਨੂੰ `ponytail:` ਵਜੋਂ register ਕਰਦਾ ਹੈ, ਅਤੇ `/ponytail`, `/ponytail-review`, `/ponytail-audit`, `/ponytail-debt`, `/ponytail-gain`, ਅਤੇ `/ponytail-help` commands ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ। Shared gateways ਵਿੱਚ, Hermes ਦੇ slash-command access controls ਦੀ ਵਰਤੋਂ ਕਰਕੇ `/ponytail` ਨੂੰ ਸਿਰਫ਼ trusted users ਲਈ ਸੀਮਿਤ ਰੱਖੋ। Runtime mode process-local ਹੁੰਦਾ ਹੈ। - -### CodeWhale - -Project ਦੇ root ਤੋਂ `AGENTS.md` ਆਪਣੇ ਆਪ ਪੜ੍ਹਦਾ ਹੈ, ਕਿਸੇ setup ਦੀ ਲੋੜ ਨਹੀਂ। [`AGENTS.md`](AGENTS.md) ਨੂੰ ਆਪਣੇ project ਵਿੱਚ copy ਕਰੋ ਜਾਂ ਇਸ repository ਦੇ checkout ਤੋਂ `codewhale` ਚਲਾਓ। ਬੱਸ ਇੰਨਾ ਹੀ। - -### Swival - -ਸਭ ਤੋਂ ਪਹਿਲਾਂ collection ਨੂੰ ਆਪਣੀ library ਵਿੱਚ stage ਕਰੋ, ਫਿਰ ਜਿਹੜੀਆਂ skills ਚਾਹੀਦੀਆਂ ਹਨ ਉਹ ਸ਼ਾਮਲ ਕਰੋ: - -```bash -swival skills add --global https://github.com/DietrichGebert/ponytail # stage into ~/.config/swival/library -swival skills add ponytail # install the collection into this project -swival skills add --global ponytail # or activate it in every project -``` - -Swival project ਦੇ root ਤੋਂ `AGENTS.md` ਅਤੇ globally `~/.config/swival/AGENTS.md` ਵੀ ਪੜ੍ਹਦਾ ਹੈ। ਇਹ instruction-only fallback ਵਜੋਂ ਕੰਮ ਕਰਦਾ ਹੈ। - -Command line 'ਤੇ ਕਿਸੇ skill ਨੂੰ ਸਿੱਧੇ activate ਕਰਨ ਲਈ `$` prefix ਵਰਤੋ। ਉਦਾਹਰਨ: `$ponytail-review`. - -### Devin CLI - -```bash -devin plugins install DietrichGebert/ponytail -``` - -Ponytail ਨੂੰ Devin plugin ਵਜੋਂ install ਕਰਦਾ ਹੈ। Skills `/ponytail:ponytail`, `/ponytail:ponytail-review` ਅਤੇ ਇਸੇ ਤਰ੍ਹਾਂ ਹੋਰ commands ਰਾਹੀਂ ਉਪਲਬਧ ਹੁੰਦੀਆਂ ਹਨ। - -### OpenClaw - -```bash -clawhub install ponytail -``` - -Ponytail ਨੂੰ ClawHub ਤੋਂ OpenClaw skill ਵਜੋਂ install ਕਰਦਾ ਹੈ। Review, audit, debt, gain ਅਤੇ help skills ਵੀ ਇਸੇ ਤਰੀਕੇ ਨਾਲ install ਹੁੰਦੀਆਂ ਹਨ (`clawhub install ponytail-review` ਆਦਿ)। OpenClaw ਇਸਨੂੰ coding tasks ਦੌਰਾਨ ਆਪਣੇ ਆਪ ਵਰਤਦਾ ਹੈ ਅਤੇ `/ponytail` command ਵੀ ਉਪਲਬਧ ਕਰਵਾਉਂਦਾ ਹੈ। ਜੇ ClawHub ਨਹੀਂ ਵਰਤ ਰਹੇ, ਤਾਂ [`.openclaw/skills/ponytail`](.openclaw/skills/) ਨੂੰ `~/.openclaw/skills/` ਵਿੱਚ copy ਕਰੋ। - -ਬੱਸ ਇੰਨਾ ਹੀ। ਉਹ ਤੁਹਾਡੇ 'ਤੇ ਮਾਣ ਕਰੇਗਾ। ਪਰ ਉਹ ਇਹ ਕਦੇ ਨਹੀਂ ਕਹੇਗਾ। -ਹਰ session ਵਿੱਚ ਆਪਣੇ ਆਪ active ਰਹਿੰਦਾ ਹੈ, ਨਾਲ ਕੁਝ commands ਵੀ ਹੁੰਦੀਆਂ ਹਨ (ਵੇਖੋ [Commands](#commands))। `/ponytail ultra` ਉਸ ਵੇਲੇ ਲਈ ਹੈ ਜਦੋਂ codebase ਨੇ ਤੁਹਾਡੇ ਨਾਲ ਨਿੱਜੀ ਦੁਸ਼ਮਨੀ ਕੱਢੀ ਹੋਵੇ। Startup ਅਤੇ mode-change ਦੌਰਾਨ ਮੌਜੂਦਾ mode ਦਿਖਾਇਆ ਜਾਂਦਾ ਹੈ। - -ਹਰ ਨਵੇਂ session ਲਈ default level `PONYTAIL_DEFAULT_MODE` env var (`lite`/`full`/`ultra`/`off`) ਨਾਲ ਸੈੱਟ ਕਰੋ, ਜਾਂ `~/.config/ponytail/config.json` ਵਿੱਚ `defaultMode` field ਵਰਤੋ (Windows 'ਤੇ `%APPDATA%\ponytail\config.json`)। ਮੂਲ (default) mode `full` ਹੈ। - -ਜਦੋਂ Ponytail active ਹੁੰਦਾ ਹੈ, ruleset Agent tool ਰਾਹੀਂ ਬਣਾਏ ਗਏ ਹਰ subagent ਵਿੱਚ ਵੀ inject ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਇਸਨੂੰ ਸਿਰਫ਼ ਕੁਝ ਖਾਸ agent types ਲਈ ਹੀ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ (ਉਦਾਹਰਨ ਲਈ read-only search agents ਨੂੰ ਛੱਡਣਾ), ਤਾਂ `PONYTAIL_SUBAGENT_MATCHER` env var ਵਿੱਚ ਇੱਕ regex ਸੈੱਟ ਕਰੋ ਜੋ subagent ਦੇ `agent_type` ਨਾਲ ਮਿਲਾਇਆ ਜਾਂਦਾ ਹੈ। ਇਹ unanchored ਅਤੇ case-insensitive ਹੁੰਦਾ ਹੈ: `explore|general` ਦੋਵੇਂ ਨਾਲ match ਕਰਦਾ ਹੈ, `^general$` ਸਿਰਫ਼ exact match ਕਰਦਾ ਹੈ, ਅਤੇ plugin agent types `plugin:name` ਵਰਗੇ ਹੁੰਦੇ ਹਨ। ਜੇ ਇਹ ਸੈੱਟ ਨਹੀਂ ਹੈ, ਤਾਂ ruleset ਹਰ subagent ਵਿੱਚ inject ਹੁੰਦਾ ਹੈ (ਇਹੀ default ਹੈ)। ਜੇ regex ਗਲਤ ਹੋਵੇ ਜਾਂ platform subagent ਦਾ type report ਨਾ ਕਰੇ, ਤਾਂ ਵੀ ਇਹ inject ਕਰਨਾ ਜਾਰੀ ਰੱਖਦਾ ਹੈ। - -Cursor, Windsurf, Cline, GitHub Copilot Chat (VS Code, JetBrains ਅਤੇ Visual Studio editor extension, ਨਾ ਕਿ [Install](#install) ਵਿੱਚ ਦਿੱਤਾ standalone Copilot CLI), Aider, Kiro, Zed, CodeWhale, Swival ਅਤੇ Qoder ਲਈ: ਇਸ repository ਤੋਂ ਮਿਲਦੀ-ਜੁਲਦੀ rules file copy ਕਰੋ ([`.cursor/rules/`](.cursor/rules/), [`.windsurf/rules/`](.windsurf/rules/), [`.clinerules/`](.clinerules/), [`.github/copilot-instructions.md`](.github/copilot-instructions.md), [`AGENTS.md`](AGENTS.md), [`.kiro/steering/`](.kiro/steering/), [`.qoder/rules/`](.qoder/rules/))। - -**Kiro:** `.kiro/steering/ponytail.md` ਨੂੰ `~/.kiro/steering/` (global) ਜਾਂ ਆਪਣੇ project ਦੀ `.kiro/steering/` directory ਵਿੱਚ copy ਕਰੋ। - -**GitHub Copilot CLI fallback (instruction-only mode):** ਇਹ project ਵਿੱਚ `AGENTS.md` ਅਤੇ `.github/copilot-instructions.md` ਨੂੰ ਪੜ੍ਹਦਾ ਹੈ। ਜਾਂ Ponytail ਨੂੰ ਹਰ project ਵਿੱਚ ਚਲਾਉਣ ਲਈ rules ਨੂੰ `~/.copilot/copilot-instructions.md` ਵਿੱਚ copy ਕਰੋ। ਇਸ ਤਰੀਕੇ ਨਾਲ always-on guidance ਮਿਲਦੀ ਹੈ, ਪਰ plugin mode switching ਅਤੇ hooks ਉਪਲਬਧ ਨਹੀਂ ਹੁੰਦੇ। - -**VS Code** ਵਿੱਚ Codex extension `AGENTS.md` ਨੂੰ ਪੜ੍ਹਦੀ ਹੈ, ਜੋ ਇਸ repository ਵਿੱਚ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ। ਇਸ ਲਈ repository ਦੇ root ਤੋਂ ਇਹ ਬਿਨਾਂ ਕਿਸੇ setup ਦੇ ਕੰਮ ਕਰਦਾ ਹੈ (`~/.codex/AGENTS.md` Codex ਨੂੰ globally ਉਪਲਬਧ ਕਰਦਾ ਹੈ)। - -**JetBrains Junie** `AGENTS.md` ਨੂੰ ਪੜ੍ਹ ਸਕਦਾ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਇਸਦਾ path **Settings → Tools → Junie → Project Settings → Guidelines Path** ਵਿੱਚ ਦਿੰਦੇ ਹੋ (ਇਹ ਹਾਲੇ ਆਪਣੇ ਆਪ ਨਹੀਂ ਹੁੰਦਾ)। ਇਸ repository ਵਿੱਚ `AGENTS.md` ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ; `.junie/guidelines.md` Junie ਦਾ ਪੁਰਾਣਾ (legacy) path ਹੈ। - -**Amp (Sourcegraph)** working directory ਅਤੇ ਉਸ ਦੀਆਂ parent directories ਵਿੱਚ `$HOME` ਤੱਕ `AGENTS.md` ਨੂੰ ਪੜ੍ਹਦਾ ਹੈ। ਕਿਉਂਕਿ ਇਹ repository ਉਹ ਫਾਈਲ ਪਹਿਲਾਂ ਹੀ ਦਿੰਦੀ ਹੈ, ਇਸ ਲਈ ਕਿਸੇ setup ਦੀ ਲੋੜ ਨਹੀਂ (`~/.config/amp/AGENTS.md` ਇਸਨੂੰ globally ਉਪਲਬਧ ਕਰਦਾ ਹੈ)। - -**Jules (Google)** repository ਦੇ root ਤੋਂ `AGENTS.md` ਪੜ੍ਹਦਾ ਹੈ। ਇਹ repository ਉਹ ਫਾਈਲ ਪਹਿਲਾਂ ਹੀ ਦਿੰਦੀ ਹੈ, ਇਸ ਲਈ ruleset ਬਿਨਾਂ ਕਿਸੇ setup ਦੇ ਆਪਣੇ ਆਪ load ਹੋ ਜਾਂਦਾ ਹੈ। - -ਕਿਹੜੀ ਫਾਈਲ ਕਿਹੜੇ agent ਨਾਲ ਵਰਤੀ ਜਾਂਦੀ ਹੈ, ਇਸ ਲਈ ਵੇਖੋ: [Agent portability](docs/agent-portability.md)। -### Uninstall - -| Host | Command | -|------|---------| -| Claude Code | `/plugin remove ponytail` | -| Codex | `codex plugin remove ponytail` | -| Devin CLI | `devin plugins remove ponytail` | -| Pi agent | `pi uninstall ponytail` | -| Cursor / Windsurf / Cline / Qoder / etc. | Copy ਕੀਤੀ ਹੋਈ rule file ਮਿਟਾ ਦਿਓ | - -ਇਹ commands plugin ਦੀਆਂ ਆਪਣੀਆਂ files ਨੂੰ ਹਟਾ ਦਿੰਦੀਆਂ ਹਨ। ਪਰ Ponytail plugin folder ਤੋਂ ਬਾਹਰ ਲਿਖੀ ਕੁਝ state ਰਹਿ ਜਾਂਦੀ ਹੈ: mode flag, `~/.config/ponytail/config.json`, ਅਤੇ (ਜੇ ਤੁਸੀਂ setup ਨੋਟਿਸ ਸਵੀਕਾਰ ਕੀਤਾ ਸੀ) `~/.claude/settings.json` ਵਿੱਚ ਇੱਕ `statusLine` entry। - -ਇਹਨਾਂ ਨੂੰ ਵੀ ਸਾਫ਼ ਕਰਨ ਲਈ `node scripts/uninstall.js` ਚਲਾਓ। - -**ਇਸਨੂੰ ਉੱਪਰ ਦਿੱਤੇ host remove command ਤੋਂ ਪਹਿਲਾਂ ਚਲਾਓ।** ਇਹ script ਖੁਦ ਵੀ plugin ਦੀ file ਹੈ, ਇਸ ਲਈ ਜੇ ਪਹਿਲਾਂ plugin ਹਟਾ ਦਿੱਤਾ ਤਾਂ script ਵੀ ਮਿਟ ਜਾਵੇਗੀ (ਜਾਂ ਇਸ repository ਦੀ ਕਿਸੇ ਵੱਖਰੀ clone ਤੋਂ ਇਸਨੂੰ ਚਲਾਓ)। - -ਇਹ `statusLine` entry ਸਿਰਫ਼ ਤਦੋਂ ਹੀ ਹਟਾਉਂਦੀ ਹੈ ਜੇ ਉਹ Ponytail ਦੀ ਆਪਣੀ script ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੀ ਹੋਵੇ। ਜੇ ਤੁਸੀਂ ਆਪਣੀ statusLine ਖੁਦ ਬਣਾਈ ਹੈ, ਤਾਂ ਉਸਨੂੰ ਕੋਈ ਤਬਦੀਲੀ ਨਹੀਂ ਕੀਤੀ ਜਾਵੇਗੀ। - -## Commands - -| Command | ਇਹ ਕੀ ਕਰਦਾ ਹੈ | -|---------|----------------| -| `/ponytail [lite \| full \| ultra \| off]` | Intensity level ਸੈੱਟ ਕਰੋ ਜਾਂ ਇਸਨੂੰ ਬੰਦ ਕਰੋ। ਬਿਨਾਂ argument ਦੇ ਮੌਜੂਦਾ level ਦਿਖਾਇਆ ਜਾਂਦਾ ਹੈ। | -| `/ponytail-review` | ਮੌਜੂਦਾ diff ਦੀ over-engineering ਲਈ ਸਮੀਖਿਆ ਕਰਦਾ ਹੈ ਅਤੇ ਹਟਾਉਣ ਵਾਲੀਆਂ ਚੀਜ਼ਾਂ ਦੀ ਸੂਚੀ ਦਿੰਦਾ ਹੈ। | -| `/ponytail-audit` | ਸਿਰਫ਼ diff ਨਹੀਂ, ਪੂਰੀ repository ਦੀ over-engineering ਲਈ ਜਾਂਚ ਕਰਦਾ ਹੈ। | -| `/ponytail-debt` | ਜਿਨ੍ਹਾਂ `ponytail:` shortcuts ਨੂੰ ਤੁਸੀਂ ਬਾਅਦ ਲਈ ਟਾਲਿਆ ਸੀ, ਉਹਨਾਂ ਨੂੰ ਇੱਕ ledger ਵਿੱਚ ਇਕੱਠਾ ਕਰਦਾ ਹੈ ਤਾਂ ਜੋ "ਬਾਅਦ ਵਿੱਚ" ਕਦੇ "ਕਦੇ ਨਹੀਂ" ਨਾ ਬਣ ਜਾਵੇ। | -| `/ponytail-gain` | Benchmark ਤੋਂ ਮਾਪੇ ਗਏ ਨਤੀਜੇ (ਘੱਟ code, ਘੱਟ cost, ਵੱਧ speed) ਦਾ scoreboard ਦਿਖਾਉਂਦਾ ਹੈ। | -| `/ponytail-help` | ਉੱਪਰ ਦਿੱਤੀਆਂ commands ਲਈ ਇੱਕ ਛੋਟਾ quick reference ਦਿਖਾਉਂਦਾ ਹੈ। | - -ਇਹ commands ਵਰਤਣ ਲਈ skill-capable host ਲਾਜ਼ਮੀ ਹੈ (Claude Code, Codex, Devin CLI, OpenCode, Gemini, pi, Swival, Hermes Agent, Qoder)। Codex ਵਿੱਚ ਇਹ skills ਵਜੋਂ ਉਪਲਬਧ ਹਨ ਅਤੇ `@` ਨਾਲ ਚਲਾਈਆਂ ਜਾਂਦੀਆਂ ਹਨ (ਉਦਾਹਰਨ: `@ponytail-review`)। Instruction-only adapters (Cursor, Windsurf, Cline, Copilot, Kiro, Antigravity) commands ਤੋਂ ਬਿਨਾਂ ਸਿਰਫ਼ always-on ruleset load ਕਰਦੇ ਹਨ। - -## Development - -ਜਦੋਂ compact rule text ਵਿੱਚ ਤਬਦੀਲੀ ਕਰੋ, ਤਾਂ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਸਾਰੀਆਂ agent copies ਵੀ ਉਸਦੇ ਨਾਲ synchronized ਰਹਿਣ: - -```bash -node scripts/check-rule-copies.js -npm test -``` -OpenClaw skill package (`.openclaw/skills/`) `skills/` ਤੋਂ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਕਿਸੇ skill ਵਿੱਚ ਤਬਦੀਲੀ ਕਰਦੇ ਹੋ, ਤਾਂ `node scripts/build-openclaw-skills.js` ਨੂੰ ਦੁਬਾਰਾ ਚਲਾਓ। ਜੇ package update ਨਾ ਹੋਵੇ (stale ਹੋਵੇ), ਤਾਂ test suite ਅਸਫਲ ਹੋ ਜਾਵੇਗੀ। - -Skills ਨੂੰ ClawHub 'ਤੇ publish ਕਰਨ ਲਈ ਪਹਿਲਾਂ ਇੱਕ ਵਾਰ `clawhub login` ਚਲਾਓ, ਫਿਰ `node scripts/publish-openclaw-skills.js` ਚਲਾਓ। ਇਹ `package.json` ਵਿੱਚ ਦਿੱਤੇ version ਅਨੁਸਾਰ ਸਾਰੀਆਂ ਛੇ skills publish ਕਰਦਾ ਹੈ। ਜੇ ਪਹਿਲਾਂ preview ਦੇਖਣੀ ਹੋਵੇ, ਤਾਂ `--dry-run` option ਵਰਤੋ। - -Correctness benchmark email ਅਤੇ CSV checks ਲਈ Python process ਚਲਾਉਂਦਾ ਹੈ। ਪਹਿਲਾਂ `python3` ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਫਿਰ `python` ਦੀ। CSV checks ਲਈ ਤੁਹਾਡੇ ਸਿਸਟਮ 'ਤੇ `pandas` ਦਾ locally install ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ। - -## FAQ - -**ਕੀ ਮੈਂ ਇਸਨੂੰ [caveman](https://github.com/JuliusBrussee/caveman) ਨਾਲ ਵਰਤ ਸਕਦਾ ਹਾਂ?** - -ਹਾਂ, ਅਤੇ ਵਰਤਣਾ ਵੀ ਚਾਹੀਦਾ ਹੈ। Caveman agent ਦੀਆਂ ਗੱਲਾਂ ਨੂੰ ਛੋਟਾ ਕਰਦਾ ਹੈ, ਜਦਕਿ Ponytail ਉਸਦੇ ਬਣਾਏ ਕੋਡ ਨੂੰ ਛੋਟਾ ਕਰਦਾ ਹੈ। ਦੋਵੇਂ ਵੱਖ-ਵੱਖ ਕੰਮ ਕਰਦੇ ਹਨ ਅਤੇ ਇੱਕ ਦੂਜੇ ਨਾਲ ਟਕਰਾਉਂਦੇ ਨਹੀਂ। Caveman ਕੋਡ ਨੂੰ byte-for-byte ਬਦਲੇ ਬਿਨਾਂ ਰੱਖਦਾ ਹੈ, ਜਦਕਿ Ponytail prose ਵਿੱਚ ਦਖਲ ਨਹੀਂ ਦਿੰਦਾ। ਘੱਟ ਸ਼ਬਦ, ਘੱਟ ਕੋਡ। - -**ਕੀ ਇਸਨੂੰ config file ਦੀ ਲੋੜ ਹੈ?** - -ਨਹੀਂ। ਜੇ ਚਾਹੋ ਤਾਂ `~/.config/ponytail/config.json` ਜਾਂ `PONYTAIL_DEFAULT_MODE` env var ਰਾਹੀਂ default level ਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ, ਪਰ ਇਹ ਲਾਜ਼ਮੀ ਨਹੀਂ ਹੈ। - -**ਜੇ ਮੈਨੂੰ ਸੱਚਮੁੱਚ 120-line cache class ਦੀ ਲੋੜ ਹੋਵੇ ਤਾਂ?** - -ਅਸਲ ਵਿੱਚ ਨਹੀਂ। ਪਰ ਜੇ ਤੁਸੀਂ ਫਿਰ ਵੀ ਜ਼ੋਰ ਦਿੰਦੇ ਹੋ, ਤਾਂ ਇਹ ਉਹ ਵੀ ਬਣਾ ਦੇਵੇਗਾ। ਹੌਲੀ-ਹੌਲੀ। ਸਹੀ ਤਰੀਕੇ ਨਾਲ। ਅਤੇ ਤੁਹਾਡੇ ਵੱਲ ਵੇਖਦੇ ਹੋਏ। - -**ਕੀ ਇਹ scale ਕਰਦਾ ਹੈ?** - -ਜੋ ਕੋਡ ਤੁਸੀਂ ਕਦੇ ਲਿਖਿਆ ਹੀ ਨਹੀਂ, ਉਹ ਬੇਅੰਤ scale ਕਰਦਾ ਹੈ। Zero bugs, zero CVEs, ਅਤੇ ਹਮੇਸ਼ਾਂ ਤੋਂ 100% uptime। - -**ਨਾਂ "Ponytail" ਹੀ ਕਿਉਂ?** - -ਤੁਹਾਨੂੰ ਇਸਦਾ ਜਵਾਬ ਪਹਿਲਾਂ ਹੀ ਪਤਾ ਹੈ। - -## Sponsors - -

\ No newline at end of file