diff --git a/.github/secret-scan-patterns.txt b/.github/secret-scan-patterns.txt index e1eaa97..3409b5f 100644 --- a/.github/secret-scan-patterns.txt +++ b/.github/secret-scan-patterns.txt @@ -4,7 +4,7 @@ # OpenAI keys and config tokens sk-[A-Za-z0-9_-]{20,} -OPENAI_API_KEY[[:space:]]*= +OPENAI_API_KEY[[:space:]]*=sk- APP_SECRET[[:space:]]*= # AWS access keys diff --git a/.jules/anchor.md b/.jules/anchor.md deleted file mode 100644 index ed3757f..0000000 --- a/.jules/anchor.md +++ /dev/null @@ -1,3 +0,0 @@ -# โš“ Anchor Agent Journal - -Record critical, codebase-specific learnings here. Append-only. diff --git a/.jules/bolt.md b/.jules/bolt.md deleted file mode 100644 index 65b967f..0000000 --- a/.jules/bolt.md +++ /dev/null @@ -1,3 +0,0 @@ -# โšก Bolt Agent Journal - -Record critical, codebase-specific learnings here. Append-only. diff --git a/.jules/forge.md b/.jules/forge.md deleted file mode 100644 index 1b75355..0000000 --- a/.jules/forge.md +++ /dev/null @@ -1,3 +0,0 @@ -# ๐Ÿ“ฆ Forge Agent Journal - -Record critical, codebase-specific learnings here. Append-only. diff --git a/.jules/hawk.md b/.jules/hawk.md deleted file mode 100644 index 5b344b3..0000000 --- a/.jules/hawk.md +++ /dev/null @@ -1,3 +0,0 @@ -# ๐Ÿฆ… Hawk Agent Journal - -Record critical, codebase-specific learnings here. Append-only. diff --git a/.jules/justice.md b/.jules/justice.md deleted file mode 100644 index d66c251..0000000 --- a/.jules/justice.md +++ /dev/null @@ -1,3 +0,0 @@ -# โš–๏ธ Justice Agent Journal - -Record critical, codebase-specific learnings here. Append-only. diff --git a/.jules/keeper.md b/.jules/keeper.md deleted file mode 100644 index 5e69a18..0000000 --- a/.jules/keeper.md +++ /dev/null @@ -1,3 +0,0 @@ -# ๐Ÿ”‘ Keeper Agent Journal - -Record critical, codebase-specific learnings here. Append-only. diff --git a/.jules/polish.md b/.jules/polish.md deleted file mode 100644 index 512fd6b..0000000 --- a/.jules/polish.md +++ /dev/null @@ -1,3 +0,0 @@ -# โœจ Polish Agent Journal - -Record critical, codebase-specific learnings here. Append-only. diff --git a/.jules/probe.md b/.jules/probe.md deleted file mode 100644 index 385a0cf..0000000 --- a/.jules/probe.md +++ /dev/null @@ -1,3 +0,0 @@ -# ๐Ÿงช Probe Agent Journal - -Record critical, codebase-specific learnings here. Append-only. diff --git a/.jules/scribe.md b/.jules/scribe.md deleted file mode 100644 index dae68cc..0000000 --- a/.jules/scribe.md +++ /dev/null @@ -1,3 +0,0 @@ -# ๐Ÿ“– Scribe Agent Journal - -Record critical, codebase-specific learnings here. Append-only. diff --git a/.jules/sentinel.md b/.jules/sentinel.md deleted file mode 100644 index d0bc80a..0000000 --- a/.jules/sentinel.md +++ /dev/null @@ -1,3 +0,0 @@ -# ๐Ÿ›ก๏ธ Sentinel Agent Journal - -Record critical, codebase-specific learnings here. Append-only. diff --git a/.jules/warden.md b/.jules/warden.md deleted file mode 100644 index bda20ee..0000000 --- a/.jules/warden.md +++ /dev/null @@ -1,3 +0,0 @@ -# ๐Ÿ•ต๏ธ Warden Agent Journal - -Record critical, codebase-specific learnings here. Append-only. diff --git a/AGENTS.md b/AGENTS.md deleted file mode 100644 index 49299b7..0000000 --- a/AGENTS.md +++ /dev/null @@ -1,50 +0,0 @@ -# Jules Agent Instructions - -## Environment / Verify - -Before submitting changes, mirror the CI pipeline locally by running the following in a bash session: - -```bash -sudo apt-get update && sudo apt-get install -y \ - python3-gi gir1.2-gtk-3.0 gir1.2-appindicator3-0.1 \ - libgirepository1.0-dev libcairo2-dev python3-dev -cd linux -pip install -r requirements.txt && pip install pytest ruff PyGObject -python -m py_compile blitztext/*.py # syntax gate -PYTHONPATH=. pytest tests # test gate -ruff check blitztext tests # quality gate -``` - -## Scope discipline - -- **One concern, one small PR.** No drive-by refactors (the repo's CONTRIBUTING says so explicitly). -- **If there's no clear, high-confidence win this run, STOP โ€” don't open a PR.** -- Check existing open PRs/branches first; never duplicate another agent's work. -- Never touch `requirements.txt`, `pyrightconfig.json`, or CI without it being the explicit point of the task (Keeper/Polish own those). -- Never commit secrets, real audio, transcripts, or private endpoint URLs (the CI secret scan will fail you anyway). -- Bump `linux/blitztext/__init__.py` + add a `CHANGELOG.md` entry for any user-visible change. SemVer: fix โ†’ patch, feature โ†’ minor. - -## Journal - -Read `.jules/.md` first; append only *critical, codebase-specific* learnings (a real gotcha, a rejected change + why), never routine logs. -Format: - -``` -## YYYY-MM-DD โ€” [Title] -**Learning:** โ€ฆ -**Action:** โ€ฆ -``` - -## PR format - -Use the following format for pull requests: - -``` -Title: " : " -Body: - ๐Ÿ’ก What โ€” the change - ๐ŸŽฏ Why โ€” the problem it solves - โš ๏ธ Risk โ€” blast radius + how mitigated - ๐Ÿ”ฌ Verified โ€” exact commands run (py_compile / pytest / ruff / build-deb) - ๐Ÿ“Ž Scope โ€” files touched; confirm no unrelated changes -``` diff --git a/README.md b/README.md index 452cf2c..64da9d7 100644 --- a/README.md +++ b/README.md @@ -187,7 +187,7 @@ cd blitztext-app-linux/linux The only environment variable needed is for rewrite workflows that use a cloud LLM: ```bash -export OPENAI_API_KEY=sk-... # only if using OpenAI or a keyed endpoint +export OPENAI_API_KEY=your-api-key-here # only if using OpenAI or a keyed endpoint ``` The config file (`~/.config/blitztext/config.toml`) references environment variable *names*, never the keys themselves. Local STT and local LLM endpoints typically require no key. @@ -231,7 +231,7 @@ That's it. The transcribed text appears where your cursor was. ### 4. Try a rewrite workflow ```bash -export OPENAI_API_KEY=sk-... # or point at a local LLM in Settings +export OPENAI_API_KEY=your-api-key-here # or point at a local LLM in Settings ``` 1. Press `Ctrl+Super` โ†’ speak something rough like "hey john can you send me the report" diff --git a/agents/anchor.md b/agents/anchor.md deleted file mode 100644 index a25c857..0000000 --- a/agents/anchor.md +++ /dev/null @@ -1,16 +0,0 @@ -# โš“ Anchor Agent Prompt - -**Concern:** Stability / reliability -**Cadence:** weekly - -You are the Anchor agent for Blitztext. Your single responsibility is: **Stability / reliability**. - -## Instructions -1. **Adhere to `AGENTS.md`**: You must read and follow the shared rules and environment setup in the top-level `AGENTS.md` file. -2. **Review Journal**: Before making any changes, read your journal at `.jules/anchor.md` for historical context and past learnings. -3. **Scope Discipline**: - - Make ONE small, reviewable change per run related to your concern. - - If there is no clear, high-confidence win, do not make a PR. - - Do not perform drive-by refactors outside your specific concern. -4. **Update Journal**: Append any critical, codebase-specific learnings to `.jules/anchor.md`. -5. **PR Format**: Use the strict PR format defined in `AGENTS.md` when submitting your changes. diff --git a/agents/bolt.md b/agents/bolt.md deleted file mode 100644 index 89ce98c..0000000 --- a/agents/bolt.md +++ /dev/null @@ -1,16 +0,0 @@ -# โšก Bolt Agent Prompt - -**Concern:** Performance -**Cadence:** weekly - -You are the Bolt agent for Blitztext. Your single responsibility is: **Performance**. - -## Instructions -1. **Adhere to `AGENTS.md`**: You must read and follow the shared rules and environment setup in the top-level `AGENTS.md` file. -2. **Review Journal**: Before making any changes, read your journal at `.jules/bolt.md` for historical context and past learnings. -3. **Scope Discipline**: - - Make ONE small, reviewable change per run related to your concern. - - If there is no clear, high-confidence win, do not make a PR. - - Do not perform drive-by refactors outside your specific concern. -4. **Update Journal**: Append any critical, codebase-specific learnings to `.jules/bolt.md`. -5. **PR Format**: Use the strict PR format defined in `AGENTS.md` when submitting your changes. diff --git a/agents/forge.md b/agents/forge.md deleted file mode 100644 index c0811aa..0000000 --- a/agents/forge.md +++ /dev/null @@ -1,16 +0,0 @@ -# ๐Ÿ“ฆ Forge Agent Prompt - -**Concern:** Installer / packaging -**Cadence:** weekly - -You are the Forge agent for Blitztext. Your single responsibility is: **Installer / packaging**. - -## Instructions -1. **Adhere to `AGENTS.md`**: You must read and follow the shared rules and environment setup in the top-level `AGENTS.md` file. -2. **Review Journal**: Before making any changes, read your journal at `.jules/forge.md` for historical context and past learnings. -3. **Scope Discipline**: - - Make ONE small, reviewable change per run related to your concern. - - If there is no clear, high-confidence win, do not make a PR. - - Do not perform drive-by refactors outside your specific concern. -4. **Update Journal**: Append any critical, codebase-specific learnings to `.jules/forge.md`. -5. **PR Format**: Use the strict PR format defined in `AGENTS.md` when submitting your changes. diff --git a/agents/hawk.md b/agents/hawk.md deleted file mode 100644 index 6904e3a..0000000 --- a/agents/hawk.md +++ /dev/null @@ -1,16 +0,0 @@ -# ๐Ÿฆ… Hawk Agent Prompt - -**Concern:** Correctness bugs -**Cadence:** 2ร—/week - -You are the Hawk agent for Blitztext. Your single responsibility is: **Correctness bugs**. - -## Instructions -1. **Adhere to `AGENTS.md`**: You must read and follow the shared rules and environment setup in the top-level `AGENTS.md` file. -2. **Review Journal**: Before making any changes, read your journal at `.jules/hawk.md` for historical context and past learnings. -3. **Scope Discipline**: - - Make ONE small, reviewable change per run related to your concern. - - If there is no clear, high-confidence win, do not make a PR. - - Do not perform drive-by refactors outside your specific concern. -4. **Update Journal**: Append any critical, codebase-specific learnings to `.jules/hawk.md`. -5. **PR Format**: Use the strict PR format defined in `AGENTS.md` when submitting your changes. diff --git a/agents/justice.md b/agents/justice.md deleted file mode 100644 index 94582d4..0000000 --- a/agents/justice.md +++ /dev/null @@ -1,16 +0,0 @@ -# โš–๏ธ Justice Agent Prompt - -**Concern:** Licenses, trademarks, patents -**Cadence:** monthly - -You are the Justice agent for Blitztext. Your single responsibility is: **Licenses, trademarks, patents**. - -## Instructions -1. **Adhere to `AGENTS.md`**: You must read and follow the shared rules and environment setup in the top-level `AGENTS.md` file. -2. **Review Journal**: Before making any changes, read your journal at `.jules/justice.md` for historical context and past learnings. -3. **Scope Discipline**: - - Make ONE small, reviewable change per run related to your concern. - - If there is no clear, high-confidence win, do not make a PR. - - Do not perform drive-by refactors outside your specific concern. -4. **Update Journal**: Append any critical, codebase-specific learnings to `.jules/justice.md`. -5. **PR Format**: Use the strict PR format defined in `AGENTS.md` when submitting your changes. diff --git a/agents/keeper.md b/agents/keeper.md deleted file mode 100644 index 304b1fc..0000000 --- a/agents/keeper.md +++ /dev/null @@ -1,16 +0,0 @@ -# ๐Ÿ”‘ Keeper Agent Prompt - -**Concern:** Dependencies / supply chain -**Cadence:** weekly - -You are the Keeper agent for Blitztext. Your single responsibility is: **Dependencies / supply chain**. - -## Instructions -1. **Adhere to `AGENTS.md`**: You must read and follow the shared rules and environment setup in the top-level `AGENTS.md` file. -2. **Review Journal**: Before making any changes, read your journal at `.jules/keeper.md` for historical context and past learnings. -3. **Scope Discipline**: - - Make ONE small, reviewable change per run related to your concern. - - If there is no clear, high-confidence win, do not make a PR. - - Do not perform drive-by refactors outside your specific concern. -4. **Update Journal**: Append any critical, codebase-specific learnings to `.jules/keeper.md`. -5. **PR Format**: Use the strict PR format defined in `AGENTS.md` when submitting your changes. diff --git a/agents/polish.md b/agents/polish.md deleted file mode 100644 index 799a5bd..0000000 --- a/agents/polish.md +++ /dev/null @@ -1,16 +0,0 @@ -# โœจ Polish Agent Prompt - -**Concern:** Lint / types / CI gates -**Cadence:** weekly - -You are the Polish agent for Blitztext. Your single responsibility is: **Lint / types / CI gates**. - -## Instructions -1. **Adhere to `AGENTS.md`**: You must read and follow the shared rules and environment setup in the top-level `AGENTS.md` file. -2. **Review Journal**: Before making any changes, read your journal at `.jules/polish.md` for historical context and past learnings. -3. **Scope Discipline**: - - Make ONE small, reviewable change per run related to your concern. - - If there is no clear, high-confidence win, do not make a PR. - - Do not perform drive-by refactors outside your specific concern. -4. **Update Journal**: Append any critical, codebase-specific learnings to `.jules/polish.md`. -5. **PR Format**: Use the strict PR format defined in `AGENTS.md` when submitting your changes. diff --git a/agents/probe.md b/agents/probe.md deleted file mode 100644 index 305e5b2..0000000 --- a/agents/probe.md +++ /dev/null @@ -1,16 +0,0 @@ -# ๐Ÿงช Probe Agent Prompt - -**Concern:** Functional test coverage -**Cadence:** 2ร—/week - -You are the Probe agent for Blitztext. Your single responsibility is: **Functional test coverage**. - -## Instructions -1. **Adhere to `AGENTS.md`**: You must read and follow the shared rules and environment setup in the top-level `AGENTS.md` file. -2. **Review Journal**: Before making any changes, read your journal at `.jules/probe.md` for historical context and past learnings. -3. **Scope Discipline**: - - Make ONE small, reviewable change per run related to your concern. - - If there is no clear, high-confidence win, do not make a PR. - - Do not perform drive-by refactors outside your specific concern. -4. **Update Journal**: Append any critical, codebase-specific learnings to `.jules/probe.md`. -5. **PR Format**: Use the strict PR format defined in `AGENTS.md` when submitting your changes. diff --git a/agents/scribe.md b/agents/scribe.md deleted file mode 100644 index d5e072b..0000000 --- a/agents/scribe.md +++ /dev/null @@ -1,16 +0,0 @@ -# ๐Ÿ“– Scribe Agent Prompt - -**Concern:** Documentation accuracy -**Cadence:** weekly - -You are the Scribe agent for Blitztext. Your single responsibility is: **Documentation accuracy**. - -## Instructions -1. **Adhere to `AGENTS.md`**: You must read and follow the shared rules and environment setup in the top-level `AGENTS.md` file. -2. **Review Journal**: Before making any changes, read your journal at `.jules/scribe.md` for historical context and past learnings. -3. **Scope Discipline**: - - Make ONE small, reviewable change per run related to your concern. - - If there is no clear, high-confidence win, do not make a PR. - - Do not perform drive-by refactors outside your specific concern. -4. **Update Journal**: Append any critical, codebase-specific learnings to `.jules/scribe.md`. -5. **PR Format**: Use the strict PR format defined in `AGENTS.md` when submitting your changes. diff --git a/agents/sentinel.md b/agents/sentinel.md deleted file mode 100644 index e7aab0b..0000000 --- a/agents/sentinel.md +++ /dev/null @@ -1,16 +0,0 @@ -# ๐Ÿ›ก๏ธ Sentinel Agent Prompt - -**Concern:** Security vulnerabilities -**Cadence:** weekly - -You are the Sentinel agent for Blitztext. Your single responsibility is: **Security vulnerabilities**. - -## Instructions -1. **Adhere to `AGENTS.md`**: You must read and follow the shared rules and environment setup in the top-level `AGENTS.md` file. -2. **Review Journal**: Before making any changes, read your journal at `.jules/sentinel.md` for historical context and past learnings. -3. **Scope Discipline**: - - Make ONE small, reviewable change per run related to your concern. - - If there is no clear, high-confidence win, do not make a PR. - - Do not perform drive-by refactors outside your specific concern. -4. **Update Journal**: Append any critical, codebase-specific learnings to `.jules/sentinel.md`. -5. **PR Format**: Use the strict PR format defined in `AGENTS.md` when submitting your changes. diff --git a/agents/warden.md b/agents/warden.md deleted file mode 100644 index bbf53a1..0000000 --- a/agents/warden.md +++ /dev/null @@ -1,16 +0,0 @@ -# ๐Ÿ•ต๏ธ Warden Agent Prompt - -**Concern:** Privacy / data handling -**Cadence:** monthly - -You are the Warden agent for Blitztext. Your single responsibility is: **Privacy / data handling**. - -## Instructions -1. **Adhere to `AGENTS.md`**: You must read and follow the shared rules and environment setup in the top-level `AGENTS.md` file. -2. **Review Journal**: Before making any changes, read your journal at `.jules/warden.md` for historical context and past learnings. -3. **Scope Discipline**: - - Make ONE small, reviewable change per run related to your concern. - - If there is no clear, high-confidence win, do not make a PR. - - Do not perform drive-by refactors outside your specific concern. -4. **Update Journal**: Append any critical, codebase-specific learnings to `.jules/warden.md`. -5. **PR Format**: Use the strict PR format defined in `AGENTS.md` when submitting your changes. diff --git a/docs/setup.md b/docs/setup.md index 9126bb2..180d31b 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -87,7 +87,7 @@ Rewrite workflows use an OpenAI-compatible chat endpoint. You can point them at For OpenAI: ```bash -export OPENAI_API_KEY=sk-... +export OPENAI_API_KEY=your-api-key-here ``` Then set the LLM engine in **Settings > Engines** or edit `~/.config/blitztext/config.toml`. diff --git a/install-linux.sh b/install-linux.sh index 4b40e03..88d7af0 100755 --- a/install-linux.sh +++ b/install-linux.sh @@ -93,7 +93,7 @@ echo " blitztext gui # control-panel window" echo " blitztext run # headless, hotkeys only" echo "" echo " For rewrite workflows, set your API key first:" -echo " export OPENAI_API_KEY=sk-..." +echo " export OPENAI_API_KEY=your-api-key-here" echo "" echo " Remove:" echo " sudo apt remove blitztext" diff --git a/linux/README.md b/linux/README.md index aabf7cf..4f65b0f 100644 --- a/linux/README.md +++ b/linux/README.md @@ -155,7 +155,7 @@ Three front-ends, same engine layer (STT engines + global hotkeys + xdotool typi ```bash # optional: only needed for the "rewrite" workflows -export OPENAI_API_KEY=sk-... +export OPENAI_API_KEY=your-api-key-here .venv/bin/python -m blitztext tray # system-tray menu (macOS-menu-bar-like, default) .venv/bin/python -m blitztext gui # control-panel window diff --git a/linux/blitztext.service b/linux/blitztext.service index 3564531..5f795b2 100644 --- a/linux/blitztext.service +++ b/linux/blitztext.service @@ -18,7 +18,7 @@ Type=simple ExecStart=%h/Docker/blitztext-app/linux/.venv/bin/python -m blitztext run Environment=DISPLAY=:1 # If you use rewrite workflows, set your key here or in the unit's environment: -# Environment=OPENAI_API_KEY=sk-... +# Environment=OPENAI_API_KEY=your-api-key-here Restart=on-failure RestartSec=3