katarinasvedman-ms / agent-test

Testing the AI dev team repo
0 stars 0 forks source link

DevLead.Plan chain for #46 #48

Closed agent-app-kapeltol[bot] closed 6 months ago

agent-app-kapeltol[bot] commented 6 months ago

I'd like to build a typical Todo List Application: a simple productivity tool that allows users to create, manage, and track tasks or to-do items. Key features of the Todo List application include the ability to add, edit, and delete tasks, set due dates and reminders, categorize tasks by project or priority, and mark tasks as complete. The Todo List applications also offer collaboration features, such as sharing tasks with others or assigning tasks to team members. Additionally, the Todo List application will offer offer mobile and web-based interfaces, allowing users to access their tasks from anywhere. Use C# as the language. The app needs to be deployed to Azure, be highly performant, cost effective and secure, following the rules of Well Architected Framework.

agent-app-kapeltol[bot] commented 6 months ago
{
    "steps": [
        {
            "step": "1",
            "description": "Set up the development environment for the ToDo List application",
            "subtasks": [
                {
                    "subtask": "1.1",
                    "description": "Install required development tools: Visual Studio 2019, .NET 5 SDK, and Azure CLI",
                    "prompt": "// Run these commands in your terminal to set up the development environment\n// Install Visual Studio 2019\nstart https://visualstudio.microsoft.com/downloads/\n\n// Install .NET 5 SDK\nstart https://dotnet.microsoft.com/download/dotnet/5.0\n\n// Install Azure CLI\nstart https://docs.microsoft.com/en-us/cli/azure/install-azure-cli"
                }
            ]
        },
        {
            "step": "2",
            "description": "Design and model the application architecture",
            "subtasks": [
                {
                    "subtask": "2.1",
                    "description": "Create a solution and projects for the web API, data access layer, and application logic",
                    "prompt": "// Run these commands in your terminal to create a solution and projects\nmkdir TodoListApp\n\ncd TodoListApp\ndotnet new sln -n TodoListApp\n\ndotnet new webapi -o TodoListApp.API\ndotnet sln add TodoListApp.API\n\ndotnet new classlib -o TodoListApp.Core\ndotnet sln add TodoListApp.Core\n\ndotnet new classlib -o TodoListApp.Data\ndotnet sln add TodoListApp.Data"
                }
            ]
        },
        {
            "step": "3",
            "description": "Implement the data access layer with Entity Framework Core",
            "subtasks": [
                {
                    "subtask": "3.1",
                    "description": "Define the database context and models for tasks and users",
                    "prompt": "// Define the database context and models in TodoListApp.Data project\nnamespace TodoListApp.Data\n{\n    public class TodoListDbContext : DbContext\n    {\n        public TodoListDbContext(DbContextOptions<TodoListDbContext> options) : base(options) { }\n\n        public DbSet<TaskItem> TaskItems { get; set; }\n        public DbSet<User> Users { get; set; }\n    }\n\n    public class TaskItem\n    {\n        public int Id { get; set; }\n        // Add the rest of the task item properties here\n    }\n\n    public class User\n    {\n        public int Id { get; set; }\n        // Add the rest of the user properties here\n    }\n}"
                }
            ]
        },
        {
            "step": "4",
            "description": "Build the application logic and services",
            "subtasks": [
                {
                    "subtask": "4.1",
                    "description": "Implement the core business logic for task management",
                    "prompt": "// Implement the core business logic in TodoListApp.Core project\nnamespace TodoListApp.Core\n{\n    public interface ITaskService\n    {\n        // Define the service methods for task management\n    }\n\n    public class TaskService : ITaskService\n    {\n        // Implement the service methods for task management\n    }\n}"
                }
            ]
        },
        {
            "step": "5",
            "description": "Develop the web API controllers",
            "subtasks": [
                {
                    "subtask": "5.1",
                    "description": "Create API endpoints for task and user management",
                    "prompt": "// Create API controllers in TodoListApp.API project\nnamespace TodoListApp.API.Controllers\n{\n    [ApiController]\n    [Route(\"[controller]\")]\n    public class TasksController : ControllerBase\n    {\n        // Implement the API endpoints for task management\n    }\n\n    [ApiController]\n    [Route(\"[controller]\")]\n    public class UsersController : ControllerBase\n    {\n        // Implement the API endpoints for user management\n    }\n}"
                }
            ]
        },
        {
            "step": "6",
            "description": "Implement user authentication and authorization",
            "subtasks": [
                {
                    "subtask": "6.1",
                    "description": "Set up Azure Active Directory for secure authentication",
                    "prompt": "// Write the script to create an Azure AD application for authentication\naz ad app create --display-name TodoListApp --reply-urls http://localhost:5000/signin-oidc --oauth2-allow-implicit-flow true"
                }
            ]
        },
        {
            "step": "7",
            "description": "Deploy the application to Azure",
            "subtasks": [
                {
                    "subtask": "7.1",
                    "description": "Create and configure an Azure App Service and SQL Database",
                    "prompt": "// Run these commands in your terminal to create and configure Azure resources\naz group create --name TodoListAppGroup --location eastus\n\naz appservice plan create --name TodoListAppServicePlan --resource-group TodoListAppGroup --sku S1\n\naz webapp create --name TodoListApp --resource-group TodoListAppGroup --plan TodoListAppServicePlan --runtime \"DOTNET|5.0\"\n\naz sql server create --name TodoListAppDbServer --resource-group TodoListAppGroup --location eastus --admin-user adminuser --admin-password SecurePassword123!\n\naz sql db create --resource-group TodoListAppGroup --server TodoListAppDbServer --name TodoListAppDb --service-objective S0"
                },
                {
                    "subtask": "7.2",
                    "description": "Set up CI/CD with GitHub Actions or Azure DevOps",
                    "prompt": "// Write the YAML configuration for a GitHub Actions workflow to build and deploy the application\nname: Build and deploy .NET Core app to Azure Web App - TodoListApp\n\non:\n  push:\n    branches:\n      - main\n\njobs:\n  build-and-deploy:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@v2\n\n    - name: Set up .NET Core\n      uses: actions/setup-dotnet@v1\n      with:\n        dotnet-version: '5.0.x'\n\n    - name: Build with dotnet\n      run: dotnet build --configuration Release\n\n    - name: dotnet publish\n      run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp\n\n    - name: Deploy to Azure Web App\n      uses: azure/webapps-deploy@v2\n      with:\n        app-name: 'TodoListApp'\n        publish-profile: ${{ secrets.AzureAppService_PublishProfile }}\n        package: ${{env.DOTNET_ROOT}}/myapp\n"
                }
            ]
        }
    ]
}
katarinasvedman-ms commented 6 months ago

Nice!

agent-app-kapeltol[bot] commented 6 months ago
{
    "steps": [
        {
            "step": "1",
            "description": "Set up the development environment for the ToDo List application",
            "subtasks": [
                {
                    "subtask": "1.1",
                    "description": "Install required development tools: Visual Studio, .NET 5 SDK, and Azure CLI",
                    "prompt": "// Install Visual Studio, .NET 5 SDK, and Azure CLI"
                },
                {
                    "subtask": "1.2",
                    "description": "Configure Azure DevOps project and repositories for source control",
                    "prompt": "// Set up Azure DevOps project and repositories"
                }
            ]
        },
        {
            "step": "2",
            "description": "Bootstrap the project with automation for local development setup",
            "subtasks": [
                {
                    "subtask": "2.1",
                    "description": "Create a script to automate the setup of the local development environment",
                    "prompt": "// Create a PowerShell script to automate the setup of the local development environment"
                }
            ]
        },
        {
            "step": "3",
            "description": "Design and model the application architecture",
            "subtasks": [
                {
                    "subtask": "3.1",
                    "description": "Create a solution and projects for the API, data access layer, and application logic",
                    "prompt": "// Create a solution and projects structure for the API, data access layer, and application logic using .NET CLI"
                }
            ]
        },
        {
            "step": "4",
            "description": "Implement the data access layer with Entity Framework Core",
            "subtasks": [
                {
                    "subtask": "4.1",
                    "description": "Define the Entity Framework Core database context and models",
                    "prompt": "// Define the Entity Framework Core database context and models in C#"
                }
            ]
        },
        {
            "step": "5",
            "description": "Build the application logic and services",
            "subtasks": [
                {
                    "subtask": "5.1",
                    "description": "Implement the core business logic for task management",
                    "prompt": "// Implement the core business logic for task management in C#"
                }
            ]
        },
        {
            "step": "6",
            "description": "Develop the web API controllers",
            "subtasks": [
                {
                    "subtask": "6.1",
                    "description": "Create API endpoints for task and user management",
                    "prompt": "// Create API controllers for task and user management in C#"
                }
            ]
        },
        {
            "step": "7",
            "description": "Implement user authentication and authorization with Azure Active Directory",
            "subtasks": [
                {
                    "subtask": "7.1",
                    "description": "Set up Azure Active Directory for secure authentication",
                    "prompt": "// Write the script to create an Azure AD application for authentication using Azure CLI"
                }
            ]
        },
        {
            "step": "8",
            "description": "Configure development environments and practice continuous integration with Azure DevOps",
            "subtasks": [
                {
                    "subtask": "8.1",
                    "description": "Create build pipelines for continuous integration",
                    "prompt": "// Write the YAML configuration for a build pipeline in Azure DevOps"
                }
            ]
        },
        {
            "step": "9",
            "description": "Perform release testing and stage workloads",
            "subtasks": [
                {
                    "subtask": "9.1",
                    "description": "Set up automated testing within the build pipeline",
                    "prompt": "// Write the PowerShell script to execute automated tests in the build pipeline"
                },
                {
                    "subtask": "9.2",
                    "description": "Configure deployment slots for staging environments",
                    "prompt": "// Write the Azure CLI script to create and configure deployment slots for the staging environment"
                }
            ]
        },
        {
            "step": "10",
            "description": "Deploy the application to Azure",
            "subtasks": [
                {
                    "subtask": "10.1",
                    "description": "Create and configure Azure App Service and SQL Database",
                    "prompt": "// Create and configure Azure App Service and SQL Database using Azure CLI"
                },
                {
                    "subtask": "10.2",
                    "description": "Create release pipelines for deployment to Azure",
                    "prompt": "// Write the YAML configuration for a release pipeline in Azure DevOps"
                }
            ]
        },
        {
            "step": "11",
            "description": "Automate operational tasks using Azure Functions",
            "subtasks": [
                {
                    "subtask": "11.1",
                    "description": "Develop Azure Functions for scheduled operational tasks",
                    "prompt": "// Write the C# code for an Azure Function that automates an operational task"
                }
            ]
        },
        {
            "step": "12",
            "description": "Monitor and optimize application performance",
            "subtasks": [
                {
                    "subtask": "12.1",
                    "description": "Set up Application Insights for performance monitoring",
                    "prompt": "// Write the Azure CLI script to create an Application Insights resource and connect it to the App Service"
                },
                {
                    "subtask": "12.2",
                    "description": "Analyze performance metrics and optimize the application",
                    "prompt": "// Write the C# code to optimize a performance bottleneck identified in Application Insights telemetry"
                }
            ]
        }
    ]
}