Skip to main content
Glama

documcp

by tosin2013
development-setup.md10.9 kB
# Setting Up Your Development Environment This tutorial covers setting up a development environment for ongoing documentation work with DocuMCP, including local testing, content workflows, and maintenance automation. ## What You'll Set Up By the end of this tutorial, you'll have: - Local documentation development environment - Live reload and preview capabilities - Content validation and testing workflow - Automated quality checks - Integration with your existing development tools ## Prerequisites - Completed [Getting Started](getting-started.md) and [First Deployment](first-deployment.md) - Node.js 20.0.0+ installed - Your preferred code editor (VS Code recommended) - Git and GitHub CLI (optional but recommended) ## Development Environment Setup ### Step 1: Local Development Server Set up local development with live reload: ```bash # Test local deployment before pushing to GitHub "test my documentation build locally with live reload" ``` This will: - Install development dependencies - Start local server (typically on http://localhost:3000) - Enable live reload for instant preview - Validate build process **For different SSGs:** **Docusaurus:** ```bash npm run start # Opens http://localhost:3000 with live reload ``` **MkDocs:** ```bash mkdocs serve # Opens http://127.0.0.1:8000 with auto-reload ``` **Hugo:** ```bash hugo server -D # Opens http://localhost:1313 with live reload ``` **Jekyll:** ```bash bundle exec jekyll serve --livereload # Opens http://localhost:4000 with live reload ``` ### Step 2: Content Validation Workflow Set up automated content validation: ```bash # Validate all documentation content "validate my documentation content for accuracy and completeness" ``` This checks: - **Link validation**: Internal and external links - **Code syntax**: All code blocks and examples - **Image references**: Missing or broken images - **Content structure**: Diataxis compliance - **SEO optimization**: Meta tags, headings ### Step 3: Quality Assurance Integration Integrate quality checks into your workflow: ```bash # Set up comprehensive documentation quality checks "check all documentation links and validate content quality" ``` **Available validation levels:** - **Basic**: Link checking and syntax validation - **Comprehensive**: Full content analysis with Diataxis compliance - **Advanced**: Performance testing and SEO analysis ### Step 4: Development Scripts Setup Add these scripts to your `package.json`: ```json { "scripts": { "docs:dev": "docusaurus start", "docs:build": "docusaurus build", "docs:serve": "docusaurus serve", "docs:validate": "npm run docs:check-links && npm run docs:test-build", "docs:check-links": "markdown-link-check docs/**/*.md", "docs:test-build": "npm run docs:build && npm run docs:serve -- --no-open", "docs:deploy": "npm run docs:validate && npm run docs:build" } } ``` ## Editor Configuration ### VS Code Setup Create `.vscode/settings.json`: ```json { "markdownlint.config": { "MD013": false, "MD033": false }, "files.associations": { "*.mdx": "mdx" }, "editor.wordWrap": "on", "editor.quickSuggestions": { "strings": true }, "[markdown]": { "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.quickSuggestions": { "comments": "off", "strings": "off", "other": "off" } } } ``` **Recommended VS Code Extensions:** - Markdown All in One - markdownlint - Prettier - Code formatter - GitLens - Live Server (for static preview) ### Content Writing Workflow Establish a content creation workflow: 1. **Create branch** for documentation changes 2. **Write content** using Diataxis principles 3. **Test locally** with live server 4. **Validate content** using DocuMCP tools 5. **Review and refine** based on validation feedback 6. **Commit and push** to trigger deployment ## Automated Quality Checks ### Pre-commit Hooks Set up automated checks before commits: ```bash # Install husky for git hooks npm install --save-dev husky # Set up pre-commit hook npx husky add .husky/pre-commit "npm run docs:validate" ``` Create `.husky/pre-commit`: ```bash #!/usr/bin/env sh . "$(dirname -- "$0")/_/husky.sh" echo "🔍 Validating documentation..." npm run docs:validate echo "📝 Checking markdown formatting..." npx prettier --check "docs/**/*.md" echo "🔗 Validating links..." npm run docs:check-links ``` ### GitHub Actions Integration Enhance your deployment workflow with quality gates: ```yaml # .github/workflows/docs-quality.yml name: Documentation Quality on: pull_request: paths: ['docs/**', '*.md'] jobs: quality-check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - name: Install dependencies run: npm ci - name: Validate documentation run: | npm run docs:validate npm run docs:check-links - name: Test build run: npm run docs:build - name: Comment PR uses: actions/github-script@v7 with: script: | github.rest.issues.createComment({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, body: '✅ Documentation quality checks passed!' }); ``` ## Content Management Strategies ### Diataxis Organization Organize content following Diataxis principles: **Directory Structure:** ``` docs/ ├── tutorials/ # Learning-oriented (beginner-friendly) │ ├── getting-started.md │ ├── first-project.md │ └── advanced-concepts.md ├── how-to-guides/ # Problem-solving (practical steps) │ ├── troubleshooting.md │ ├── configuration.md │ └── deployment.md ├── reference/ # Information-oriented (comprehensive) │ ├── api-reference.md │ ├── cli-commands.md │ └── configuration-options.md └── explanation/ # Understanding-oriented (concepts) ├── architecture.md ├── design-decisions.md └── best-practices.md ``` ### Content Templates Create content templates for consistency: **Tutorial Template:** ```markdown # [Action] Tutorial ## What You'll Learn - Objective 1 - Objective 2 ## Prerequisites - Requirement 1 - Requirement 2 ## Step-by-Step Instructions ### Step 1: [Action] Instructions... ### Step 2: [Action] Instructions... ## Verification How to confirm success... ## Next Steps Where to go next... ``` **How-to Guide Template:** ```markdown # How to [Solve Problem] ## Problem Clear problem statement... ## Solution Step-by-step solution... ## Alternative Approaches Other ways to solve this... ## Troubleshooting Common issues and fixes... ``` ## Performance Optimization ### Build Performance Optimize build times: ```bash # Enable build caching export GATSBY_CACHE_DIR=.cache export GATSBY_PUBLIC_DIR=public # Parallel processing export NODE_OPTIONS="--max-old-space-size=8192" ``` **For large sites:** - Enable incremental builds - Use build caching - Optimize image processing - Minimize plugin usage ### Development Server Performance Speed up local development: ```bash # Fast refresh mode (Docusaurus) npm run start -- --fast-refresh # Hot reload with polling (for file system issues) npm run start -- --poll # Open specific page npm run start -- --host 0.0.0.0 --port 3001 ``` ## Maintenance Automation ### Scheduled Content Validation Set up scheduled validation: ```yaml # .github/workflows/scheduled-validation.yml name: Scheduled Documentation Validation on: schedule: - cron: '0 2 * * 1' # Every Monday at 2 AM jobs: validate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Full validation run: | "check all documentation links with external validation" "validate all content for accuracy and completeness" - name: Create issue on failure if: failure() uses: actions/github-script@v7 with: script: | github.rest.issues.create({ owner: context.repo.owner, repo: context.repo.repo, title: 'Scheduled Documentation Validation Failed', body: 'The weekly documentation validation found issues. Check the workflow logs.', labels: ['documentation', 'maintenance'] }); ``` ### Dependency Updates Automate dependency maintenance: ```yaml # .github/dependabot.yml version: 2 updates: - package-ecosystem: 'npm' directory: '/' schedule: interval: 'weekly' open-pull-requests-limit: 5 labels: - 'dependencies' - 'documentation' ``` ## Collaboration Workflow ### Team Development For team documentation: 1. **Branching strategy**: Feature branches for documentation changes 2. **Review process**: PR reviews for all documentation updates 3. **Style guide**: Consistent writing and formatting standards 4. **Content ownership**: Assign sections to team members ### Review Checklist Documentation PR review checklist: - [ ] Content follows Diataxis principles - [ ] All links work (internal and external) - [ ] Code examples are tested and accurate - [ ] Images are optimized and accessible - [ ] SEO metadata is complete - [ ] Mobile responsiveness verified - [ ] Build succeeds locally and in CI ## Next Steps Your development environment is now ready! Next: 1. **[Learn advanced prompting](../how-to/prompting-guide.md)** for DocuMCP 2. **[Set up monitoring](../how-to/site-monitoring.md)** for your live site 3. **[Optimize for performance](../how-to/performance-optimization.md)** 4. **[Configure custom domains](../how-to/custom-domains.md)** (optional) ## Troubleshooting **Common development issues:** **Port conflicts:** ```bash # Change default port npm run start -- --port 3001 ``` **Memory issues:** ```bash # Increase Node.js memory limit export NODE_OPTIONS="--max-old-space-size=8192" ``` **File watching problems:** ```bash # Enable polling for file changes npm run start -- --poll ``` **Cache issues:** ```bash # Clear build cache rm -rf .docusaurus .cache public npm run start ``` ## Summary You now have: ✅ Local development environment with live reload ✅ Content validation and quality checking ✅ Automated pre-commit hooks ✅ CI/CD integration for quality gates ✅ Performance optimization ✅ Maintenance automation ✅ Team collaboration workflow Your documentation development environment is production-ready!

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tosin2013/documcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server