From 60936ab080050d92701d965d4e377547714a31c5 Mon Sep 17 00:00:00 2001 From: Adam Green Date: Wed, 4 Feb 2026 23:24:53 +1300 Subject: [PATCH 01/10] feat --- brew/Brewfile | 4 +++- dotfiles/common/.zshenv | 6 +++--- dotfiles/common/.zshrc | 4 ++-- dotfiles/wsl/.zshrc | 3 ++- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/brew/Brewfile b/brew/Brewfile index 206350a6..994477b0 100644 --- a/brew/Brewfile +++ b/brew/Brewfile @@ -97,7 +97,9 @@ brew "wordnet" # Taps brew "hudochenkov/sshpass/sshpass" -brew "koekeishiya/formulae/skhd" +if OS.mac? + brew "koekeishiya/formulae/skhd" +end brew "koekeishiya/formulae/yabai" # Casks diff --git a/dotfiles/common/.zshenv b/dotfiles/common/.zshenv index 84f2e5db..fef6c112 100644 --- a/dotfiles/common/.zshenv +++ b/dotfiles/common/.zshenv @@ -1,7 +1,7 @@ bash $HOME/dotfiles/scripts/trace.sh "$0" -# if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then -# . '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' -# fi +if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then + . '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' +fi # Moved mise activation to .zshrc for interactive shells only (performance optimization) export EDITOR=$(which nvim) export XDG_CONFIG_HOME=$HOME/dotfiles diff --git a/dotfiles/common/.zshrc b/dotfiles/common/.zshrc index f111d262..788c8bbe 100644 --- a/dotfiles/common/.zshrc +++ b/dotfiles/common/.zshrc @@ -63,8 +63,8 @@ export HISTFILESIZE=10000000 export HISTSIZE=$HISTFILESIZE SAVEHIST=$HISTSIZE export AWS_LOG_LEVEL=3 - -alias brew='arch -arm64 brew' +# +# alias brew='arch -arm64 brew' source ~/dotfiles/macos/pyenv-flags # custom ipython config diff --git a/dotfiles/wsl/.zshrc b/dotfiles/wsl/.zshrc index 8d0f72f6..789baa2d 100644 --- a/dotfiles/wsl/.zshrc +++ b/dotfiles/wsl/.zshrc @@ -1,6 +1,7 @@ + +eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" source "$HOME/dotfiles/dotfiles/common/.zshrc" source "$HOME/dotfiles/dotfiles/wsl/common.sh" eval $(keychain --quiet --eval github ado) # eval $(keychain --eval --agents ssh -Q --quiet $HOME/.ssh/azure-devops_id_rsa) - [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh From 9bfd63d1f2036fd140da25e24bb655e533a2ef5d Mon Sep 17 00:00:00 2001 From: Adam Green Date: Sun, 19 Apr 2026 13:55:21 +1200 Subject: [PATCH 02/10] feat --- brew/Brewfile | 4 ++ dotfiles/wsl/.zshrc | 3 +- dotfiles/wsl/common.sh | 2 +- nvim/lua/plugins/cmp.lua | 2 +- nvim/lua/plugins/formatting.lua | 5 +- nvim/lua/plugins/semshi.lua | 111 -------------------------------- 6 files changed, 12 insertions(+), 115 deletions(-) delete mode 100644 nvim/lua/plugins/semshi.lua diff --git a/brew/Brewfile b/brew/Brewfile index 994477b0..a211afb5 100644 --- a/brew/Brewfile +++ b/brew/Brewfile @@ -102,6 +102,9 @@ if OS.mac? end brew "koekeishiya/formulae/yabai" +# TODO!!! +# brew tap databricks/tap + # Casks cask "amethyst" cask "claude-code" @@ -113,3 +116,4 @@ cask "mactex" brew "markdownlint-cli" cask "copilot-cli" +brew "azure-cli" diff --git a/dotfiles/wsl/.zshrc b/dotfiles/wsl/.zshrc index 789baa2d..cfb8fe7d 100644 --- a/dotfiles/wsl/.zshrc +++ b/dotfiles/wsl/.zshrc @@ -1,7 +1,8 @@ - eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" source "$HOME/dotfiles/dotfiles/common/.zshrc" source "$HOME/dotfiles/dotfiles/wsl/common.sh" eval $(keychain --quiet --eval github ado) # eval $(keychain --eval --agents ssh -Q --quiet $HOME/.ssh/azure-devops_id_rsa) +# +[ -d ~/docs ] || ln -s "/mnt/c/Users/ag43/OneDrive - Meridian Energy Limited/Documents/docs" ~/docs [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh diff --git a/dotfiles/wsl/common.sh b/dotfiles/wsl/common.sh index 68fc0ddc..7ef6468c 100644 --- a/dotfiles/wsl/common.sh +++ b/dotfiles/wsl/common.sh @@ -1,4 +1,4 @@ -alias docs='cd "/mnt/c/Users/ag43/OneDrive - Meridian Energy Limited/Documents/docs"' +alias docs='cd ~/docs' alias od='cd ~/onedrive' export TODO_DIR="/mnt/c/Users/ag43/OneDrive - Meridian Energy Limited/Documents/docs/project" keychain --quiet ~/.ssh/ado diff --git a/nvim/lua/plugins/cmp.lua b/nvim/lua/plugins/cmp.lua index 7b555c7c..3af1d143 100644 --- a/nvim/lua/plugins/cmp.lua +++ b/nvim/lua/plugins/cmp.lua @@ -34,7 +34,7 @@ return { "accept", }, [""] = { - "accept_and_enter", + -- "accept_and_enter", "fallback", }, }, diff --git a/nvim/lua/plugins/formatting.lua b/nvim/lua/plugins/formatting.lua index bcdddc46..8a713b37 100644 --- a/nvim/lua/plugins/formatting.lua +++ b/nvim/lua/plugins/formatting.lua @@ -29,7 +29,10 @@ return { -- markdown = { "injected" }, javascript = { "prettier" }, css = { "stylelint" }, - yaml = { "yamlfix" }, + yaml = { + "yamlfix", + "trim_whitespace", + }, sql = { "sqlfluff" }, ["*"] = { "codespell", diff --git a/nvim/lua/plugins/semshi.lua b/nvim/lua/plugins/semshi.lua deleted file mode 100644 index a8ad64a5..00000000 --- a/nvim/lua/plugins/semshi.lua +++ /dev/null @@ -1,111 +0,0 @@ -return { - { - "wookayin/semshi", -- Maintained fork with Python 3.13 support - ft = "python", -- Only load for Python files - build = ":UpdateRemotePlugins", - init = function() - -- Disable default builtin highlighting (let semshi handle it) - vim.g["semshi#no_default_builtin_highlight"] = true - - -- Simplify markup for better integration with semshi - vim.g["semshi#simplify_markup"] = true - - -- Mark selected nodes (same name and scope as cursor) - vim.g["semshi#mark_selected_nodes"] = 1 - - -- Show error signs in the sign column - vim.g["semshi#error_sign"] = true - vim.g["semshi#error_sign_delay"] = 1.5 - - -- Update all highlights for every change (more reliable) - vim.g["semshi#always_update_all_highlights"] = false - - -- Tolerate syntax errors while typing - vim.g["semshi#tolerate_syntax_errors"] = true - - -- Prefer self.foo over self when selecting - vim.g["semshi#self_to_attribute"] = true - - -- Filetypes to enable semshi on - vim.g["semshi#filetypes"] = { "python" } - end, - config = function() - -- Custom highlights (optimized for dark backgrounds) - vim.api.nvim_create_autocmd("FileType", { - pattern = "python", - callback = function() - vim.cmd([[ - hi semshiLocal ctermfg=209 guifg=#ff875f - hi semshiGlobal ctermfg=214 guifg=#ffaf00 - hi semshiImported ctermfg=214 guifg=#ffaf00 cterm=bold gui=bold - hi semshiParameter ctermfg=75 guifg=#5fafff - hi semshiParameterUnused ctermfg=117 guifg=#87d7ff cterm=underline gui=underline - hi semshiFree ctermfg=218 guifg=#ffafd7 - hi semshiBuiltin ctermfg=207 guifg=#ff5fff - hi semshiAttribute ctermfg=49 guifg=#00ffaf - hi semshiSelf ctermfg=249 guifg=#b2b2b2 - hi semshiUnresolved ctermfg=226 guifg=#ffff00 cterm=underline gui=underline - hi semshiSelected ctermfg=231 guifg=#ffffff ctermbg=161 guibg=#d7005f - - hi semshiErrorSign ctermfg=231 guifg=#ffffff ctermbg=160 guibg=#d70000 - hi semshiErrorChar ctermfg=231 guifg=#ffffff ctermbg=160 guibg=#d70000 - sign define semshiError text=E> texthl=semshiErrorSign - ]]) - end, - }) - - -- Persist highlights across colorscheme changes - vim.api.nvim_create_autocmd("ColorScheme", { - callback = function() - vim.cmd([[ - hi semshiLocal ctermfg=209 guifg=#ff875f - hi semshiGlobal ctermfg=214 guifg=#ffaf00 - hi semshiImported ctermfg=214 guifg=#ffaf00 cterm=bold gui=bold - hi semshiParameter ctermfg=75 guifg=#5fafff - hi semshiParameterUnused ctermfg=117 guifg=#87d7ff cterm=underline gui=underline - hi semshiFree ctermfg=218 guifg=#ffafd7 - hi semshiBuiltin ctermfg=207 guifg=#ff5fff - hi semshiAttribute ctermfg=49 guifg=#00ffaf - hi semshiSelf ctermfg=249 guifg=#b2b2b2 - hi semshiUnresolved ctermfg=226 guifg=#ffff00 cterm=underline gui=underline - hi semshiSelected ctermfg=231 guifg=#ffffff ctermbg=161 guibg=#d7005f - - hi semshiErrorSign ctermfg=231 guifg=#ffffff ctermbg=160 guibg=#d70000 - hi semshiErrorChar ctermfg=231 guifg=#ffffff ctermbg=160 guibg=#d70000 - ]]) - end, - }) - - -- Keymaps for semshi (only in Python files) - vim.api.nvim_create_autocmd("FileType", { - pattern = "python", - callback = function() - local opts = { noremap = true, silent = true, buffer = true } - - -- Rename symbol under cursor - vim.keymap.set("n", "rr", ":Semshi rename", opts) - - -- Navigate between related names - vim.keymap.set("n", "", ":Semshi goto name next", opts) - vim.keymap.set("n", "", ":Semshi goto name prev", opts) - - -- Navigate between classes - vim.keymap.set("n", "c", ":Semshi goto class next", opts) - vim.keymap.set("n", "C", ":Semshi goto class prev", opts) - - -- Navigate between functions - vim.keymap.set("n", "f", ":Semshi goto function next", opts) - vim.keymap.set("n", "F", ":Semshi goto function prev", opts) - - -- Jump to unresolved names and unused parameters - vim.keymap.set("n", "gu", ":Semshi goto unresolved first", opts) - vim.keymap.set("n", "gp", ":Semshi goto parameterUnused first", opts) - - -- Error navigation - vim.keymap.set("n", "ee", ":Semshi error", opts) - vim.keymap.set("n", "ge", ":Semshi goto error", opts) - end, - }) - end, - }, -} From 6b2eaa6a7d0978d9d88e702448b02a3cf041cea7 Mon Sep 17 00:00:00 2001 From: Adam Green Date: Sun, 19 Apr 2026 14:02:57 +1200 Subject: [PATCH 03/10] feat --- dotfiles/common/.zshenv | 4 ---- 1 file changed, 4 deletions(-) diff --git a/dotfiles/common/.zshenv b/dotfiles/common/.zshenv index fef6c112..425cad7e 100644 --- a/dotfiles/common/.zshenv +++ b/dotfiles/common/.zshenv @@ -1,8 +1,4 @@ bash $HOME/dotfiles/scripts/trace.sh "$0" -if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then - . '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' -fi -# Moved mise activation to .zshrc for interactive shells only (performance optimization) export EDITOR=$(which nvim) export XDG_CONFIG_HOME=$HOME/dotfiles if command -v launchctl >/dev/null 2>&1; then From 4d9b1942834357402edd02ee54752a6a3e21276b Mon Sep 17 00:00:00 2001 From: Adam Green Date: Sun, 19 Apr 2026 14:04:14 +1200 Subject: [PATCH 04/10] feat --- dotfiles/common/.zshrc | 2 -- dotfiles/macos/.zshrc | 2 ++ dotfiles/wsl/.zshrc | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/dotfiles/common/.zshrc b/dotfiles/common/.zshrc index aaab46e4..babb7d5c 100644 --- a/dotfiles/common/.zshrc +++ b/dotfiles/common/.zshrc @@ -111,8 +111,6 @@ setopt HIST_SAVE_NO_DUPS # Don't save duplicates to file setopt SHARE_HISTORY # Share history between all sessions setopt HIST_REDUCE_BLANKS # Remove superfluous blanks from commands export AWS_LOG_LEVEL=3 -# -# alias brew='arch -arm64 brew' source ~/dotfiles/macos/pyenv-flags # custom ipython config diff --git a/dotfiles/macos/.zshrc b/dotfiles/macos/.zshrc index 68cd82b8..a7cd9ed1 100644 --- a/dotfiles/macos/.zshrc +++ b/dotfiles/macos/.zshrc @@ -5,6 +5,8 @@ export DYLD_FALLBACK_LIBRARY_PATH=/opt/homebrew/lib eval "$(keychain --eval --quiet ~/.ssh/github-air ~/.ssh/macbook-pro)" eval "$(/opt/homebrew/bin/brew shellenv zsh)" +# do not know if i need/want this... +alias brew='arch -arm64 brew' # Skip quote display for faster startup (can be called manually with 'quote' command) # quote diff --git a/dotfiles/wsl/.zshrc b/dotfiles/wsl/.zshrc index cfb8fe7d..4e5f075f 100644 --- a/dotfiles/wsl/.zshrc +++ b/dotfiles/wsl/.zshrc @@ -3,6 +3,5 @@ source "$HOME/dotfiles/dotfiles/common/.zshrc" source "$HOME/dotfiles/dotfiles/wsl/common.sh" eval $(keychain --quiet --eval github ado) # eval $(keychain --eval --agents ssh -Q --quiet $HOME/.ssh/azure-devops_id_rsa) -# [ -d ~/docs ] || ln -s "/mnt/c/Users/ag43/OneDrive - Meridian Energy Limited/Documents/docs" ~/docs [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh From 37015e29d3a02ea3486d8931cf73f3a421089fc9 Mon Sep 17 00:00:00 2001 From: Adam Green Date: Sun, 19 Apr 2026 14:06:03 +1200 Subject: [PATCH 05/10] feat --- agents/skills/summarization/SKILL.md | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 agents/skills/summarization/SKILL.md diff --git a/agents/skills/summarization/SKILL.md b/agents/skills/summarization/SKILL.md deleted file mode 100644 index 53abdee1..00000000 --- a/agents/skills/summarization/SKILL.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -name: summarization -description: Summarizing articles, blog posts etc. ---- - -I will post an article and ask you to summarize it. - -Summarizing should list every idea, and every argument for and against it. You should add your own commentary if appropriate. Link to other ideas not in the text if you can. Each idea should be a single line with bullet points below it. There should be no Markdown bolding (ie **) of the idea or bullet points. - -Example summarization output: - -```md -This is an idea -- something -- something else - -This is another idea -- another thing -``` From a06be6bae0197871d9dcd355559c095ca790a5a0 Mon Sep 17 00:00:00 2001 From: Adam Green Date: Sun, 19 Apr 2026 14:27:06 +1200 Subject: [PATCH 06/10] feat --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 81fe7163..a9493ef1 100644 --- a/README.md +++ b/README.md @@ -134,10 +134,15 @@ Had weird issue with the first execution of Kitty not loading the `kitty.conf` c $ launchctl load ~/Library/LaunchAgents/setenv.XDG_CONFIG_HOME.plist ``` -## Agent Configuration +## AI Configuration + +Two AGENTS.md: + +- `./AGENTS.md` for this repo +- `./pi/config/pi/agent/AGENTS.md` for Pi & Claude Code PI_CODING_AGENT_DIR in dotfiles/common/env.sh points pi's config to ~/dotfiles/config/pi/, which contains agent/AGENTS.md (agent instructions), settings.json, themes, and sessions. -CLAUDE.md at the repo root serves the same purpose for Claude Code. +CLAUDE.md at the repo root serves the same purpose for Claude Code, but is symlinked to `AGENTS.md`. Skills are defined once in agents/skills/ and symlinked by make dotfiles to both ~/.agents/skills (pi) and ~/.claude/skills (Claude Code). From 0cbbc388dc73b85cb98a39c620c20197c3cc7c47 Mon Sep 17 00:00:00 2001 From: Adam Green Date: Wed, 22 Apr 2026 01:05:10 +1200 Subject: [PATCH 07/10] feat --- config/pi/AGENTS.md | 41 ++++++++++++++++++++++++++++ config/pi/agent/AGENTS.md | 23 ---------------- config/pi/settings.json | 8 +++--- nvim/lazy-lock.json | 56 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 101 insertions(+), 27 deletions(-) create mode 100644 config/pi/AGENTS.md delete mode 100644 config/pi/agent/AGENTS.md create mode 100644 nvim/lazy-lock.json diff --git a/config/pi/AGENTS.md b/config/pi/AGENTS.md new file mode 100644 index 00000000..e1c55528 --- /dev/null +++ b/config/pi/AGENTS.md @@ -0,0 +1,41 @@ +## How to Respond + +Responses should be concise. + +List tradeoffs explicitly if appropriate. List assumptions explicitly if appropriate. List what you are uncertain about. + +Do not include summaries at the end of responses unless specifically asked. + +Try to push back if you can and offer different ideas or approaches. Try to explore a range of ideas, perspectives. + +Always create a plan and then ask to execute. You should very rarely go off and implement without some back and forth conversation with me - only if it's very clear from my first message I want you to make changes. + +## Searching & Reading + +When reading, read deeply, in great detail. Note intricacies. Go through everything. + +## Planning + +Sometimes in our plans you will find notes like: + +``` +[HUMAN your thought here] - a general comment or context +[HUMAN replace this with X] - instruction to change something specific +[HUMAN why did you choose this approach?] - a question you want answered +[HUMAN keep this] - mark something you don't want touched +[HUMAN remove this] - flag something to remove +``` + +These are notes from me to you - you should address these if you see them when you read our plans. + +After you have addressed them, remove my `[HUMAN]` notes if appropriate. + +## Programming + +When you write Python code, make it type safe, so that it would pass strict type checking with a tool like basedpyright. + +Only include comments when they explain something that is not obvious from the code. + +Always respect existing conventions in each file and across the code base when making changes. + +Never start changing code unless you have explicit approval to start making changes. diff --git a/config/pi/agent/AGENTS.md b/config/pi/agent/AGENTS.md deleted file mode 100644 index 151a2c15..00000000 --- a/config/pi/agent/AGENTS.md +++ /dev/null @@ -1,23 +0,0 @@ -## How to Respond - -Responses should be concise. - -List tradeoffs explicitly if appropriate. List assumptions explicitly if appropriate. List what you are uncertain about. - -Do not include summaries at the end of responses unless specifically asked. - -Try to push back if you can and offer different ideas or approaches. Try to explore a range of ideas, perspectives. - -Always create a plan and then ask to execute. You should rarely go off and implement without some back and forth conversation with me. - -## Searching & Reading - -When reading, read deeply, in great detail. Note intricacies. Go through everything. - -## Programming - -When you write Python code, make it type safe, so that it would pass strict type checking with a tool like basedpyright. - -Only include comments when they explain something that is not obvious from the code. - -Always respect existing conventions in each file and across the code base when making changes. diff --git a/config/pi/settings.json b/config/pi/settings.json index 0daa8ffb..3bd61b07 100644 --- a/config/pi/settings.json +++ b/config/pi/settings.json @@ -1,7 +1,7 @@ { - "lastChangelogVersion": "0.66.1", - "defaultProvider": "openrouter", - "defaultModel": "moonshotai/kimi-k2.5", + "lastChangelogVersion": "0.68.0", + "defaultProvider": "github-copilot", + "defaultModel": "claude-opus-4.6", "theme": "dracula", "packages": [ "npm:@aliou/pi-guardrails", @@ -9,6 +9,6 @@ "npm:@ifi/pi-plan", "npm:@ollama/pi-web-search" ], - "defaultThinkingLevel": "medium", + "defaultThinkingLevel": "high", "quietStartup": false } \ No newline at end of file diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json new file mode 100644 index 00000000..05422461 --- /dev/null +++ b/nvim/lazy-lock.json @@ -0,0 +1,56 @@ +{ + "Vim-Jinja2-Syntax": { "branch": "master", "commit": "2c17843b074b06a835f88587e1023ceff7e2c7d1" }, + "barbar.nvim": { "branch": "master", "commit": "807bede7ef1d8e2ac5f108e9ac8123b1e2d321e3" }, + "blink-cmp-copilot": { "branch": "main", "commit": "439cff78780c033aa23cf061d7315314b347e3c1" }, + "blink-cmp-dictionary": { "branch": "master", "commit": "5f1a703416e5090b9633c43873dba8ba03b0fb23" }, + "blink-cmp-env": { "branch": "main", "commit": "99af62c1f9aa46005e8f50ad4ccee581946546ca" }, + "blink-emoji.nvim": { "branch": "master", "commit": "a77aebc092ebece1eed108f301452ae774d6b67a" }, + "blink-ripgrep.nvim": { "branch": "main", "commit": "56084d1f45c8621d23d4bac724c2dc50b1eb75db" }, + "blink.cmp": { "branch": "main", "commit": "cb5e346d9e0efa7a3eee7fd4da0b690c48d2a98e" }, + "blink.compat": { "branch": "main", "commit": "2ed6d9a28b07fa6f3bface818470605f8896408c" }, + "bullets.vim": { "branch": "master", "commit": "8f3259e807c40b91d247f612823295ab99777a65" }, + "codecompanion.nvim": { "branch": "main", "commit": "680c445eb357c72129d175ea5d481aa9e92ae6a5" }, + "conform.nvim": { "branch": "master", "commit": "eebc724d12c5579d733d1f801386e0ceb909d001" }, + "copilot.lua": { "branch": "master", "commit": "0a7502946845fb14b860a6384c709a791bbab96a" }, + "dbtpal": { "branch": "main", "commit": "706134b879eb2f48b2abf56f29e95a30a52cf398" }, + "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, + "emmet-vim": { "branch": "master", "commit": "6c511a8d7d2863066f32e25543e2bb99d505172c" }, + "gitsigns.nvim": { "branch": "main", "commit": "17ab794b6fce6fce768430ebc925347e349e1d60" }, + "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, + "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, + "lualine.nvim": { "branch": "master", "commit": "0ea56f91b7f51a37b749c050a5e5dfdd56b302b3" }, + "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, + "mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" }, + "mini.nvim": { "branch": "main", "commit": "e7538b549361c9ac8416a07b0223ce03c508bfe7" }, + "nvim-autopairs": { "branch": "master", "commit": "2a406cdd8c373ae7fe378a9e062a5424472bd8d8" }, + "nvim-bqf": { "branch": "main", "commit": "e20417d5e589e03eaaaadc4687904528500608be" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, + "nvim-lint": { "branch": "master", "commit": "5b1bdf306bd3e565908145279e8bbfc594dac3b3" }, + "nvim-lspconfig": { "branch": "master", "commit": "4ea9083b6d3dff4ddc6da17c51334c3255b7eba5" }, + "nvim-treesitter": { "branch": "master", "commit": "0e21ee8df6235511c02bab4a5b391d18e165a58d" }, + "nvim-treesitter-context": { "branch": "master", "commit": "439789a9a8df9639ecd749bb3286b77117024a6f" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" }, + "nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" }, + "nvim-web-devicons": { "branch": "master", "commit": "c90dee4e930ab9f49fa6d77f289bff335b49e972" }, + "obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" }, + "oil.nvim": { "branch": "master", "commit": "302bbaceeafc690e6419e0c8296e804d60cb9446" }, + "peek.nvim": { "branch": "master", "commit": "5820d937d5414baea5f586dc2a3d912a74636e5b" }, + "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, + "render-markdown.nvim": { "branch": "main", "commit": "0fd43fb4b1f073931c4b481f5f3b7cea3749e190" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" }, + "telescope-git-file-history.nvim": { "branch": "master", "commit": "c27d99ba88ec5f0b6d2b9f9bc67dd3d14c610b25" }, + "telescope-makefile": { "branch": "master", "commit": "6e5b5767751dbf73ad4f126840dcf1abfc38e891" }, + "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, + "telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" }, + "trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" }, + "undotree": { "branch": "master", "commit": "b951b87b46c34356d44aa71886aecf9dd7f5788a" }, + "vim": { "branch": "master", "commit": "d4b0823100c702af127cba8dd5595a8f599041ec" }, + "vim-argwrap": { "branch": "master", "commit": "f3e26a5ad249d09467804b92e760d08b1cc457a1" }, + "vim-fugitive": { "branch": "master", "commit": "4a745ea72fa93bb15dd077109afbb3d1809383f2" }, + "vim-markdown-toc": { "branch": "master", "commit": "aa9cc3b07791db5cbe5f29d661763bc0eb4fb7c1" }, + "vim-one": { "branch": "master", "commit": "187f5c85b682c1933f8780d4d419c55d26a82e24" }, + "vim-python-pep8-indent": { "branch": "master", "commit": "60ba5e11a61618c0344e2db190210145083c91f8" }, + "vim-table-mode": { "branch": "master", "commit": "e4365bde024f73e205eefa2fb78e3029ddb92ea9" }, + "winresizer": { "branch": "master", "commit": "9bd559a03ccec98a458e60c705547119eb5350f3" }, + "zen-mode.nvim": { "branch": "main", "commit": "863f150ca321b3dd8aa1a2b69b5f411a220e144f" } +} From bcf866f88e2ceaad180e14ccc803a8efedcea879 Mon Sep 17 00:00:00 2001 From: Adam Green Date: Wed, 29 Apr 2026 18:15:56 +1200 Subject: [PATCH 08/10] feat --- Makefile | 1 + brew/Brewfile | 5 +++ config/pi/settings.json | 6 +-- dotfiles/.tmux.conf | 1 + dotfiles/ubuntu/.bashrc | 1 + dotfiles/ubuntu/.zshrc | 9 ++++ nvim/lazy-lock.json | 84 ++++++++++++++++++------------------ nvim/lua/plugins/copilot.lua | 11 ++++- python/pyproject.toml | 2 +- python/setup-uv.sh | 1 + ubuntu/setup.sh | 1 + 11 files changed, 75 insertions(+), 47 deletions(-) diff --git a/Makefile b/Makefile index 1d138b70..d30985f9 100644 --- a/Makefile +++ b/Makefile @@ -64,6 +64,7 @@ setup-vim: setup-brew: curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | bash + eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv bash)" brew update; brew upgrade brew-pkgs: setup-brew diff --git a/brew/Brewfile b/brew/Brewfile index b2d165a7..fb7b696b 100644 --- a/brew/Brewfile +++ b/brew/Brewfile @@ -31,6 +31,8 @@ brew "tig" brew "tree" brew "wget" brew "zoxide" +brew "deno" +brew "yarn" # Language servers & linters brew "actionlint" @@ -119,3 +121,6 @@ cask "copilot-cli" brew "azure-cli" brew "git-delta" cask "keycastr" + +tap "databricks/tap" +brew "databricks" diff --git a/config/pi/settings.json b/config/pi/settings.json index 3bd61b07..a271413b 100644 --- a/config/pi/settings.json +++ b/config/pi/settings.json @@ -1,7 +1,7 @@ { - "lastChangelogVersion": "0.68.0", + "lastChangelogVersion": "0.69.0", "defaultProvider": "github-copilot", - "defaultModel": "claude-opus-4.6", + "defaultModel": "gpt-4.1", "theme": "dracula", "packages": [ "npm:@aliou/pi-guardrails", @@ -9,6 +9,6 @@ "npm:@ifi/pi-plan", "npm:@ollama/pi-web-search" ], - "defaultThinkingLevel": "high", + "defaultThinkingLevel": "off", "quietStartup": false } \ No newline at end of file diff --git a/dotfiles/.tmux.conf b/dotfiles/.tmux.conf index 9d1243fe..bfea4f89 100644 --- a/dotfiles/.tmux.conf +++ b/dotfiles/.tmux.conf @@ -72,3 +72,4 @@ run '~/.tmux/plugins/tpm/tpm' # pi needs this... set -g extended-keys on +set -g extended-keys-format csi-u diff --git a/dotfiles/ubuntu/.bashrc b/dotfiles/ubuntu/.bashrc index 801ec809..289b58ac 100644 --- a/dotfiles/ubuntu/.bashrc +++ b/dotfiles/ubuntu/.bashrc @@ -1 +1,2 @@ source "$HOME"/dotfiles/dotfiles/common/.bashrc +eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" diff --git a/dotfiles/ubuntu/.zshrc b/dotfiles/ubuntu/.zshrc index 7658a577..52d04a6d 100644 --- a/dotfiles/ubuntu/.zshrc +++ b/dotfiles/ubuntu/.zshrc @@ -1 +1,10 @@ +eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv bash)" source $HOME/dotfiles/dotfiles/common/.zshrc +ssh-add ~/.ssh/github ~/.ssh/ado +export TODO_DIR=~/docs/project +export PERSONAL_PATH=~/docs +if [ -z "$SSH_AUTH_SOCK" ]; then + eval "$(ssh-agent -s)" > /dev/null + ssh-add ~/.ssh/ado 2>/dev/null + ssh-add ~/.ssh/github 2>/dev/null +fi diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json index 05422461..78a20bac 100644 --- a/nvim/lazy-lock.json +++ b/nvim/lazy-lock.json @@ -1,56 +1,56 @@ { "Vim-Jinja2-Syntax": { "branch": "master", "commit": "2c17843b074b06a835f88587e1023ceff7e2c7d1" }, - "barbar.nvim": { "branch": "master", "commit": "807bede7ef1d8e2ac5f108e9ac8123b1e2d321e3" }, + "barbar.nvim": { "branch": "master", "commit": "539d73def39c9172b4d4d769f14090e08f37b29d" }, "blink-cmp-copilot": { "branch": "main", "commit": "439cff78780c033aa23cf061d7315314b347e3c1" }, - "blink-cmp-dictionary": { "branch": "master", "commit": "5f1a703416e5090b9633c43873dba8ba03b0fb23" }, + "blink-cmp-dictionary": { "branch": "master", "commit": "35142bba869b869715e91a99d2f46bcf93fca4ae" }, "blink-cmp-env": { "branch": "main", "commit": "99af62c1f9aa46005e8f50ad4ccee581946546ca" }, - "blink-emoji.nvim": { "branch": "master", "commit": "a77aebc092ebece1eed108f301452ae774d6b67a" }, - "blink-ripgrep.nvim": { "branch": "main", "commit": "56084d1f45c8621d23d4bac724c2dc50b1eb75db" }, - "blink.cmp": { "branch": "main", "commit": "cb5e346d9e0efa7a3eee7fd4da0b690c48d2a98e" }, + "blink-emoji.nvim": { "branch": "master", "commit": "dff709139ad5389fb55ebab026e75278a12b325a" }, + "blink-ripgrep.nvim": { "branch": "main", "commit": "d84a20e765fdc9cc8c0775708e083e7185654527" }, + "blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" }, "blink.compat": { "branch": "main", "commit": "2ed6d9a28b07fa6f3bface818470605f8896408c" }, - "bullets.vim": { "branch": "master", "commit": "8f3259e807c40b91d247f612823295ab99777a65" }, + "bullets.vim": { "branch": "master", "commit": "28c22791153a90bb61a86fbeeae0f812e048ade7" }, "codecompanion.nvim": { "branch": "main", "commit": "680c445eb357c72129d175ea5d481aa9e92ae6a5" }, - "conform.nvim": { "branch": "master", "commit": "eebc724d12c5579d733d1f801386e0ceb909d001" }, - "copilot.lua": { "branch": "master", "commit": "0a7502946845fb14b860a6384c709a791bbab96a" }, - "dbtpal": { "branch": "main", "commit": "706134b879eb2f48b2abf56f29e95a30a52cf398" }, + "conform.nvim": { "branch": "master", "commit": "086a40dc7ed8242c03be9f47fbcee68699cc2395" }, + "copilot.lua": { "branch": "master", "commit": "adff470bca742b7658228ed144589250ecb3dc0a" }, + "dbtpal": { "branch": "main", "commit": "981eab51609362712c64e3cf3fb773fe11f859b9" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, - "emmet-vim": { "branch": "master", "commit": "6c511a8d7d2863066f32e25543e2bb99d505172c" }, - "gitsigns.nvim": { "branch": "main", "commit": "17ab794b6fce6fce768430ebc925347e349e1d60" }, - "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, - "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, - "lualine.nvim": { "branch": "master", "commit": "0ea56f91b7f51a37b749c050a5e5dfdd56b302b3" }, + "emmet-vim": { "branch": "master", "commit": "92ef2f74f4093edc99db5e9e4cf7e40116a85bd6" }, + "gitsigns.nvim": { "branch": "main", "commit": "6d808f99bd63303646794406e270bd553ad7792e" }, + "indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" }, + "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, + "lualine.nvim": { "branch": "master", "commit": "a905eeebc4e63fdc48b5135d3bf8aea5618fb21c" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" }, - "mini.nvim": { "branch": "main", "commit": "e7538b549361c9ac8416a07b0223ce03c508bfe7" }, - "nvim-autopairs": { "branch": "master", "commit": "2a406cdd8c373ae7fe378a9e062a5424472bd8d8" }, - "nvim-bqf": { "branch": "main", "commit": "e20417d5e589e03eaaaadc4687904528500608be" }, - "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, - "nvim-lint": { "branch": "master", "commit": "5b1bdf306bd3e565908145279e8bbfc594dac3b3" }, - "nvim-lspconfig": { "branch": "master", "commit": "4ea9083b6d3dff4ddc6da17c51334c3255b7eba5" }, - "nvim-treesitter": { "branch": "master", "commit": "0e21ee8df6235511c02bab4a5b391d18e165a58d" }, - "nvim-treesitter-context": { "branch": "master", "commit": "439789a9a8df9639ecd749bb3286b77117024a6f" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" }, - "nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" }, - "nvim-web-devicons": { "branch": "master", "commit": "c90dee4e930ab9f49fa6d77f289bff335b49e972" }, + "mini.icons": { "branch": "main", "commit": "bac6317300e205335df425296570d84322730067" }, + "mini.nvim": { "branch": "main", "commit": "5849ef04c32a6a8e55957b946c0a275801d87530" }, + "nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" }, + "nvim-bqf": { "branch": "main", "commit": "c282a62bec6c0621a1ef5132aa3f4c9fc4dcc2c7" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "5cfe7fffbd01e17b3c1e14af85d5febdef88bd8c" }, + "nvim-lint": { "branch": "master", "commit": "eab58b48eb11d7745c11c505e0f3057165902461" }, + "nvim-lspconfig": { "branch": "master", "commit": "e146efacbafed3789ac568abcc5a981c5decaa58" }, + "nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" }, + "nvim-treesitter-context": { "branch": "master", "commit": "b0c45cefe2c8f7b55fc46f34e563bc428ef99636" }, + "nvim-treesitter-textobjects": { "branch": "main", "commit": "851e865342e5a4cb1ae23d31caf6e991e1c99f1e" }, + "nvim-ts-autotag": { "branch": "main", "commit": "88c1453db4ba7dd24131086fe51fdf74e587d275" }, + "nvim-web-devicons": { "branch": "master", "commit": "c72328a5494b4502947a022fe69c0c47e53b6aa6" }, "obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" }, - "oil.nvim": { "branch": "master", "commit": "302bbaceeafc690e6419e0c8296e804d60cb9446" }, + "oil.nvim": { "branch": "master", "commit": "0fcc83805ad11cf714a949c98c605ed717e0b83e" }, "peek.nvim": { "branch": "master", "commit": "5820d937d5414baea5f586dc2a3d912a74636e5b" }, - "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, - "render-markdown.nvim": { "branch": "main", "commit": "0fd43fb4b1f073931c4b481f5f3b7cea3749e190" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" }, - "telescope-git-file-history.nvim": { "branch": "master", "commit": "c27d99ba88ec5f0b6d2b9f9bc67dd3d14c610b25" }, - "telescope-makefile": { "branch": "master", "commit": "6e5b5767751dbf73ad4f126840dcf1abfc38e891" }, + "plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" }, + "render-markdown.nvim": { "branch": "main", "commit": "d67113f11384c0dad96fced2f7b91f1fc811e97f" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" }, + "telescope-git-file-history.nvim": { "branch": "master", "commit": "4442114f9257e682e60a8cb6de14cf988e26055c" }, + "telescope-makefile": { "branch": "master", "commit": "f35425d7d53d92a04215c3714a5819811d2842c3" }, "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, - "telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" }, - "trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" }, - "undotree": { "branch": "master", "commit": "b951b87b46c34356d44aa71886aecf9dd7f5788a" }, - "vim": { "branch": "master", "commit": "d4b0823100c702af127cba8dd5595a8f599041ec" }, - "vim-argwrap": { "branch": "master", "commit": "f3e26a5ad249d09467804b92e760d08b1cc457a1" }, - "vim-fugitive": { "branch": "master", "commit": "4a745ea72fa93bb15dd077109afbb3d1809383f2" }, - "vim-markdown-toc": { "branch": "master", "commit": "aa9cc3b07791db5cbe5f29d661763bc0eb4fb7c1" }, + "telescope.nvim": { "branch": "master", "commit": "506338434fec5ad19cb1f8d45bf92d66c4917393" }, + "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, + "undotree": { "branch": "master", "commit": "6fa6b57cda8459e1e4b2ca34df702f55242f4e4d" }, + "vim": { "branch": "master", "commit": "07b144414730cc4cf4405ab840bf46c5fa12704b" }, + "vim-argwrap": { "branch": "master", "commit": "03615d1eed248408567bc8fa6a5a8c94ef3cd170" }, + "vim-fugitive": { "branch": "master", "commit": "3b753cf8c6a4dcde6edee8827d464ba9b8c4a6f0" }, + "vim-markdown-toc": { "branch": "master", "commit": "66026b323379c9a712c6169cd43153216acef090" }, "vim-one": { "branch": "master", "commit": "187f5c85b682c1933f8780d4d419c55d26a82e24" }, "vim-python-pep8-indent": { "branch": "master", "commit": "60ba5e11a61618c0344e2db190210145083c91f8" }, - "vim-table-mode": { "branch": "master", "commit": "e4365bde024f73e205eefa2fb78e3029ddb92ea9" }, - "winresizer": { "branch": "master", "commit": "9bd559a03ccec98a458e60c705547119eb5350f3" }, - "zen-mode.nvim": { "branch": "main", "commit": "863f150ca321b3dd8aa1a2b69b5f411a220e144f" } + "vim-table-mode": { "branch": "master", "commit": "bb025308a45c67c7c8f0763ba37bc2ee3f534df0" }, + "winresizer": { "branch": "master", "commit": "299076f7f79e2e2f7706b2dfacbb3c074ce53257" }, + "zen-mode.nvim": { "branch": "main", "commit": "8564ce6d29ec7554eb9df578efa882d33b3c23a7" } } diff --git a/nvim/lua/plugins/copilot.lua b/nvim/lua/plugins/copilot.lua index f43d2da9..678e94e6 100644 --- a/nvim/lua/plugins/copilot.lua +++ b/nvim/lua/plugins/copilot.lua @@ -49,7 +49,16 @@ return { { "olimorris/codecompanion.nvim", version = "^19.0.0", - opts = {}, + opts = { + strategies = { + chat = { + adapter = "copilot", + }, + inline = { + adapter = "copilot", + }, + }, + }, dependencies = { "nvim-lua/plenary.nvim", "nvim-treesitter/nvim-treesitter", diff --git a/python/pyproject.toml b/python/pyproject.toml index 51577dab..6cef1340 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "general" version = "0.0.1" -requires-python = ">=3.11" +requires-python = ">=3.12" dependencies = [ "pandas>=2.0.3", "requests>=2.31.0", diff --git a/python/setup-uv.sh b/python/setup-uv.sh index 1c4204eb..ffaad7c5 100644 --- a/python/setup-uv.sh +++ b/python/setup-uv.sh @@ -6,3 +6,4 @@ uv tool install yamllint --python 3.11.9 uv tool install pydocstyle --python 3.11.9 uv tool install sqlfluff --python 3.11.9 uv tool install pynvim --python 3.11.9 +uv tool install basedpyright --python 3.11.9 diff --git a/ubuntu/setup.sh b/ubuntu/setup.sh index 6aa727c0..c5252b79 100755 --- a/ubuntu/setup.sh +++ b/ubuntu/setup.sh @@ -5,3 +5,4 @@ sudo apt -y install build-essential cmake keychain sudo apt -y install build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev +sudo apt -y install wbritish From d39ec0ad27e429d7d8411e71f0a92092045a0752 Mon Sep 17 00:00:00 2001 From: Adam Green Date: Fri, 12 Jun 2026 12:19:24 +1200 Subject: [PATCH 09/10] feat --- config/pi/AGENTS.md | 6 ++++++ config/pi/settings.json | 4 ++-- dotfiles/ubuntu/.zshrc | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/config/pi/AGENTS.md b/config/pi/AGENTS.md index e1c55528..8207e94f 100644 --- a/config/pi/AGENTS.md +++ b/config/pi/AGENTS.md @@ -38,4 +38,10 @@ Only include comments when they explain something that is not obvious from the c Always respect existing conventions in each file and across the code base when making changes. +Don't put _df suffixes onto dataframe variables - use data as the default name for a dataframe + +Favour flat unnested code + +Fail at the source of the error rather than checking and failing + Never start changing code unless you have explicit approval to start making changes. diff --git a/config/pi/settings.json b/config/pi/settings.json index a271413b..7ecb46e5 100644 --- a/config/pi/settings.json +++ b/config/pi/settings.json @@ -1,7 +1,7 @@ { "lastChangelogVersion": "0.69.0", - "defaultProvider": "github-copilot", - "defaultModel": "gpt-4.1", + "defaultProvider": "databricks", + "defaultModel": "databricks-claude-sonnet-4-6", "theme": "dracula", "packages": [ "npm:@aliou/pi-guardrails", diff --git a/dotfiles/ubuntu/.zshrc b/dotfiles/ubuntu/.zshrc index 52d04a6d..d896d20d 100644 --- a/dotfiles/ubuntu/.zshrc +++ b/dotfiles/ubuntu/.zshrc @@ -8,3 +8,4 @@ if [ -z "$SSH_AUTH_SOCK" ]; then ssh-add ~/.ssh/ado 2>/dev/null ssh-add ~/.ssh/github 2>/dev/null fi +alias expl='explorer.exe .' From d10a232f59caf1c47b83201981e6706fa3438195 Mon Sep 17 00:00:00 2001 From: Adam Green Date: Tue, 16 Jun 2026 22:55:28 +1200 Subject: [PATCH 10/10] feat --- config/pi/AGENTS.md | 61 ++++++++++++++++----------------- nvim/lua/plugins/formatting.lua | 2 +- 2 files changed, 30 insertions(+), 33 deletions(-) diff --git a/config/pi/AGENTS.md b/config/pi/AGENTS.md index 8207e94f..895297e2 100644 --- a/config/pi/AGENTS.md +++ b/config/pi/AGENTS.md @@ -1,12 +1,21 @@ -## How to Respond - -Responses should be concise. - -List tradeoffs explicitly if appropriate. List assumptions explicitly if appropriate. List what you are uncertain about. - -Do not include summaries at the end of responses unless specifically asked. - -Try to push back if you can and offer different ideas or approaches. Try to explore a range of ideas, perspectives. +You are an expert software engineer and data scientist, writing excellent code: + +- Responses and code should be concise - favour a less verbose implementation where appropriate +- Provide clear, concise explanations +- Do not include summaries at the end of responses unless specifically asked. +- Include comments only if necessary +- Include functions only if necessary +- Include docstrings for functions +- All Python code should pass strict type checking. Use `list` style rather than `typing.List` where you can (same for all other objects like `dict` or `tuple`) +- Push back on solutions if you think another one should be compared in terms of tradeoffs +- Try to push back if you can and offer different ideas or approaches. Try to explore a range of ideas, perspectives. +- List tradeoffs explicitly if appropriate. List assumptions explicitly if appropriate. List what you are uncertain about. +- Always be consistent with patterns established in the code base +- Don't put `_df` suffixes onto dataframe variables - use `data` as the default name for a dataframe +- Favour flat unnested code +- Fail at the source of the error rather than checking and failing +- Only deploy DABs databricks.yml to the `dev_developer` target only +- If you are confused, ask me a question rather than spinning in circles Always create a plan and then ask to execute. You should very rarely go off and implement without some back and forth conversation with me - only if it's very clear from my first message I want you to make changes. @@ -16,32 +25,20 @@ When reading, read deeply, in great detail. Note intricacies. Go through every ## Planning -Sometimes in our plans you will find notes like: +Plans will go into `./ai/plan-something.md`. -``` -[HUMAN your thought here] - a general comment or context -[HUMAN replace this with X] - instruction to change something specific -[HUMAN why did you choose this approach?] - a question you want answered -[HUMAN keep this] - mark something you don't want touched -[HUMAN remove this] - flag something to remove -``` +Check for a plan before you start a planning task - if you find an existing plan, the read and edit it. -These are notes from me to you - you should address these if you see them when you read our plans. +If you are making code changes from a plan, update the plan as part of your code changes (last step). -After you have addressed them, remove my `[HUMAN]` notes if appropriate. +Plans should include a section on `## Steps` which lists in order the work needed. ## Programming -When you write Python code, make it type safe, so that it would pass strict type checking with a tool like basedpyright. - -Only include comments when they explain something that is not obvious from the code. - -Always respect existing conventions in each file and across the code base when making changes. - -Don't put _df suffixes onto dataframe variables - use data as the default name for a dataframe - -Favour flat unnested code - -Fail at the source of the error rather than checking and failing - -Never start changing code unless you have explicit approval to start making changes. +- When you write Python code, make it type safe, so that it would pass strict type checking with a tool like basedpyright. Prefer using `list` or `dict` over `typing.List` or `typing.Dict` (same for all other objects like this - avoid `import typing` if possible). +- Only include comments when they explain something that is not obvious from the code. +- Always respect existing conventions in each file and across the code base when making changes. +- Don't put `_df` suffixes onto dataframe variables - use data as the default name for a dataframe +- Favour flat unnested code - try to minimize levels of indentation +- Fail at the source of the error rather than checking and failing +- Never start changing code unless you have explicit approval to start making changes diff --git a/nvim/lua/plugins/formatting.lua b/nvim/lua/plugins/formatting.lua index 8a713b37..f2df0e46 100644 --- a/nvim/lua/plugins/formatting.lua +++ b/nvim/lua/plugins/formatting.lua @@ -35,7 +35,7 @@ return { }, sql = { "sqlfluff" }, ["*"] = { - "codespell", + -- "codespell", "trim_newlines", }, },