Skip to main content
Glama
design-discovery-full.md3.8 kB
# Full Discovery Process for Technical Design ## Objective Conduct comprehensive research and analysis to ensure the technical design is based on complete, accurate, and up-to-date information. ## Discovery Steps ### 1. Requirements Analysis **Map Requirements to Technical Needs** - Extract all functional requirements from EARS format - Identify non-functional requirements (performance, security, scalability) - Determine technical constraints and dependencies - List core technical challenges ### 2. Existing Implementation Analysis **Understand Current System** (if modifying/extending): - Analyze codebase structure and architecture patterns - Map reusable components, services, utilities - Identify domain boundaries and data flows - Document integration points and dependencies - Determine approach: extend vs refactor vs wrap ### 3. Technology Research **Investigate Best Practices and Solutions**: - **Use WebSearch** to find: - Latest architectural patterns for similar problems - Industry best practices for the technology stack - Recent updates or changes in relevant technologies - Common pitfalls and solutions - **Use WebFetch** to analyze: - Official documentation for frameworks/libraries - API references and usage examples - Migration guides and breaking changes - Performance benchmarks and comparisons ### 4. External Dependencies Investigation **For Each External Service/Library**: - Search for official documentation and GitHub repositories - Verify API signatures and authentication methods - Check version compatibility with existing stack - Investigate rate limits and usage constraints - Find community resources and known issues - Document security considerations - Note any gaps requiring implementation investigation ### 5. Architecture Pattern & Boundary Analysis **Evaluate Architectural Options**: - Compare relevant patterns (MVC, Clean, Hexagonal, Event-driven) - Assess fit with existing architecture and steering principles - Identify domain boundaries and ownership seams required to avoid team conflicts - Consider scalability implications and operational concerns - Evaluate maintainability and team expertise - Document preferred pattern and rejected alternatives in `research.md` ### 6. Risk Assessment **Identify Technical Risks**: - Performance bottlenecks and scaling limits - Security vulnerabilities and attack vectors - Integration complexity and coupling - Technical debt creation vs resolution - Knowledge gaps and training needs ## Research Guidelines ### When to Search **Always search for**: - External API documentation and updates - Security best practices for authentication/authorization - Performance optimization techniques for identified bottlenecks - Latest versions and migration paths for dependencies **Search if uncertain about**: - Architectural patterns for specific use cases - Industry standards for data formats/protocols - Compliance requirements (GDPR, HIPAA, etc.) - Scalability approaches for expected load ### Search Strategy 1. Start with official sources (documentation, GitHub) 2. Check recent blog posts and articles (last 6 months) 3. Review Stack Overflow for common issues 4. Investigate similar open-source implementations ## Output Requirements Capture all findings that impact design decisions in `research.md` using the shared template: - Key insights affecting architecture, technology alignment, and contracts - Constraints discovered during research - Recommended approaches and selected architecture pattern with rationale - Rejected alternatives and trade-offs (documented in the Design Decisions section) - Updated domain boundaries that inform Components & Interface Contracts - Risks and mitigation strategies - Gaps requiring further investigation during implementation

Latest Blog Posts

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/ssoma-dev/mcp-server-lychee-redmine'

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