Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,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
Expand Down
63 changes: 63 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,4 +117,67 @@ Lot's of aliases - see `./scripts/aliases.sh`. Some small interactive shell hel

`CLAUDE.md` at the repo root serves the same purpose for Claude Code.

<<<<<<< HEAD
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>setenv.XDG_CONFIG_HOME</string>
<key>ProgramArguments</key>
<array>
<string>sh</string>
<string>-c</string>
<string>launchctl setenv XDG_CONFIG_HOME $HOME/dotfiles</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

$ launchctl load ~/Library/LaunchAgents/setenv.XDG_CONFIG_HOME.plist
```

## 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, 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).
||||||| 5f1ddca
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>setenv.XDG_CONFIG_HOME</string>
<key>ProgramArguments</key>
<array>
<string>sh</string>
<string>-c</string>
<string>launchctl setenv XDG_CONFIG_HOME $HOME/dotfiles</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

$ launchctl load ~/Library/LaunchAgents/setenv.XDG_CONFIG_HOME.plist
```

## Agent Configuration

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.

Skills are defined once in agents/skills/ and symlinked by make dotfiles to both ~/.agents/skills (pi) and ~/.claude/skills (Claude Code).
=======
Skills are defined once in `.agents/skills/` and symlinked by `make dotfiles` to both `~/.agents/skills` (for Pi) and `~/.claude/skills` (for Claude Code).
>>>>>>> dacbf2ff02af0435dad113fec6089182f393df64
17 changes: 16 additions & 1 deletion config/brew/Brewfile
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ brew "tig"
brew "tree"
brew "wget"
brew "zoxide"
brew "deno"
brew "yarn"

# Language servers & linters
brew "actionlint"
Expand Down Expand Up @@ -97,9 +99,14 @@ brew "wordnet"

# Taps
brew "hudochenkov/sshpass/sshpass"
brew "koekeishiya/formulae/skhd"
if OS.mac?
brew "koekeishiya/formulae/skhd"
end
brew "koekeishiya/formulae/yabai"

# TODO!!!
# brew tap databricks/tap

# Casks
cask "amethyst"
cask "claude-code"
Expand All @@ -112,7 +119,15 @@ cask "mactex"

brew "markdownlint-cli"
cask "copilot-cli"
brew "azure-cli"
brew "git-delta"
cask "keycastr"
<<<<<<< HEAD:brew/Brewfile

tap "databricks/tap"
brew "databricks"
||||||| 5f1ddca:brew/Brewfile
=======
brew "marp-cli"
brew "btop"
>>>>>>> dacbf2ff02af0435dad113fec6089182f393df64:config/brew/Brewfile
51 changes: 51 additions & 0 deletions config/nvim/lazy-lock.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,55 @@
{
"Vim-Jinja2-Syntax": { "branch": "master", "commit": "2c17843b074b06a835f88587e1023ceff7e2c7d1" },
<<<<<<< HEAD:nvim/lazy-lock.json
"barbar.nvim": { "branch": "master", "commit": "539d73def39c9172b4d4d769f14090e08f37b29d" },
"blink-cmp-copilot": { "branch": "main", "commit": "439cff78780c033aa23cf061d7315314b347e3c1" },
"blink-cmp-dictionary": { "branch": "master", "commit": "35142bba869b869715e91a99d2f46bcf93fca4ae" },
"blink-cmp-env": { "branch": "main", "commit": "99af62c1f9aa46005e8f50ad4ccee581946546ca" },
"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": "28c22791153a90bb61a86fbeeae0f812e048ade7" },
"codecompanion.nvim": { "branch": "main", "commit": "680c445eb357c72129d175ea5d481aa9e92ae6a5" },
"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": "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": "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": "0fcc83805ad11cf714a949c98c605ed717e0b83e" },
"peek.nvim": { "branch": "master", "commit": "5820d937d5414baea5f586dc2a3d912a74636e5b" },
"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": "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" },
||||||| 5f1ddca:config/nvim/lazy-lock.json
=======
"barbar.nvim": { "branch": "master", "commit": "a4bef5b4fc1f064f2f673172252028eae18191c9" },
"blink-cmp-copilot": { "branch": "main", "commit": "439cff78780c033aa23cf061d7315314b347e3c1" },
"blink-cmp-dictionary": { "branch": "master", "commit": "17ea03ba5c296310b9f74587b52fde1b04d84c1a" },
Expand Down Expand Up @@ -49,6 +99,7 @@
"vim-argwrap": { "branch": "master", "commit": "03615d1eed248408567bc8fa6a5a8c94ef3cd170" },
"vim-fugitive": { "branch": "master", "commit": "3b753cf8c6a4dcde6edee8827d464ba9b8c4a6f0" },
"vim-markdown": { "branch": "master", "commit": "1bc9d0cd8e1cc3e901b0a49c2b50a843f1c89397" },
>>>>>>> dacbf2ff02af0435dad113fec6089182f393df64:config/nvim/lazy-lock.json
"vim-markdown-toc": { "branch": "master", "commit": "66026b323379c9a712c6169cd43153216acef090" },
"vim-one": { "branch": "master", "commit": "187f5c85b682c1933f8780d4d419c55d26a82e24" },
"vim-python-pep8-indent": { "branch": "master", "commit": "60ba5e11a61618c0344e2db190210145083c91f8" },
Expand Down
7 changes: 5 additions & 2 deletions config/nvim/lua/plugins/formatting.lua
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,13 @@ return {
-- markdown = { "injected" },
javascript = { "prettier" },
css = { "stylelint" },
yaml = { "yamlfix" },
yaml = {
"yamlfix",
"trim_whitespace",
},
sql = { "sqlfluff" },
["*"] = {
"codespell",
-- "codespell",
"trim_newlines",
},
},
Expand Down
48 changes: 48 additions & 0 deletions config/pi/AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,50 @@
<<<<<<< HEAD
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.

## Searching & Reading

When reading, read deeply, in great detail. Note intricacies. Go through everything.

## Planning

Plans will go into `./ai/plan-something.md`.

Check for a plan before you start a planning task - if you find an existing plan, the read and edit it.

If you are making code changes from a plan, update the plan as part of your code changes (last step).

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. 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
||||||| 5f1ddca
=======
## How to Respond

Responses should be concise.
Expand Down Expand Up @@ -41,3 +88,4 @@ 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.

Always ask for permissions before starting work. Never edit files until you have presented a plat to the user.
>>>>>>> dacbf2ff02af0435dad113fec6089182f393df64
17 changes: 17 additions & 0 deletions config/pi/settings.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
{
<<<<<<< HEAD
"lastChangelogVersion": "0.69.0",
"defaultProvider": "databricks",
"defaultModel": "databricks-claude-sonnet-4-6",
||||||| 5f1ddca
"lastChangelogVersion": "0.66.1",
"defaultProvider": "openrouter",
"defaultModel": "moonshotai/kimi-k2.5",
=======
"lastChangelogVersion": "0.78.0",
"defaultProvider": "openrouter",
"defaultModel": "moonshotai/kimi-k2.5",
>>>>>>> dacbf2ff02af0435dad113fec6089182f393df64
"theme": "dracula",
"packages": [
"npm:@aliou/pi-guardrails",
Expand All @@ -12,5 +22,12 @@
"npm:@guwidoe/pi-prompt-suggester"
],
"defaultThinkingLevel": "off",
<<<<<<< HEAD
"quietStartup": false
||||||| 5f1ddca
"defaultThinkingLevel": "medium",
"quietStartup": false
=======
"quietStartup": true
>>>>>>> dacbf2ff02af0435dad113fec6089182f393df64
}
4 changes: 0 additions & 4 deletions dotfiles/common/.zshenv
Original file line number Diff line number Diff line change
@@ -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/.config"
if command -v launchctl >/dev/null 2>&1; then
Expand Down
2 changes: 0 additions & 2 deletions dotfiles/common/.zshrc
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions dotfiles/macos/.zshrc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ export POWERLINE_NERD_FONTS=1

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
Expand Down
1 change: 1 addition & 0 deletions dotfiles/ubuntu/.bashrc
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
source "$HOME"/dotfiles/dotfiles/common/.bashrc
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
10 changes: 10 additions & 0 deletions dotfiles/ubuntu/.zshrc
Original file line number Diff line number Diff line change
@@ -1 +1,11 @@
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
alias expl='explorer.exe .'
3 changes: 2 additions & 1 deletion dotfiles/wsl/.zshrc
Original file line number Diff line number Diff line change
@@ -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)

[ -d ~/docs ] || ln -s "/mnt/c/Users/ag43/OneDrive - Meridian Energy Limited/Documents/docs" ~/docs
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
2 changes: 1 addition & 1 deletion dotfiles/wsl/common.sh
Original file line number Diff line number Diff line change
@@ -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
Expand Down
1 change: 1 addition & 0 deletions os/ubuntu/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
3 changes: 3 additions & 0 deletions scripts/aliases.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ alias markserv='markserv --browser'
# vim
alias vi='$EDITOR'

# nvim
alias diffview='nvim +DiffviewOpen'

# python
alias py='python'
alias ipy='ipython'
Expand Down
1 change: 1 addition & 0 deletions scripts/setup-uv.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Loading