# aliou.me

I'm Aliou Diallo, an applied AI consultant and engineer building agent harnesses and tools. I write about what I learn and don't want to forget.

## Posts

- 2026-06-30 [How I use `/tree` and `/spawn` to investigate bugs](https://new.aliou.me/posts/how-i-use-tree-and-spawn-to-investigate-bugs.md)
- 2026-04-04 [Custom providers in Pi](https://new.aliou.me/posts/custom-providers-in-pi.md)
- 2026-02-11 [Why I Use Pi](https://new.aliou.me/posts/why-i-use-pi.md)
- 2026-02-03 [Coding Agents at Team Scale](https://new.aliou.me/posts/coding-agents-team-scale.md)
- 2026-01-20 [The Infrastructure Around Your AGENTS.md](https://new.aliou.me/posts/infrastructure-around-your-agent.md)
- 2026-01-07 [Skills for Domain-Specific Knowledge](https://new.aliou.me/posts/skills-for-domain-knowledge.md)
- 2025-12-20 [Your AGENTS.md can be shorter now](https://new.aliou.me/posts/agents-md-can-be-shorter-now.md)
- 2025-11-28 [Smaller and simpler feedback loops](https://new.aliou.me/posts/smaller-and-simpler-feedback-loops.md)
- 2025-10-17 [Upgrading the nvim-treesitter plugin](https://new.aliou.me/posts/upgrading-nvim-treesitter.md)
- 2024-12-28 [Enabling font ligatures for GitHub Monaspace in Ghostty](https://new.aliou.me/posts/enabling-font-ligatures-ghostty.md)
- 2020-04-09 [Using named captures to extract information from ruby strings](https://new.aliou.me/posts/regexp-named-captures.md)
- 2020-02-18 [Changing perception of objects by overriding the inspect method](https://new.aliou.me/posts/overriding-inspect.md)
- 2019-10-08 [Using Rails's Attributes API to serialize Value Objects](https://new.aliou.me/posts/attributes-api-and-value-objects.md)
- 2019-01-17 [Three ways to ignore files in Git](https://new.aliou.me/posts/three-ways-to-ignore-files-in-git.md)
- 2018-09-18 [Postgres timestamp ranges in Ecto](https://new.aliou.me/posts/postgres-tsranges-in-ecto.md)
- 2018-08-27 [Namespaced Rails validators](https://new.aliou.me/posts/namespaced-rails-validators.md)
- 2018-08-26 [A global .gitignore](https://new.aliou.me/posts/a-global-gitignore.md)

## TILs

- 2026-05-29 [Thoughts on Claude Code's Workflow feature](https://new.aliou.me/tils/claude-code-workflow.md)
- 2026-05-28 [Claude Opus's fast mode](https://new.aliou.me/tils/claude-opus-fast-mode.md)
- 2026-05-13 [A prompt for knowledge gaps](https://new.aliou.me/tils/knowledge-gap-prompt.md)
- 2026-05-11 [LLM CLI tools in shebang lines](https://new.aliou.me/tils/llm-shebang-scripts.md)
- 2026-05-07 [GitHub PR and issue autocomplete for Pi](https://new.aliou.me/tils/gh-pr-issue-autocomplete.md)
- 2026-03-23 [Pi Init extension](https://new.aliou.me/tils/pi-init-extension.md)
- 2026-03-16 [Linear's agent interaction guidelines in Pi](https://new.aliou.me/tils/linear-agent-guidelines-pi.md)
- 2026-03-12 [Restoring Ghostty tabs and splits](https://new.aliou.me/tils/ghostty-tabs-restore.md)
- 2026-02-11 [When Opus thought it was on Linux](https://new.aliou.me/tils/opus-linux-macos-tmux.md)
- 2026-01-29 [Using Kimi K2.5 with Pi via Synthetic](https://new.aliou.me/tils/pi-synthetic-kimi.md)
- 2026-01-26 [Pi Guardrails extension](https://new.aliou.me/tils/pi-guardrails.md)
- 2026-01-26 [Pi Processes extension](https://new.aliou.me/tils/pi-processes-extension.md)
- 2026-01-26 [Jellybeans theme for Pi](https://new.aliou.me/tils/jellybeans-theme-for-pi.md)
- 2025-08-21 [In-Memory DuckDB with GCS Parquet Files in Cube](https://new.aliou.me/tils/duckdb-inmemory-gcs-parquet-cube.md)
- 2025-08-15 [Template Literal Types for Dynamic API Generation](https://new.aliou.me/tils/template-literal-types-for-joins.md)
- 2025-08-12 [Smooth Theme-Aware Images with CSS Transitions](https://new.aliou.me/tils/theme-aware-images.md)
- 2025-08-07 [Type-Safe Domain Models with Interface Augmentation in TypeScript](https://new.aliou.me/tils/type-safe-domain-models-with-interface-augmentation.md)
- 2025-08-06 [Adding Custom Language Support to Shiki](https://new.aliou.me/tils/custom-shiki-languages.md)

## Links

- 2026-06-30 [How do I design the right primitive?](https://new.aliou.me/links/how-do-i-design-the-right-primitive.md)
- 2026-06-30 [Using MicroVMs](https://new.aliou.me/links/using-microvms.md)
- 2026-06-29 [Keeping the harness's primitives consistent](https://new.aliou.me/links/keeping-the-harness-primitives-consistent.md)
- 2026-06-29 [Tau — a coding agent as a curriculum](https://new.aliou.me/links/tau-coding-agent-curriculum.md)
- 2026-06-28 [The Rebel Alliance](https://new.aliou.me/links/the-rebel-alliance.md)
- 2026-06-26 [New `us` jurisdiction for Durable Objects](https://new.aliou.me/links/us-non-us-llm-access.md)
- 2026-06-13 [Open Source must win](https://new.aliou.me/links/open-source-must-win.md)
- 2026-06-12 [Something is jamming GPS over Europe. Here's what we found](https://new.aliou.me/links/gps-jamming-europe.md)
- 2026-06-08 [exe.dev's ssh host header](https://new.aliou.me/links/ssh-host-header.md)
- 2026-06-05 [Rift](https://new.aliou.me/links/rift.md)
- 2026-06-04 [Pi Agent explained in 6min](https://new.aliou.me/links/pi-agent-explained.md)
- 2026-05-15 [Self-upgradable software: a Pi setup](https://new.aliou.me/links/self-upgradable-software.md)
- 2026-05-09 [Crafting Interpreters](https://new.aliou.me/links/crafting-interpreters.md)
- 2026-05-05 [Amp's read thread tool](https://new.aliou.me/links/amp-read-thread.md)
- 2026-04-21 [Just](https://new.aliou.me/links/just.md)
- 2026-04-05 [Building SyntaQLite](https://new.aliou.me/links/building-syntaqlite.md)
- 2026-03-18 [You still need to think](https://new.aliou.me/links/you-still-need-to-think.md)

## Releases

- 2026-06-30 [obsidian-flint: v0.2.0](https://new.aliou.me/releases/obsidian-flint-v0-2-0.md)
- 2026-06-29 [pi-ts-aperture: v0.8.0](https://new.aliou.me/releases/pi-ts-aperture-v0-8-0.md)
- 2026-06-29 [pi-toolchain: v0.10.0](https://new.aliou.me/releases/pi-toolchain-v0-10-0.md)
- 2026-06-29 [pi-edgee: v0.1.0](https://new.aliou.me/releases/pi-edgee-v0-1-0.md)
- 2026-06-27 [pi-ts-aperture: v0.7.0](https://new.aliou.me/releases/pi-ts-aperture-v0-7-0.md)
- 2026-06-26 [pi-guardrails: v0.15.0](https://new.aliou.me/releases/pi-guardrails-v0-15-0.md)
- 2026-06-21 [pi-toolchain: v0.9.0](https://new.aliou.me/releases/pi-toolchain-v0-9-0.md)
- 2026-06-21 [pi-utils-settings: v0.18.0](https://new.aliou.me/releases/pi-utils-settings-v0-18-0.md)
- 2026-06-20 [pi-synthetic: v0.20.0](https://new.aliou.me/releases/pi-synthetic-v0-20-0.md)
- 2026-06-19 [pi-guardrails: v0.14.0](https://new.aliou.me/releases/pi-guardrails-v0-14-0.md)
- 2026-06-19 [pi-toolchain: v0.8.0](https://new.aliou.me/releases/pi-toolchain-v0-8-0.md)
- 2026-06-19 [pi-ts-aperture: v0.6.0](https://new.aliou.me/releases/pi-ts-aperture-v0-6-0.md)
- 2026-06-18 [pi-neuralwatt: v0.7.0](https://new.aliou.me/releases/pi-neuralwatt-v0-7-0.md)
- 2026-06-18 [pi-synthetic: v0.19.0](https://new.aliou.me/releases/pi-synthetic-v0-19-0.md)
- 2026-06-17 [preview-markdown: v0.7.0](https://new.aliou.me/releases/preview-markdown-v0-7-0.md)
- 2026-06-17 [pi-utils-ui: v0.5.0](https://new.aliou.me/releases/pi-utils-ui-v0-5-0.md)
- 2026-06-16 [pi-neuralwatt: v0.6.0](https://new.aliou.me/releases/pi-neuralwatt-v0-6-0.md)
- 2026-06-14 [pi-dev-kit: v0.8.0](https://new.aliou.me/releases/pi-dev-kit-v0-8-0.md)
- 2026-06-10 [pi-utils-settings: v0.17.0](https://new.aliou.me/releases/pi-utils-settings-v0-17-0.md)
- 2026-06-07 [sesame: @aliou/sesame@0.10.0](https://new.aliou.me/releases/sesame-v0-10-0.md)
- 2026-06-02 [sesame: @aliou/sesame@0.9.0](https://new.aliou.me/releases/sesame-v0-9-0.md)
- 2026-06-02 [sh: v0.2.0](https://new.aliou.me/releases/sh-v0-2-0.md)
- 2026-06-01 [pi-utils-settings: v0.16.0](https://new.aliou.me/releases/pi-utils-settings-v0-16-0.md)
- 2026-06-01 [obsidian-flint: v0.1.0](https://new.aliou.me/releases/obsidian-flint-v0-1-0.md)
- 2026-05-28 [granola-cli: v0.2.0](https://new.aliou.me/releases/granola-cli-v0-2-0.md)
- 2026-05-28 [granola-cli: v0.1.0](https://new.aliou.me/releases/granola-cli-v0-1-0.md)
- 2026-05-27 [pi-synthetic: v0.18.0](https://new.aliou.me/releases/pi-synthetic-v0-18-0.md)
- 2026-05-25 [pi-neuralwatt: v0.5.0](https://new.aliou.me/releases/pi-neuralwatt-v0-5-0.md)
- 2026-05-22 [pi-guardrails: v0.13.0](https://new.aliou.me/releases/pi-guardrails-v0-13-0.md)
- 2026-05-19 [preview-markdown: v0.6.0](https://new.aliou.me/releases/preview-markdown-v0-6-0.md)
- 2026-05-18 [pi-guardrails: v0.12.0](https://new.aliou.me/releases/pi-guardrails-v0-12-0.md)
- 2026-05-17 [vite-plugin-obsidian: @aliou/vite-plugin-obsidian@0.2.0](https://new.aliou.me/releases/vite-plugin-obsidian-v0-2-0.md)
- 2026-05-15 [nvim-pi: v0.2.0](https://new.aliou.me/releases/nvim-pi-v0-2-0.md)
- 2026-05-15 [pi-linear: 0.1.0](https://new.aliou.me/releases/pi-linear-v0-1-0.md)
- 2026-05-14 [vite-plugin-obsidian: v0.1.0](https://new.aliou.me/releases/vite-plugin-obsidian-v0-1-0.md)
- 2026-05-09 [pi-processes: v0.9.0](https://new.aliou.me/releases/pi-processes-v0-9-0.md)
- 2026-05-08 [pi-linkup: v0.11.0](https://new.aliou.me/releases/pi-linkup-v0-11-0.md)
- 2026-05-08 [pi-synthetic: v0.17.0](https://new.aliou.me/releases/pi-synthetic-v0-17-0.md)
- 2026-05-08 [pi-toolchain: v0.7.0](https://new.aliou.me/releases/pi-toolchain-v0-7-0.md)
- 2026-05-07 [pi-dev-kit: v0.7.0](https://new.aliou.me/releases/pi-dev-kit-v0-7-0.md)
- 2026-05-07 [pi-utils-settings: v0.15.0](https://new.aliou.me/releases/pi-utils-settings-v0-15-0.md)
- 2026-05-07 [pi-utils-ui: v0.4.0](https://new.aliou.me/releases/pi-utils-ui-v0-4-0.md)
- 2026-05-06 [pi-synthetic: v0.16.0](https://new.aliou.me/releases/pi-synthetic-v0-16-0.md)
- 2026-05-05 [pi-utils-settings: v0.14.0](https://new.aliou.me/releases/pi-utils-settings-v0-14-0.md)
- 2026-05-05 [pi-utils-ui: v0.3.0](https://new.aliou.me/releases/pi-utils-ui-v0-3-0.md)
- 2026-05-02 [pi-synthetic: v0.15.0](https://new.aliou.me/releases/pi-synthetic-v0-15-0.md)
- 2026-05-02 [pi-synthetic: v0.14.0](https://new.aliou.me/releases/pi-synthetic-v0-14-0.md)
- 2026-04-29 [pi-neuralwatt: v0.2.0](https://new.aliou.me/releases/pi-neuralwatt-v0-2-0.md)
- 2026-04-23 [pi-ts-aperture: v0.5.0](https://new.aliou.me/releases/pi-ts-aperture-v0-5-0.md)
- 2026-04-20 [pi-neuralwatt: v0.1.0](https://new.aliou.me/releases/pi-neuralwatt-v0-1-0.md)
- 2026-04-20 [pi-processes: v0.8.0](https://new.aliou.me/releases/pi-processes-v0-8-0.md)
- 2026-04-17 [pi-guardrails: v0.11.0](https://new.aliou.me/releases/pi-guardrails-v0-11-0.md)
- 2026-04-16 [pi-synthetic: v0.13.0](https://new.aliou.me/releases/pi-synthetic-v0-13-0.md)
- 2026-04-14 [pi-synthetic: v0.12.0](https://new.aliou.me/releases/pi-synthetic-v0-12-0.md)
- 2026-04-14 [pi-utils-ui: v0.2.0](https://new.aliou.me/releases/pi-utils-ui-v0-2-0.md)
- 2026-04-13 [pi-synthetic: v0.11.0](https://new.aliou.me/releases/pi-synthetic-v0-11-0.md)
- 2026-04-10 [pi-guardrails: v0.10.0](https://new.aliou.me/releases/pi-guardrails-v0-10-0.md)
- 2026-04-08 [pi-synthetic: v0.10.0](https://new.aliou.me/releases/pi-synthetic-v0-10-0.md)
- 2026-04-06 [pi-synthetic: v0.9.0](https://new.aliou.me/releases/pi-synthetic-v0-9-0.md)
- 2026-04-06 [pi-utils-settings: v0.13.0](https://new.aliou.me/releases/pi-utils-settings-v0-13-0.md)
- 2026-04-03 [pi-ts-aperture: v0.4.0](https://new.aliou.me/releases/pi-ts-aperture-v0-4-0.md)
- 2026-04-02 [pi-processes: v0.7.0](https://new.aliou.me/releases/pi-processes-v0-7-0.md)
- 2026-04-01 [pi-dev-kit: v0.6.0](https://new.aliou.me/releases/pi-dev-kit-v0-6-0.md)
- 2026-04-01 [pi-linkup: v0.10.0](https://new.aliou.me/releases/pi-linkup-v0-10-0.md)
- 2026-04-01 [pi-linkup: v0.9.0](https://new.aliou.me/releases/pi-linkup-v0-9-0.md)
- 2026-03-31 [pi-toolchain: v0.6.0](https://new.aliou.me/releases/pi-toolchain-v0-6-0.md)
- 2026-03-29 [pi-utils-settings: v0.12.0](https://new.aliou.me/releases/pi-utils-settings-v0-12-0.md)
- 2026-03-27 [linear-cli: v0.5.0](https://new.aliou.me/releases/linear-cli-v0-5-0.md)
- 2026-03-25 [pi-utils-settings: v0.11.0](https://new.aliou.me/releases/pi-utils-settings-v0-11-0.md)
- 2026-03-25 [linear-cli: v0.4.0](https://new.aliou.me/releases/linear-cli-v0-4-0.md)
- 2026-03-20 [pi-dev-kit: v0.5.0](https://new.aliou.me/releases/pi-dev-kit-v0-5-0.md)
- 2026-03-20 [linear-cli: v0.3.0](https://new.aliou.me/releases/linear-cli-v0-3-0.md)
- 2026-03-18 [pi-linkup: v0.8.0](https://new.aliou.me/releases/pi-linkup-v0-8-0.md)
- 2026-03-17 [pi-synthetic: v0.8.0](https://new.aliou.me/releases/pi-synthetic-v0-8-0.md)
- 2026-03-17 [preview-markdown: v0.5.0](https://new.aliou.me/releases/preview-markdown-v0-5-0.md)
- 2026-03-15 [fastmail-cli: v0.2.0](https://new.aliou.me/releases/fastmail-cli-v0-2-0.md)
- 2026-03-12 [pi-synthetic: v0.7.0](https://new.aliou.me/releases/pi-synthetic-v0-7-0.md)
- 2026-03-11 [pi-toolchain: v0.5.0](https://new.aliou.me/releases/pi-toolchain-v0-5-0.md)
- 2026-03-10 [pi-toolchain: v0.4.0](https://new.aliou.me/releases/pi-toolchain-v0-4-0.md)
- 2026-03-10 [linear-cli: v0.1.0](https://new.aliou.me/releases/linear-cli-v0-1-0.md)
- 2026-03-06 [pi-utils-settings: v0.10.0](https://new.aliou.me/releases/pi-utils-settings-v0-10-0.md)
- 2026-03-06 [sesame: v0.8.0](https://new.aliou.me/releases/sesame-v0-8-0.md)
- 2026-03-05 [pi-utils-settings: v0.9.0](https://new.aliou.me/releases/pi-utils-settings-v0-9-0.md)
- 2026-03-04 [pi-guardrails: v0.9.0](https://new.aliou.me/releases/pi-guardrails-v0-9-0.md)
- 2026-03-04 [pi-guardrails: v0.8.0](https://new.aliou.me/releases/pi-guardrails-v0-8-0.md)
- 2026-03-04 [pi-processes: v0.6.0](https://new.aliou.me/releases/pi-processes-v0-6-0.md)
- 2026-03-04 [pi-ts-aperture: v0.3.0](https://new.aliou.me/releases/pi-ts-aperture-v0-3-0.md)
- 2026-03-04 [pi-utils-settings: v0.8.0](https://new.aliou.me/releases/pi-utils-settings-v0-8-0.md)
- 2026-03-02 [pi-harness: @aliou/pi-utils-settings@0.7.0](https://new.aliou.me/releases/pi-harness-v0-7-0.md)
- 2026-02-28 [sesame: v0.7.0](https://new.aliou.me/releases/sesame-v0-7-0.md)
- 2026-02-25 [pi-synthetic: v0.6.0](https://new.aliou.me/releases/pi-synthetic-v0-6-0.md)
- 2026-02-25 [sesame: v0.6.0](https://new.aliou.me/releases/sesame-v0-6-0.md)
- 2026-02-24 [pi-synthetic: v0.5.0](https://new.aliou.me/releases/pi-synthetic-v0-5-0.md)
- 2026-02-22 [preview-markdown: v0.4.0](https://new.aliou.me/releases/preview-markdown-v0-4-0.md)
- 2026-02-21 [pi-processes: v0.5.0](https://new.aliou.me/releases/pi-processes-v0-5-0.md)
- 2026-02-19 [pi-ts-aperture: v0.2.0](https://new.aliou.me/releases/pi-ts-aperture-v0-2-0.md)
- 2026-02-17 [pi-harness: @aliou/pi-utils-settings@0.4.0](https://new.aliou.me/releases/pi-harness-v0-4-0.md)
- 2026-02-17 [pi-ts-aperture: v0.1.0](https://new.aliou.me/releases/pi-ts-aperture-v0-1-0.md)
- 2026-02-14 [sesame: v0.5.0](https://new.aliou.me/releases/sesame-v0-5-0.md)
- 2026-02-12 [pi-linkup: v0.7.0](https://new.aliou.me/releases/pi-linkup-v0-7-0.md)
- 2026-02-12 [sesame: v0.4.0](https://new.aliou.me/releases/sesame-v0-4-0.md)
- 2026-02-11 [pi-harness: @aliou/pi-utils-settings@0.3.0](https://new.aliou.me/releases/pi-harness-v0-3-0.md)
- 2026-02-10 [pi-linkup: v0.6.0](https://new.aliou.me/releases/pi-linkup-v0-6-0.md)
- 2026-02-10 [pi-linkup: v0.4.0](https://new.aliou.me/releases/pi-linkup-v0-4-0.md)
- 2026-02-10 [sesame: v0.2.0](https://new.aliou.me/releases/sesame-v0-2-0.md)
- 2026-02-10 [sesame: v0.3.0](https://new.aliou.me/releases/sesame-v0-3-0.md)
- 2026-02-09 [preview-markdown: v0.3.0](https://new.aliou.me/releases/preview-markdown-v0-3-0.md)
- 2026-02-09 [sesame: v0.1.0](https://new.aliou.me/releases/sesame-v0-1-0.md)
- 2026-02-05 [pi-harness: @aliou/pi-toolchain@0.2.0](https://new.aliou.me/releases/pi-harness-v0-2-0.md)
- 2026-02-04 [pi-harness: @aliou/pi-guardrails@0.6.0](https://new.aliou.me/releases/pi-harness-v0-6-0.md)
- 2026-02-04 [pi-harness: @aliou/pi-toolchain@0.1.0](https://new.aliou.me/releases/pi-harness-v0-1-0.md)
- 2026-02-04 [sh: v0.1.0](https://new.aliou.me/releases/sh-v0-1-0.md)
- 2026-02-03 [pi-linkup: v0.3.0](https://new.aliou.me/releases/pi-linkup-v0-3-0.md)
- 2026-02-03 [pi-linkup: v0.2.0](https://new.aliou.me/releases/pi-linkup-v0-2-0.md)
- 2026-02-02 [pi-synthetic: v0.4.0](https://new.aliou.me/releases/pi-synthetic-v0-4-0.md)
- 2026-01-29 [pi-synthetic: v0.3.0](https://new.aliou.me/releases/pi-synthetic-v0-3-0.md)
- 2026-01-29 [pi-synthetic: v0.2.0](https://new.aliou.me/releases/pi-synthetic-v0-2-0.md)
- 2026-01-29 [pi-synthetic: v0.1.0](https://new.aliou.me/releases/pi-synthetic-v0-1-0.md)
- 2026-01-29 [pi-harness: @aliou/pi-guardrails@0.5.0](https://new.aliou.me/releases/pi-harness-v0-5-0.md)
- 2026-01-28 [pi-linkup: pi-linkup@0.1.0](https://new.aliou.me/releases/pi-linkup-v0-1-0.md)
- 2026-01-23 [fastmail-cli: v0.1.0](https://new.aliou.me/releases/fastmail-cli-v0-1-0.md)
- 2026-01-16 [preview-markdown: v0.2.0](https://new.aliou.me/releases/preview-markdown-v0-2-0.md)
- 2026-01-02 [preview-markdown: v0.1.0](https://new.aliou.me/releases/preview-markdown-v0-1-0.md)
