Breaking down my personal development setup
Published
Go-to references for configurations and custom-build tools. Includes tools for copy-pasting context into large language models. Largely published so I can quickly graph this stuff on my work computer!

This blog post covers the tools I use and the configurations that I have found to work well for me personally. For context, most of these come from doing development as part of Cavalier Autonomous Racing. Development here is, by and large, more informal than the professional settings where I have worked. Therefore, these tools seek to strike a balance between being effective and strict and onerous.
A good example of this tradeoff is implicit conversions between float
<-> double
, size_t
<-> uint32_t
and int32
<-> long64
. Spamming static_cast
does not really make your program any better.
With that framing here are my configurations:
.clangd
or~/.config/clangd/config.yml
(link).clang-format
or~/.config/clang-format
(link).clang-tidy
or~/.config/clang-tidy
(link)
Aliases
My helpful aliases for Linux.
export CMAKE_GENERATOR=Ninja
alias pbcopy="xclip -sel clip"
alias ge="grep -Hrn --include"
My helpful aliases for MacOS
export CMAKE_GENERATOR=Ninja
alias ge="grep -Hrn --include"
VSCode Extensions
plibither8.remove-comments
llvm-vs-code-extensions.vscode-clangd
Tools
- cpp-ctx is a uv self-installing script for passing context into large language models about your local development setup. This properly formats everything into markdown block quotes, gives the file’s source location and more to give llms more information about your local workspace.
ROS 2 C++ Code Coverage
Stay in touch
Subscribe to my RSS feed to stay updated
Have any questions
Feel free to contact me! I will answer any and all inquires