Starter template repo for all your Claude Code needs
This is a starter template repository designed to provide a complete development environment for Claude-Code with pre-configured MCP servers and tools for AI-powered, collaborative, development workflows. The defaults are intentionally minimal, containing only configuration templates for three primary systems: Claude Code, Serena, and Task Master. Users can opt-in to additional claude-code features like skills, plugins, hooks, sub-agents, and so on.
Note
This configuration also focuses on collaborative development workflows where multiple developers are working on the same code-base, which is one of the reasons why most of claude- and mcp-related settings are local-scoped (i.e. most claude settings will be in .claude/settings.local.json so they can be shared with the entire dev team, and not in user-scoped ~/claude/settings.json, which are harder to share with others.)
For this same reason, most of the claude/mcp configuration files are not git-ignored, but instead committed to the repo.
-
๐ค Four Pre-Configured MCP Servers
- Context7: Up-to-date library documentation and code examples
- Serena: Semantic code analysis with LSP integration for intelligent navigation
- Task Master: AI-powered task management and workflow orchestration
- Pal: Multi-model AI integration for debugging, code review, and planning
-
โ๏ธ Automated Template Cleanup
- GitHub Actions workflow for one-click repository initialization
- Configurable inputs for language detection and Task Master settings
- Automatic cleanup of template-specific files for a clean starting point
-
๐ 50+ Task Master Slash Commands
- Pre-configured hierarchical command structure under
/project:tm/ - Commands for task management, complexity analysis, PRD parsing, and workflows
- Complete command reference in
.claude/TM_COMMANDS_GUIDE.md
- Pre-configured hierarchical command structure under
-
๐ Intelligent Code Navigation
- Serena's symbol-based code analysis for efficient exploration
- Token-efficient reading with overview and targeted symbol queries
- Reference tracking and semantic understanding across your codebase
-
๐ Configuration Templates
- Ready-to-use templates for
.serena/,.taskmaster/, and.claude/directories - Placeholder-based customization with repository-specific values
- Permission configuration for tool access control
- Ready-to-use templates for
-
๐ Comprehensive Documentation
- Project-level
CLAUDE.mdwith integration guidance - Task Master integration guide with 400+ lines of best practices
- Complete workflow specification and command references
- Project-level
You will need the following on your workstation:
- Context7 API key
- Gemini API key for pal-mcp-server. You don't need to use gemini and can configure pal with any other provider/models. See pal getting started docs for more details.
You need to have mcpServers present and configured in your ~/.claude.json.
Note
The reason we put them in the user's claude.json configuration, instead of repo local settings, is to prevent committing API keys, which some MCP servers might require.
These configs are also generic enough that they can be re-used across every project, and hence is better placed in user's settings.
Here's an example mcpServers object that you can use as a reference:
{
"context7": {
"type": "http",
"url": "https://mcp.context7.com/mcp",
"headers": {
"CONTEXT7_API_KEY": "YOUR_CONTEXT7_API_KEY"
}
},
"serena": {
"type": "stdio",
"command": "uvx",
"args": [
"--from",
"git+https://github.com/oraios/serena",
"serena",
"start-mcp-server",
"--context",
"ide-assistant",
"--project",
"."
],
"env": {}
},
"task-master-ai": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"--package=task-master-ai",
"task-master-ai"
],
"headers": {}
},
"pal": {
"command": "sh",
"args": [
"-c",
"$HOME/.local/bin/uvx --from git+https://github.com/BeehiveInnovations/pal-mcp-server.git pal-mcp-server"
],
"env": {
"PATH": "/usr/local/bin:/usr/bin:/bin:~/.local/bin",
# see https://github.com/BeehiveInnovations/pal-mcp-server/blob/main/docs/configuration.md#model-configuration
"DEFAULT_MODEL": "auto",
# see https://github.com/BeehiveInnovations/pal-mcp-server/blob/main/docs/advanced-usage.md#thinking-modes
"DEFAULT_THINKING_MODE_THINKDEEP": "high",
"GEMINI_API_KEY": "YOUR_GEMINI_API_KEY",
# see https://github.com/BeehiveInnovations/pal-mcp-server/blob/main/docs/configuration.md#model-usage-restrictions
"GOOGLE_ALLOWED_MODELS": "gemini-3-pro-preview,gemini-2.5-pro,gemini-2.5-flash"
}
}
}-
Create a new project based on this template repository using the Use this template button.
-
A scaffold repo will appear in your GitHub account.
-
Run the
template-cleanupworkflow from your new repo, and provide some inputs for your specific use-case.
Serena MCP Configuration Inputs:
-
LANGUAGE- the main language(s) of your project (see Serena Programming Language Support & Semantic Analysis Capabilities for more details on supported languages) -
SERENA_INITIAL_PROMPT- initial prompt for the project; it will always be given to the LLM upon activating the project
Tip
Take a look at serena project.yaml configuration file for more details.
Task-Master MCP Configuration Inputs:
-
TM_CUSTOM_SYSTEM_PROMPT- custom system prompt to override Claude Code's default behavior -
TM_APPEND_SYSTEM_PROMPT- append additional content to the system prompt -
TM_PERMISSION_MODE- permission mode for file system operations
Tip
See Task Master Advanced Claude Code Settings Usage for more details on the above parameters.
-
Clone your new repo and cd into it
Run
claude /mcp, you should see the mcp servers configured and active:> /mcp โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ Manage MCP servers โ โ โ โ โฏ 1. context7 โ connected ยท Enter to view details โ โ 2. serena โ connected ยท Enter to view details โ โ 3. task-master-ai โ connected ยท Enter to view details โ โ 4. pal โ connected ยท Enter to view details โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏRun
claude "list your skills", you should see the skills from this repo present:> list your skills โ I have access to the following skills: Available Skills analysis-process Turn the idea for a feature into a fully-formed PRD/design/specification and implementation-plan. Use in pre-implementation (idea-to-design) stages to make sure you understand the requirements and have a correct implementation plan before writing actual code. documentation-process After implementing a new feature or fixing a bug, make sure to document the changes. Use after finishing the implementation phase for a feature or a bug-fix. task-master-process Workflow for task-master-ai when working with task-master tasks and PRDs. Use when creating or parsing PRDs from requirements, adding/updating/expanding tasks and other task-master-ai operations. testing-process Guidelines describing how to test the code. Use whenever writing new or updating existing code, for example after implementing a new feature or fixing a bug. --- These skills provide specialized workflows for different stages of development. You can invoke any of them by asking me to use a specific skill (e.g., "use the analysis-process skill" or "help me document this feature"). -
Update the
README.mdwith a full description of your project, then runchmod +x bootstrap.sh && ./bootstrap.shto finalize initialization of the repo. -
Profit
Some examples of the actual claude-code workflows that were executed using templates, configs, skills, and other tools from this repository can be found in examples directory.