Starting to version control my agentic coding dotfiles as I start to feel the pain tracking them across projects.
git submodule add https://github.com/neozenith/agentic-dotfiles.git .claudegit submodule update --init --recursive --remote.gitignore
.claude/Then clone this repo into the gitignored folder:
git clone https://github.com/neozenith/agentic-dotfiles.git .claudecd .claude
git pullImportant MCPs to setup per project as needed:
Look up the latest documentation and code snippets
claude mcp add context7 npx -y @context7/mcpGive agent the ability to drive a browser and check the browser console logs. Can also take screenshots and get the coding agent to interpret visual aspects of websites.
claude mcp add playwright npx @playwright/mcp@latestForce the agent to take a minimum of N thoughts to have extended thinking. Can also prompt to allow branching thoughts, relfective thoughts on prior thoughts.
Best to prompt by specifying "thought budgets"
claude mcp add sequential-thinking npx -y @modelcontextprotocol/server-sequential-thinkingUses actual Language Server Protocol (LSPs) to index the symbols in your project and where they are used.
Ideal for planning features, refactoring and actual symbol look up to create documentation.
claude mcp add serena 'uvx --from git+https://github.com/oraios/serena serena start-mcp-server --context ide-assistant --enable-web-dashboard false --project $(pwd)'Ideal Makefile to complement this MCP will:
- Ensure the project is setup and the Serena config files are setup
- ONLY when code formatting, linting and typechecking pass then reindex the symbols in the project.
# Ensure the .make folder exists when starting make
# We need this for build targets that have multiple or no file output.
# We 'touch' files in here to mark the last time the specific job completed.
_ := $(shell mkdir -p .make)
SHELL := bash
.ONESHELL:
.SHELLFLAGS := -eu -o pipefail -c
MAKEFLAGS += --warn-undefined-variables
MAKEFLAGS += --no-builtin-rules
.PHONY: docs init fix check docs
#########################################################################################
# Project Setup
#########################################################################################
.serena/project.yml:
uvx --from git+https://github.com/oraios/serena serena project create --language python --language typescript $$(pwd)
init: .make/init .serena/project.yml
.make/init:
uv sync --dev
# Initialize SerenaMCP project if not already done
# uvx --from git+https://github.com/oraios/serena serena project create --language python --language typescript $$(pwd)
uvx --from git+https://github.com/oraios/serena serena project index
@touch $@
fix: init
uv run ruff format .
uv run ruff check . --fix
check: init docs fix
uv sync --dev
uv run ruff check . --diff
uv run ruff format . --check --diff
uv run mypy src/
# As long as the whole project is formatted, linted, type checked, and tested then we can update the symbol index for SerenaMCP
uvx --from git+https://github.com/oraios/serena serena project index