This file provides guidance for AI assistants working with this project.
Project Name: Evolution API on Dokku
Type: Deployment Configuration
Primary Technology: Docker, Dokku, Node.js, TypeScript
Purpose: Deploy and manage Evolution API (WhatsApp REST API) on Dokku PaaS
evolution-api-on-dokku/
├── README.md # Main documentation (simplified, overview only)
├── Dockerfile # Docker container configuration
├── app.json # Dokku app configuration
├── LICENSE # MIT License (PRIVATE by default)
├── CODE_OF_CONDUCT.md # Community guidelines
├── CONTRIBUTING.md # Contribution guidelines
├── AGENTS.md # This file - AI assistant guidance
├── .github/ # GitHub specific files (templates, workflows)
│ ├── ISSUE_TEMPLATE/ # Issue templates
│ ├── PULL_REQUEST_TEMPLATE.md
│ ├── BRANCH_PROTECTION.md # Branch protection guide
│ ├── CODEOWNERS # Code ownership
│ ├── FUNDING.yml # Sponsorship configuration
│ ├── SECURITY.md # Security policy
│ ├── dependabot.yml # Dependency updates
│ └── workflows/ # CI/CD workflows
│ ├── link-check.yml # Markdown link validation (ONLY workflow)
│ └── markdown-link-check-config.json
└── docs/ # Complete documentation
├── AGENTS.md # Documentation directory guidance
├── installation.md # Detailed installation guide
├── system-requirements.md # Hardware/software requirements
├── configuration.md # Environment variables and settings
├── useful-commands.md # Command reference
├── performance.md # Performance optimization
└── changelog.md # Version history
This project provides:
- Deployment Configuration: Ready-to-use Dokku deployment for Evolution API
- Documentation: Comprehensive guides for installation, configuration, and optimization
- Best Practices: Optimized settings for different team sizes and use cases
- Cross-Platform Support: Instructions for Linux, macOS, and Windows
- Evolution API: WhatsApp REST API (v2.3.7)
- Dokku: Docker-powered PaaS
- PostgreSQL: Primary database (v18.1) - INCLUDED BY DEFAULT
- Redis: OPTIONAL caching layer (only for 50+ users, not included by default)
- Docker: Container runtime
- Nginx: Reverse proxy (managed by Dokku)
- Let's Encrypt: SSL/TLS certificates
- Documentation: Markdown
- Configuration: JSON, Dockerfile, Shell scripts
- Evolution API: TypeScript/Node.js (upstream project)
-
Main README.md:
- Keep concise and focused on quick start
- Maximum 200 lines
- Link to detailed documentation in
/docs - Include table of contents
- Show minimal installation example
-
Documentation in
/docs:- Detailed, comprehensive guides
- Use clear headings and table of contents
- Provide examples for all platforms (Linux, macOS, Windows)
- Include troubleshooting sections
- Add "Next Steps" links at the end
-
Code Examples:
- Provide both Linux/macOS and Windows versions
- Use comments to explain complex commands
- Include expected output when relevant
- Always include error handling
- Documentation files:
kebab-case.md - Configuration files: Follow respective conventions (e.g.,
Dockerfile,app.json) - Scripts:
kebab-case.shorkebab-case.ps1
- Natural language: Spanish (es_CO) for instructions to human users
- Code, variables, files: English (en_US)
- Comments in code: English (en_US)
- Be concise: Direct and clear explanations
- Be practical: Always provide working examples
- Be inclusive: Support all platforms (Linux, macOS, Windows)
- Create file in
/docswith descriptive kebab-case name - Add comprehensive table of contents
- Include examples for all platforms
- Link from main README.md if relevant
- Add cross-references to related documentation
- Update
/docs/AGENTS.mdif needed
- Update
/docs/installation.mdwith detailed steps - Update quick start in main README.md (keep minimal)
- Test on multiple platforms
- Document any breaking changes in
/docs/changelog.md
- Document in
/docs/configuration.md - Provide examples and default values
- Explain performance implications
- Add to quick reference if commonly used
- Document in
/docs/performance.md - Provide before/after metrics when possible
- Explain trade-offs
- Include monitoring scripts
- Simplicity First: Default configuration should work for 1-10 users with minimal resources
- PostgreSQL Only: Redis is NOT included by default - only recommended for 50+ users
- Scalability: Easy to scale up as team grows (with optional Redis integration)
- Cross-Platform: All instructions work on Linux, macOS, and Windows
- Documentation: Comprehensive, clear, and always up-to-date
- Best Practices: Follow Dokku, Docker, and PostgreSQL best practices
- Minimal by Default: 256MB RAM, 0.5 CPU for cost optimization
- Easy Scaling: Clear guidelines for different team sizes
- Optional Features: Redis, webhooks, etc. are optional and documented
- Security First: HTTPS by default, strong authentication
- Main README: Quick start only, link to detailed docs
- Detailed Docs: In
/docs, comprehensive and searchable - Examples: Working code for all platforms
- Troubleshooting: Common issues and solutions
- Next Steps: Always link to related documentation
This project uses a minimalist CI/CD approach focused on what matters:
Active Workflow:
- link-check.yml: Validates all markdown links in documentation
- Runs on: push, pull_request, schedule (weekly), workflow_dispatch
- Configuration:
.github/workflows/markdown-link-check-config.json - Purpose: Ensures all documentation links are working and not broken
- Tested with:
act -j link-check(✅ passes)
Removed Workflows:
markdown-lint.yml(Removed: Too strict, 280+ formatting errors, not critical for documentation).markdownlint.json(Removed: Configuration no longer needed)
For a documentation project like this:
- Link validation is critical - Broken links frustrate users
- Markdown formatting is subjective - Strict linting creates unnecessary friction
- Maintainability matters - Simple CI/CD is easier to maintain
- Focus on content - Documentation should prioritize clarity over formatting rules
Use act to test GitHub Actions locally:
# List available workflows
act --list
# Run link check workflow
act -j link-checkWindows (PowerShell):
# Install act via Chocolatey
choco install act-cli
# Test link check
act -j link-checkRefer to .github/BRANCH_PROTECTION.md for recommended settings.
Required status check:
Markdown Link Check- Must pass before merging to master/develop
- Server: Linux (Ubuntu, Debian, CentOS)
- Client: Linux, macOS, Windows (PowerShell, Git Bash)
- Dokku: Version 0.30.0+
- PostgreSQL: Version 18.1
- Redis: Optional, latest version
See docs/system-requirements.md for detailed requirements.
Quick Reference:
- Minimal: 256MB RAM, 0.3 CPU, 2GB storage
- Small: 512MB RAM, 1 CPU, 5GB storage
- Medium: 1GB RAM, 2 CPU, 10GB storage
- Large: 2GB+ RAM, 4+ CPU, 20GB+ storage
-
Test Documentation:
- Verify all links work (run
act -j link-check) - Check markdown formatting (visual review, no automated linting)
- Test code examples on target platform
- Verify cross-references
- Verify all links work (run
-
Test GitHub Actions Workflows:
- Run
act -j link-checkto test locally - Ensure all documentation links are valid
- Fix any broken links before committing
- Run
-
Test Configuration:
- Test in minimal environment (256MB RAM)
- Test scaling to larger environments
- Verify all environment variables work
- Check database migrations
-
Validate Commands:
- Test on Linux/macOS
- Test on Windows (PowerShell)
- Verify error handling
- Check expected output
-
Documentation is too long:
- Move detailed content to
/docs - Keep main README.md concise
- Link to detailed documentation
- Move detailed content to
-
Platform-specific issues:
- Always provide examples for all platforms
- Test on Linux, macOS, and Windows
- Document platform-specific quirks
-
Configuration confusion:
- Use clear variable names
- Provide default values
- Explain implications of changes
- ✅ Always check existing documentation before creating new files
- ✅ Keep main README.md concise (< 200 lines)
- ✅ Provide examples for all platforms
- ✅ Update AGENTS.md when structure changes
- ✅ Test all code examples
- ✅ Link related documentation
- ✅ Use consistent formatting
- ❌ Don't duplicate content between README.md and
/docs - ❌ Don't create files that already exist
- ❌ Don't provide only Linux examples (include Windows/macOS)
- ❌ Don't forget to update changelog when making changes
- ❌ Don't create overly complex configurations
- ❌ Don't ignore cross-platform compatibility
- Installation Guide
- System Requirements
- Configuration
- Redis Integration - OPTIONAL (only for 50+ users)
- Useful Commands
- Performance & Optimization
- Changelog
If you're an AI assistant and need clarification:
- Check existing documentation in
/docs - Review this AGENTS.md file
- Look at similar projects for patterns
- Follow the guidelines in the main instructions file
- When in doubt, ask for clarification rather than guessing
- Last Updated: 2026-01-01
- Evolution API Version: 2.3.7
- Dokku Compatibility: 0.30.0+
- PostgreSQL Version: 18.1