katarinasvedman-ms / agent-test

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

DevLead.Plan chain for #29 #31

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

agent-app-kapeltol[bot] commented 4 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 4 months ago
{
    "steps": [
        {
            "step": "1",
            "description": "Set up the development environment",
            "subtasks": [
                {
                    "subtask": "1.1",
                    "description": "Install Visual Studio with support for .NET and C#",
                    "prompt": "// No code prompt necessary for IDE installation."
                },
                {
                    "subtask": "1.2",
                    "description": "Configure Azure CLI and login to Azure account",
                    "prompt": "az login"
                }
            ]
        },
        {
            "step": "2",
            "description": "Create a new solution and projects for the Todo List Application",
            "subtasks": [
                {
                    "subtask": "2.1",
                    "description": "Create a new solution for the Todo List application",
                    "prompt": "dotnet new sln --name TodoListApp"
                },
                {
                    "subtask": "2.2",
                    "description": "Create a new Web API project for the backend",
                    "prompt": "dotnet new webapi --name TodoListService"
                },
                {
                    "subtask": "2.3",
                    "description": "Create a new Blazor project for the web frontend",
                    "prompt": "dotnet new blazorwasm --name TodoListWeb --hosted"
                },
                {
                    "subtask": "2.4",
                    "description": "Create a new Xamarin.Forms project for the mobile frontend",
                    "prompt": "dotnet new maui --name TodoListMobile"
                },
                {
                    "subtask": "2.5",
                    "description": "Add projects to the solution",
                    "prompt": "dotnet sln add ./TodoListService/TodoListService.csproj; dotnet sln add ./TodoListWeb/TodoListWeb.csproj; dotnet sln add ./TodoListMobile/TodoListMobile.csproj"
                }
            ]
        },
        {
            "step": "3",
            "description": "Design and implement the database to store tasks",
            "subtasks": [
                {
                    "subtask": "3.1",
                    "description": "Design the database schema for tasks, projects, and users",
                    "prompt": "// No code prompt necessary for designing schema. It's a planning task."
                },
                {
                    "subtask": "3.2",
                    "description": "Implement Entity Framework Core models for tasks, projects, and users",
                    "prompt": "// Assuming the database context is named 'TodoContext', write the Entity Framework Core models for 'Task', 'Project', and 'User'.\nclass Task { /*...*/ }\nclass Project { /*...*/ }\nclass User { /*...*/ }\nclass TodoContext : DbContext { /*...*/ }"
                },
                {
                    "subtask": "3.3",
                    "description": "Create and apply Entity Framework Core migrations for the initial database schema",
                    "prompt": "dotnet ef migrations add InitialCreate; dotnet ef database update"
                }
            ]
        },
        {
            "step": "4",
            "description": "Implement backend services and APIs",
            "subtasks": [
                {
                    "subtask": "4.1",
                    "description": "Implement task CRUD operations in the backend service",
                    "prompt": "// Write the C# method signatures for task CRUD operations in a TaskController class.\npublic class TaskController : ControllerBase { /*...*/ }"
                },
                {
                    "subtask": "4.2",
                    "description": "Implement user authentication and authorization",
                    "prompt": "// Implement user authentication and authorization using ASP.NET Core Identity.\npublic class AccountController : ControllerBase { /*...*/ }"
                },
                {
                    "subtask": "4.3",
                    "description": "Write the code to integrate Azure Functions for scheduled tasks",
                    "prompt": "// Write a C# Azure Function to perform scheduled tasks.\npublic static class ScheduledTaskFunction { /*...*/ }"
                }
            ]
        },
        {
            "step": "5",
            "description": "Develop the web frontend",
            "subtasks": [
                {
                    "subtask": "5.1",
                    "description": "Implement the UI for listing, creating, and editing tasks",
                    "prompt": "// Write the Razor component for task list, create, and edit forms.\n@code { /*...*/ }"
                },
                {
                    "subtask": "5.2",
                    "description": "Implement the UI for user authentication",
                    "prompt": "// Write the Razor component for user login and registration forms.\n@code { /*...*/ }"
                }
            ]
        },
        {
            "step": "6",
            "description": "Develop the mobile frontend",
            "subtasks": [
                {
                    "subtask": "6.1",
                    "description": "Implement mobile views for listing, creating, and editing tasks",
                    "prompt": "// Write the XAML for mobile views to list, create, and edit tasks.\n<ContentPage xmlns=\"http://xamarin.com/schemas/2014/forms\" /*...*/ </ContentPage>"
                },
                {
                    "subtask": "6.2",
                    "description": "Implement mobile views for user authentication",
                    "prompt": "// Write the XAML for mobile views for user login and registration.\n<ContentPage xmlns=\"http://xamarin.com/schemas/2014/forms\" /*...*/ </ContentPage>"
                }
            ]
        },
        {
            "step": "7",
            "description": "Test the application",
            "subtasks": [
                {
                    "subtask": "7.1",
                    "description": "Write unit tests for the backend services",
                    "prompt": "// Write a C# unit test for the backend services.\n[TestClass] public class BackendServiceTests { /*...*/ }"
                },
                {
                    "subtask": "7.2",
                    "description": "Write integration tests for the API endpoints",
                    "prompt": "// Write a C# integration test for the API endpoints.\n[TestClass] public class ApiIntegrationTests { /*...*/ }"
                },
                {
                    "subtask": "7.3",
                    "description": "Conduct manual testing for the web and mobile frontends",
                    "prompt": "// No code prompt necessary for manual testing. It's a human-driven task."
                }
            ]
        },
        {
            "step": "8",
            "description": "Deploy the application to Azure",
            "subtasks": [
                {
                    "subtask": "8.1",
                    "description": "Configure Azure services (e.g., App Service, SQL Database)",
                    "prompt": "az group create --name TodoAppResourceGroup --location \"East US\"; az appservice plan create --name TodoAppServicePlan --resource-group TodoAppResourceGroup --sku B1; az webapp create --name TodoListWebApp --resource-group TodoAppResourceGroup --plan TodoAppServicePlan; az sql server create --name TodoListSqlServer --resource-group TodoAppResourceGroup --location \"East US\" --admin-user <username> --admin-password <password>; az sql db create --name TodoListDb --server TodoListSqlServer --resource-group TodoAppResourceGroup --service-objective S0;"
                },
                {
                    "subtask": "8.2",
                    "description": "Set up CI/CD pipelines for the backend, web, and mobile frontends",
                    "prompt": "// Write the YAML configuration for setting up Azure DevOps CI/CD pipeline for the backend, web, and mobile frontends.\ntrigger:\n- main\n\npool:\n  vmImage: 'ubuntu-latest'\n\nsteps:\n- script: dotnet build TodoListService\n  displayName: 'Build backend service'\n/*...*/"
                },
                {
                    "subtask": "8.3",
                    "description": "Monitor and maintain the application post-deployment",
                    "prompt": "// Write the Azure CLI command to create Azure Application Insights resource for monitoring.\naz monitor app-insights component create --app TodoListAppInsights --location \"East US\" --kind web --resource-group TodoAppResourceGroup"
                }
            ]
        }
    ]
}