Skip to content

Starting to version control my agentic coding dotfiles as I start to feel the pain tracking them across projects.

License

Notifications You must be signed in to change notification settings

neozenith/agentic-dotfiles

Repository files navigation

agentic-dotfiles

Starting to version control my agentic coding dotfiles as I start to feel the pain tracking them across projects.

Option #1: Submodule

Setup

git submodule add https://github.com/neozenith/agentic-dotfiles.git .claude

Update

git submodule update --init --recursive --remote

Option #2: gitignored clone

Setup

.gitignore

.claude/

Then clone this repo into the gitignored folder:

git clone https://github.com/neozenith/agentic-dotfiles.git .claude

Update

cd .claude
git pull

MCPs

Important MCPs to setup per project as needed:

Dev Tools

Context7 - Technical Documentation

Look up the latest documentation and code snippets

claude mcp add context7 npx -y @context7/mcp

Playwright - Browser testing

Give 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@latest

Cognitive Tools

Sequential Thinking

Force 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-thinking

Serena MCP

Uses 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

About

Starting to version control my agentic coding dotfiles as I start to feel the pain tracking them across projects.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published