UNPKG

bc-code-intelligence-mcp

Version:

BC Code Intelligence MCP Server - Complete Specialist Bundle with AI-driven expert consultation, seamless handoffs, and context-preserving workflows

437 lines (367 loc) 13.2 kB
--- title: "Creating Custom BC Knowledge Content" domain: "chris-config" difficulty: "intermediate" bc_versions: "14+" tags: ["knowledge-creation", "content-authoring", "yaml-frontmatter", "markdown", "overrides"] related_topics: ["multi-team-layer-configuration", "content-quality-standards"] applies_to: ["Knowledge Base", "Team Documentation", "Project Customization"] last_updated: "2025-01-01" --- # Creating Custom BC Knowledge Content ## Overview Learn to create high-quality BC knowledge content that perfectly fits your organization's needs. This guide covers writing, structuring, and maintaining knowledge overrides that enhance the embedded knowledge base through the layer system. **Key Benefit**: Custom knowledge content allows teams to capture specialized patterns, company standards, and project-specific requirements while maintaining compatibility with the broader BC knowledge ecosystem. ## Knowledge Topic Structure Every knowledge topic follows a consistent structure with YAML frontmatter and organized markdown content: ```yaml --- # Required Metadata title: "Descriptive Topic Title" domain: "performance|api-design|security|etc" bc_versions: "20+" difficulty: "beginner|intermediate|advanced|expert" tags: ["tag1", "tag2", "tag3"] # Override Configuration (if applicable) overrides: ["embedded-topic-id"] merge_strategy: "replace|overlay|smart|append" # Organization Context organization_level: "company|team|project" author: "your.email@company.com" created: "2025-01-15" last_modified: "2025-01-20" # Cross-References related_topics: ["topic-id-1", "topic-id-2"] prerequisites: ["prerequisite-topic-id"] --- # Topic Title Brief introduction explaining what this topic covers and why it matters. ## Overview Clear explanation of the concept, pattern, or practice including: - What it is and when to use it - Why it's important - Key benefits for BC development ## Business Central Context BC-specific considerations: - Platform integration points - Version compatibility notes - Related BC features or modules ## Implementation Step-by-step guidance with clear instructions: ### Prerequisites - Required setup or dependencies - Assumed knowledge or skills ### Step-by-Step Guide 1. **Step 1**: Detailed instruction ```al // Clear, compilable AL code example table 50100 ExampleTable { DataClassification = CustomerContent; fields { field(1; "Entry No."; Integer) { AutoIncrement = true; } } } ``` ## Best Practices Proven recommendations: - Use clear, descriptive naming conventions - Implement proper error handling - Follow BC coding standards - Avoid hard-coded values - Don't skip validation ## Version Considerations BC version compatibility and migration notes ## Troubleshooting Common issues and solutions ## Related Topics Links to related knowledge content ``` ## YAML Frontmatter Reference ### Required Fields ```yaml --- title: "Descriptive Topic Title" # Clear, specific title domain: "performance" # Domain classification bc_versions: "20+" # Version compatibility difficulty: "intermediate" # Complexity level tags: ["tag1", "tag2"] # Minimum 2 descriptive tags --- ``` ### Domain Classifications Choose the most appropriate domain for your content: ```yaml # Technical domains domain: "performance" # Optimization, SIFT, query tuning domain: "api-design" # REST, OData, authentication domain: "security" # Access control, data protection domain: "architecture" # System design, patterns domain: "data-architecture" # Tables, relationships domain: "debugging" # Troubleshooting, diagnostics # Process domains domain: "best-practices" # General guidelines domain: "error-handling" # Exception management domain: "testing" # Quality assurance domain: "deployment" # Release management # Specialist domains domain: "alex-architect" # Architecture and design domain: "dean-debug" # Performance and debugging domain: "sam-coder" # Implementation patterns domain: "chris-config" # Configuration and customization ``` ### Difficulty Level Guidelines ```yaml difficulty: "beginner" # Basic concepts, getting started # - Assumes minimal BC knowledge # - Step-by-step instructions # - Explains basic concepts difficulty: "intermediate" # Practical implementation # - Assumes basic BC development knowledge # - Real-world scenarios # - Best practices focus difficulty: "advanced" # Complex patterns, optimization # - Assumes solid BC experience # - Performance considerations # - Integration challenges difficulty: "expert" # Cutting-edge, specialized # - Assumes deep BC expertise # - Advanced patterns # - Platform limitations ``` ### Effective Tagging Strategy ```yaml # Performance-related tags tags: ["sift", "optimization", "query-performance", "memory-management"] # API and integration tags tags: ["rest", "odata", "authentication", "integration", "webhooks"] # Architecture and design tags tags: ["design-patterns", "microservices", "event-driven", "scalability"] # Development process tags tags: ["testing", "debugging", "devops", "code-review"] # Business domain tags tags: ["manufacturing", "retail", "financial", "healthcare"] ``` ## Override Configuration ### Simple Content Override Replace embedded content completely: ```yaml --- title: "Company SIFT Optimization Standards" domain: "performance" overrides: ["sift-technology-fundamentals"] merge_strategy: "replace" organization_level: "company" --- ``` ### Content Enhancement Add to existing embedded content: ```yaml --- title: "Team-Specific API Authentication Patterns" domain: "api-design" overrides: ["api-authentication-patterns"] merge_strategy: "append" organization_level: "team" sections_to_enhance: ["implementation", "examples"] --- ``` ### Conditional Overrides Apply overrides based on conditions: ```yaml --- title: "Production Environment Security Standards" domain: "security" override_conditions: environment: ["production"] bc_version: "23+" --- ``` ## Code Example Standards ### AL Code Examples ```al // Always include context comments table 50100 "Customer Analytics" { // Purpose: Store customer performance metrics DataClassification = CustomerContent; fields { field(1; "Customer No."; Code[20]) { // Links to standard Customer table TableRelation = Customer."No."; Caption = 'Customer No.'; } field(10; "Total Sales Amount"; Decimal) { // Calculated via SIFT for performance FieldClass = FlowField; CalcFormula = Sum("Sales Line".Amount WHERE("Sell-to Customer No." = FIELD("Customer No."))); Caption = 'Total Sales Amount'; } } keys { key(PK; "Customer No.") { Clustered = true; } // SIFT key for aggregation performance key(SalesAnalysis; "Customer No.") { SumIndexFields = "Total Sales Amount"; } } } ``` ### Configuration Examples ```json // JSON configuration with explanatory comments { "performance_settings": { "enable_sift": true, // Enables SIFT optimization "max_records": 10000, // Prevents memory issues "timeout_seconds": 30 // Query timeout protection }, "cache_settings": { "enabled": true, "ttl_minutes": 15 // Cache expiration time } } ``` ## Content Development Workflow ### 1. Planning Phase ```markdown ## Topic Planning Checklist - [ ] Identify knowledge gap or override need - [ ] Define target audience and use case - [ ] Research existing related topics - [ ] Plan topic scope and depth - [ ] Choose appropriate domain and tags - [ ] Determine BC version compatibility ``` ### 2. Content Creation Phase ```markdown ## Content Creation Checklist - [ ] Write compelling title and overview - [ ] Create YAML frontmatter with required fields - [ ] Develop step-by-step implementation guide - [ ] Include practical, compilable code examples - [ ] Add best practices and anti-patterns - [ ] Write troubleshooting section - [ ] Add cross-references to related topics ``` ### 3. Quality Assurance Phase ```markdown ## Quality Review Checklist - [ ] YAML frontmatter syntax is valid - [ ] Markdown renders correctly - [ ] Code examples compile successfully - [ ] Cross-references resolve correctly - [ ] Content accuracy verified - [ ] Writing clarity and flow reviewed - [ ] Version compatibility confirmed ``` ## Layer Integration ### Project-Level Overrides Create content in your project's override directory: ``` bc-code-intel-overrides/ ├── domains/ ├── performance/ └── our-sift-standards.md ├── security/ └── company-auth-patterns.md └── chris-config/ └── project-specific-config.md └── specialists/ └── company-reviewer.md ``` ### Team Git Repository Structure team knowledge in a Git repository: ``` team-bc-knowledge/ ├── domains/ ├── performance/ ├── team-optimization-patterns.md └── performance-testing-standards.md ├── api-design/ └── team-integration-patterns.md └── shared/ └── team-coding-conventions.md ├── specialists/ └── team-specialist-config.md └── methodologies/ └── team-code-review-process.md ``` ### Company Standards Repository Maintain organization-wide standards: ``` company-bc-standards/ ├── domains/ ├── security/ ├── corporate-security-standards.md └── data-classification-requirements.md ├── architecture/ └── enterprise-integration-patterns.md └── best-practices/ └── corporate-coding-standards.md └── policies/ ├── approval-requirements.md └── review-processes.md ``` ## Quality Standards ### Content Quality Metrics - **Completeness**: All required sections present - **Clarity**: Clear, actionable instructions - **Examples**: Working, realistic code samples - **Currency**: Up-to-date with current BC versions - **Cross-references**: Proper links to related content ### Maintenance Standards ```yaml # Quality gates for topic updates quality_standards: minimum_completeness: 80 required_sections: ["overview", "implementation", "best-practices"] code_example_requirement: true cross_reference_minimum: 3 version_compatibility_current: true ``` ## Best Practices ### Content Writing - **Be specific**: Focus on actionable guidance - **Use examples**: Include working AL code samples - **Link appropriately**: Reference related topics - **Update regularly**: Keep content current with BC versions - **Test thoroughly**: Verify all code examples compile ### Organization - **Consistent structure**: Follow established patterns - **Clear taxonomy**: Use appropriate domains and tags - **Logical progression**: Order content from basic to advanced - **Proper versioning**: Clearly indicate BC compatibility ### Collaboration - **Document decisions**: Explain why overrides exist - **Review processes**: Establish content quality gates - **Version control**: Track changes and contributors - **Training**: Help team members contribute effectively ## Common Anti-Patterns ### Content Issues - **Vague titles**: "Performance Tips" instead of specific guidance - **Missing context**: Code without explanation - **Outdated examples**: Using deprecated BC features - **Broken references**: Links to non-existent topics ### Organizational Issues - **Too many overrides**: Overriding everything instead of selective enhancement - **Conflicting content**: Multiple teams providing contradictory guidance - **No maintenance**: Creating content without ongoing updates - **Poor governance**: No review or approval processes ## Related Topics - **[Multi-Team Layer Configuration](multi-team-layer-configuration)**: Setting up organizational knowledge layers - **[Content Quality Standards](content-quality-standards)**: Maintaining high-quality knowledge - **[Specialist Customization](specialist-customization)**: Creating custom AI specialists --- *Master content creation to build a comprehensive BC knowledge base that serves your organization's specific needs while maintaining compatibility with the broader ecosystem.*