markshust/hcf/project-setup
Claude Code and agent skill by markshust/hcf
- community
- ext:[{"type":"hook","description":"Pre/post lifecycle hooks"}]
Checking that the SKILL.md file is still in the repository.
One-time interactive setup to configure a project for autonomous development. Use when setting up a new project for TDD-based autonomous development with HCF.
Install
npx vskill@latest install markshust/hcf/project-setupSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
One-time interactive setup to configure a project for autonomous development.
Purpose
Create CLAUDE.md and all project configuration files in .claude/ through an interactive process with auto-detection.
Execution Steps
Step 1: Check for Existing Configuration
First, check if configuration already exists:
If CLAUDE.md and all 3 config files (testing.md, code-standards.md, architecture.md) exist, inform the user:
Project already configured. CLAUDE.md and config files exist in.claude/. To reconfigure, delete CLAUDE.md and.claude/then run/project-setupagain.
Otherwise, continue with setup.
Step 2: Auto-Detect Project Type
Scan the project root for configuration files to detect the tech stack:
Check for these files (in parallel):
composer.json→ PHP/Laravel/Symfonypackage.json→ Node.js/React/Vue/Next.jsCargo.toml→ Rustgo.mod→ Gopyproject.tomlorrequirements.txt→ PythonGemfile→ Ruby/Railspom.xmlorbuild.gradle→ Java*.csprojor*.sln→ .NET
For each detected file, extract:
- Framework and version
- Testing framework (from devDependencies or test config)
- Linting/formatting tools
Example auto-detection output:
Step 3: Confirm Detection
Ask user to confirm detected configuration:
I detected the following. Is this correct? (y/n)[Show detected config]
If incorrect, ask clarifying questions about each incorrect item.
Step 4: Gather Additional Information
Ask these questions (skip if already detected):
Q1: Test Command
What command runs your tests?Detected:./vendor/bin/pest[Enter to confirm or type custom]
Q1b: Parallel Test Command
Does your test runner support parallel execution? If so, what's the command?(e.g.,./vendor/bin/pest --parallel,npm test -- --parallel,pytest -n auto,go test ./... -parallel 4)[Enter detected parallel command, type custom, or 'none' if not supported]
Auto-detect hints:
composer.jsonhasbrianium/paratestorpestphp/pest→ suggest{test command} --parallelpackage.jsonhasjest→ suggest{test command} --runInBandis serial, default is already parallelpackage.jsonhasvitest→ already parallel by defaultpytestwithpytest-xdist→ suggestpytest -n autogo test→ suggestgo test ./... -parallel {num}cargo test→ already parallel by default
Q2: Lint Command
What command runs your linter?Detected:./vendor/bin/pint[Enter to confirm or type custom]
Q3: Architectural Patterns
Which patterns does this project use? (select all that apply)- [ ] Repository pattern- [ ] Service classes- [ ] Form requests / DTOs- [ ] Event sourcing- [ ] CQRS- [ ] Other (specify)
Q4: Code Standards
Any specific coding standards or style guides?Detected: PSR-12 [Enter to confirm or specify]
Q5: Coverage Requirements
Minimum test coverage percentage? (e.g., 80)Default: 80
Step 5: Open-Ended Project Dump
Offer the user a chance to provide additional context:
Tell me anything else about your project I should know.You can paste:- README content- Architecture decisions- Naming conventions- Special requirements- Team preferences(Paste below, then type 'done' on a new line when finished, or 'skip' to skip)
Parse the dump for:
- Directory structure descriptions
- Naming conventions
- Special patterns or rules
- Integration details
Step 6: Create Configuration Files
Create the .claude/ directory and all config files:
Note: The templates below show the minimum required sections. Expand each file with additional relevant details based on project complexity. For example, a framework project might include extensive architecture docs, while a simple app might stick closer to the minimum.
Create `.claude/testing.md`:
Optional expansions: Testing principles, framework-specific features, common test patterns, mocking strategies, CI configuration.
Create `.claude/code-standards.md`:
Optional expansions: Code structure rules, attribute/decorator standards, documentation standards, pre-commit hooks, code review checklist.
Create `.claude/architecture.md`:
Optional expansions: DI/IoC details, plugin/extension system, event system, routing, configuration, bootstrap process, error handling, versioning strategy.
Pipeline enrollment (nothing to scaffold):
Pipeline agents enroll via their own frontmatter (phase:), so a fresh setup already has a working pipeline from the plugin's bundled agents — nothing to scaffold here. devils-advocate runs at post-plan; standards-enforcer ships dormant (uncomment its phase to enable). See HOOKS.md. Running hooks/discover-hooks.sh prints exactly what is enrolled at each hook.
Tell the user:
Pipeline ready.devils-advocateis enrolled at thepost-planhook via its own agent frontmatter, so it runs automatically when you create a plan.standards-enforcerships with HCF but is dormant — uncomment itsphasekey in the agent's frontmatter to enable code-standards enforcement on changed files.To add your own gate, drop an agent file in.claude/agents/and give it aphase(one of the 8 hook points). A local agent with the samenameoverrides the plugin's. SeeHOOKS.mdfor the full hook list and frontmatter schema.To see what is currently enrolled at each hook, run$(claude plugin path hcf)/hooks/discover-hooks.sh— that is the fastest answer whenever an agent doesn't fire.
Advanced configuration note:.claude/hcf.jsonis an optional, user-owned file (its only key today isplansDir). Setup never creates it, never modifies it, and never asks about it. If one already exists, leave it exactly as it is. Its absence is the normal case — do not mention it to the user during setup.
Create `CLAUDE.md` in project root:
This file provides always-on context for every Claude session. Keep it concise (~30-50 lines).
Step 7: Confirm Completion
After creating all files, output:
Error Handling
- If unable to detect project type: Ask user to specify manually
- If file creation fails: Report error and suggest checking permissions
- If user provides conflicting information: Ask for clarification
Idempotency
- Check for existing CLAUDE.md and .claude/ config before running
- Never overwrite existing files without explicit confirmation
- Offer to update individual files if some exist
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/project-setup/SKILL.md
Popularity
- Repository stars
- 75
- Repository forks
- 14
- 7-day trend score
- 22
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Extension points
hookPre/post lifecycle hooks
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/markshust/hcf/project-setup)