Add comprehensive agentic coding documentation
- Add 6 MCP server documentation pages (bc-code-intelligence, al-dependency, azure-devops, serena, al-objid, clockify) - Add AI Coding Agents documentation (GitHub Copilot, Claude, Cursor) - Add Getting Started section (what is agentic coding, setup, prompting, best practices, limitations, glossary) - Add Getting More section (code review, documentation, telemetry examples) - Add Community Resources placeholders (articles, videos, tools) - Update Tools section to focus on MCP servers instead of VSCode extensions
This commit is contained in:
parent
3254d9b7e8
commit
4db38ba4d3
28 changed files with 8152 additions and 0 deletions
226
content/docs/agentic-coding/GettingStarted/setup.md
Normal file
226
content/docs/agentic-coding/GettingStarted/setup.md
Normal file
|
|
@ -0,0 +1,226 @@
|
|||
---
|
||||
title: "Setting Up Your Environment"
|
||||
linkTitle: "Setup"
|
||||
weight: 2
|
||||
description: >
|
||||
Configure your development environment for optimal AI-assisted AL development
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
To get the most out of AI-powered coding assistance for AL development, you'll need to set up your environment properly. This guide covers the essential tools and configurations.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
### Required
|
||||
- **Visual Studio Code**: The primary IDE for AL development
|
||||
- **AL Language Extension**: Microsoft's official AL extension for VS Code
|
||||
- **AI Coding Assistant**: One of the following:
|
||||
- GitHub Copilot
|
||||
- GitHub Copilot Chat
|
||||
- Other compatible AI assistants
|
||||
|
||||
### Recommended
|
||||
- **Git**: For version control and change tracking
|
||||
- **AL Test Runner**: For running and managing tests
|
||||
- **Business Central Docker Container**: For local development and testing
|
||||
|
||||
## Installing GitHub Copilot
|
||||
|
||||
GitHub Copilot is one of the most popular AI assistants for coding:
|
||||
|
||||
1. **Sign up for GitHub Copilot**
|
||||
- Visit [GitHub Copilot](https://github.com/features/copilot)
|
||||
- Choose a subscription plan (free trial available)
|
||||
|
||||
2. **Install the VS Code Extension**
|
||||
- Open VS Code
|
||||
- Go to Extensions (Ctrl+Shift+X)
|
||||
- Search for "GitHub Copilot"
|
||||
- Install both:
|
||||
- GitHub Copilot
|
||||
- GitHub Copilot Chat
|
||||
|
||||
3. **Sign In**
|
||||
- Click "Sign in to GitHub" when prompted
|
||||
- Authorize the extension
|
||||
|
||||
## Configuring VS Code for AL + AI
|
||||
|
||||
### Workspace Settings
|
||||
|
||||
Add these settings to your workspace `.vscode/settings.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
// AL Language settings
|
||||
"al.enableCodeAnalysis": true,
|
||||
"al.codeAnalyzers": ["${CodeCop}", "${PerTenantExtensionCop}", "${UICop}"],
|
||||
|
||||
// GitHub Copilot settings
|
||||
"github.copilot.enable": {
|
||||
"*": true,
|
||||
"al": true
|
||||
},
|
||||
|
||||
// Editor settings for better AI integration
|
||||
"editor.inlineSuggest.enabled": true,
|
||||
"editor.quickSuggestions": {
|
||||
"other": true,
|
||||
"comments": true,
|
||||
"strings": true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### AL Project Structure
|
||||
|
||||
Organize your AL project for better AI context:
|
||||
|
||||
```
|
||||
MyExtension/
|
||||
├── .vscode/
|
||||
│ ├── settings.json
|
||||
│ └── launch.json
|
||||
├── src/
|
||||
│ ├── Tables/
|
||||
│ ├── Pages/
|
||||
│ ├── Codeunits/
|
||||
│ ├── Reports/
|
||||
│ └── ...
|
||||
├── test/
|
||||
│ └── ...
|
||||
├── app.json
|
||||
└── README.md
|
||||
```
|
||||
|
||||
Clear folder organization helps AI assistants understand your project structure and provide more relevant suggestions.
|
||||
|
||||
## Optimizing Context for AI
|
||||
|
||||
AI assistants work better when they have good context. Here's how to provide it:
|
||||
|
||||
### 1. Use Descriptive File Names
|
||||
```
|
||||
❌ Page1.al
|
||||
✅ CustomerListPage.al
|
||||
|
||||
❌ Cod50100.al
|
||||
✅ SalesOrderProcessor.codeunit.al
|
||||
```
|
||||
|
||||
### 2. Maintain a Good README
|
||||
Create a `README.md` in your project root with:
|
||||
- Project purpose and overview
|
||||
- Key features and functionality
|
||||
- Naming conventions
|
||||
- Architecture decisions
|
||||
|
||||
### 3. Use XML Documentation
|
||||
Document your procedures and functions:
|
||||
```al
|
||||
/// <summary>
|
||||
/// Calculates the total amount for a sales order including tax
|
||||
/// </summary>
|
||||
/// <param name="SalesHeader">The sales header record</param>
|
||||
/// <returns>The total amount including tax</returns>
|
||||
procedure CalculateTotalWithTax(var SalesHeader: Record "Sales Header"): Decimal
|
||||
```
|
||||
|
||||
### 4. Keep Related Code Together
|
||||
Place related functionality in the same files or nearby files. AI assistants can see open files and nearby code.
|
||||
|
||||
## Testing Your Setup
|
||||
|
||||
To verify everything is working:
|
||||
|
||||
1. **Open an AL file** in your project
|
||||
2. **Start typing** a procedure declaration
|
||||
3. **Check for suggestions** - You should see inline suggestions appear
|
||||
4. **Open Copilot Chat** (if using GitHub Copilot)
|
||||
- Press Ctrl+Shift+I (or Cmd+Shift+I on Mac)
|
||||
- Try asking: "Explain this AL code"
|
||||
|
||||
## Recommended Extensions
|
||||
|
||||
Install these VS Code extensions to complement your AI assistant:
|
||||
|
||||
- **AL Language**: Microsoft's official AL extension (required)
|
||||
- **AL Object Designer**: Navigate AL objects easily
|
||||
- **AL Code Outline**: View code structure
|
||||
- **AL Test Runner**: Run and manage AL tests
|
||||
- **AL Variable Helper**: Manage variable declarations
|
||||
- **GitLens**: Enhanced git integration
|
||||
|
||||
## Workspace Best Practices
|
||||
|
||||
### Open Relevant Files
|
||||
- Keep related files open in tabs
|
||||
- AI assistants can use open files for context
|
||||
|
||||
### Use Multi-Root Workspaces (When Appropriate)
|
||||
If you have dependencies or multiple related projects:
|
||||
```json
|
||||
{
|
||||
"folders": [
|
||||
{ "path": "./MyMainExtension" },
|
||||
{ "path": "./MyDependencyExtension" }
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### Organize by Feature
|
||||
Consider organizing code by business feature rather than object type for complex projects:
|
||||
```
|
||||
src/
|
||||
├── SalesOrderProcessing/
|
||||
│ ├── SalesOrder.table.al
|
||||
│ ├── SalesOrderPage.page.al
|
||||
│ ├── SalesOrderProcessor.codeunit.al
|
||||
├── CustomerManagement/
|
||||
│ └── ...
|
||||
```
|
||||
|
||||
## Security and Privacy Considerations
|
||||
|
||||
### What Gets Sent to AI Services
|
||||
- Code snippets from your workspace
|
||||
- Currently open files
|
||||
- Your prompts and questions
|
||||
|
||||
### What You Should NOT Include
|
||||
- Sensitive credentials or passwords
|
||||
- Customer data
|
||||
- Proprietary business logic (if restricted)
|
||||
|
||||
### Best Practices
|
||||
- Review your organization's AI usage policy
|
||||
- Use `.gitignore` and `.copilotignore` files appropriately
|
||||
- Be mindful of what code is in your workspace
|
||||
- Consider using GitHub Copilot for Business for enterprise controls
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### AI Suggestions Not Appearing
|
||||
- Verify the AI extension is installed and enabled
|
||||
- Check you're signed in to your AI service
|
||||
- Ensure `editor.inlineSuggest.enabled` is true
|
||||
- Restart VS Code
|
||||
|
||||
### Poor Quality Suggestions
|
||||
- Improve code context (better file names, comments)
|
||||
- Open related files for more context
|
||||
- Use more descriptive variable and function names
|
||||
- Add XML documentation comments
|
||||
|
||||
### Performance Issues
|
||||
- Close unnecessary tabs/files
|
||||
- Disable AI for specific file types if needed
|
||||
- Check your system resources
|
||||
|
||||
## Next Steps
|
||||
|
||||
Now that your environment is set up:
|
||||
- Learn [effective prompting techniques](../effective-prompting)
|
||||
- Review [best practices](../best-practices) for AI-assisted development
|
||||
- Try the [practical examples](../../getting-more) to see AI assistance in action
|
||||
Loading…
Add table
Add a link
Reference in a new issue