katarinasvedman-ms / agent-test

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

DevLead.Plan chain for #51 #53

Open agent-app-kapeltol[bot] opened 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": "Project Setup and Initial Configuration",
            "subtasks": [
                {
                    "subtask": "1.1",
                    "description": "Create a new solution using .NET Core for the Todo List application",
                    "prompt": "// Write a script to create a new .NET Core solution for a Todo List application\n\nmkdir TodoListApp\n\ncd TodoListApp\ndotnet new sln --name TodoListApp"
                },
                {
                    "subtask": "1.2",
                    "description": "Add a new .NET Core Web API project to the solution for the backend service",
                    "prompt": "// Write a script to add a new .NET Core Web API project to the Todo List solution\n\ndotnet new webapi --name TodoListAPI\ndotnet sln add TodoListAPI"
                },
                {
                    "subtask": "1.3",
                    "description": "Add a new .NET Core Class Library project to the solution for shared models",
                    "prompt": "// Write a script to add a new .NET Core Class Library project to the Todo List solution for shared models\n\ndotnet new classlib --name TodoListModels\ndotnet sln add TodoListModels"
                },
                {
                    "subtask": "1.4",
                    "description": "Set up a git repository and commit the initial project structure",
                    "prompt": "// Write a script to initialize a git repository and make first commit with the new solution structure\n\ngit init\ngit add .\ngit commit -m 'Initial commit with project structure'"
                }
            ]
        },
        {
            "step": "2",
            "description": "Design and Implement Data Storage",
            "subtasks": [
                {
                    "subtask": "2.1",
                    "description": "Design data models for tasks, categories, and user information",
                    "prompt": "// Write the C# classes for tasks, categories, and user information data models\n\nnamespace TodoListModels\n{\n    public class Task\n    {\n        // Properties for the Task model\n    }\n\n    public class Category\n    {\n        // Properties for the Category model\n    }\n\n    public class User\n    {\n        // Properties for the User model\n    }\n}"
                },
                {
                    "subtask": "2.2",
                    "description": "Implement Entity Framework Core context and configure it to use Azure SQL Database",
                    "prompt": "// Write the C# code to implement Entity Framework Core context and configure it to use Azure SQL Database\n\nusing Microsoft.EntityFrameworkCore;\n\nnamespace TodoListAPI\n{\n    public class TodoListContext : DbContext\n    {\n        // Define DbSets for Task, Category, and User\n\n        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)\n        {\n            // Configure the connection string for Azure SQL Database\n        }\n    }\n}"
                }
            ]
        },
        {
            "step": "3",
            "description": "Build the Backend API",
            "subtasks": [
                {
                    "subtask": "3.1",
                    "description": "Implement CRUD operations for tasks in the Web API",
                    "prompt": "// Write the C# code for CRUD operations for tasks in the Web API Controllers\n\nusing Microsoft.AspNetCore.Mvc;\n\nnamespace TodoListAPI.Controllers\n{\n    [ApiController]\n    [Route(\"api/[controller]\")]\n    public class TasksController : ControllerBase\n    {\n        // Implement actions for Get, Post, Put, and Delete\n    }\n}"
                },
                {
                    "subtask": "3.2",
                    "description": "Implement user authentication and authorization",
                    "prompt": "// Write the C# code to implement user authentication and authorization using ASP.NET Core Identity\n\nusing Microsoft.AspNetCore.Identity;\n\nnamespace TodoListAPI\n{\n    // Code to configure and use ASP.NET Core Identity for user authentication and authorization\n}"
                },
                {
                    "subtask": "3.3",
                    "description": "Secure the API with Azure Active Directory",
                    "prompt": "// Write the C# code to secure the Web API with Azure Active Directory using Microsoft.Identity.Web\n\nusing Microsoft.Identity.Web;\n\nnamespace TodoListAPI\n{\n    // Code to configure the service to use Azure AD for authentication\n}"
                }
            ]
        },
        {
            "step": "4",
            "description": "Implement Frontend Applications",
            "subtasks": [
                {
                    "subtask": "4.1",
                    "description": "Create a new .NET MAUI project for cross-platform mobile application",
                    "prompt": "// Write a script to create a new .NET MAUI project for the Todo List mobile application\n\ndotnet new maui --name TodoListMobileApp\ndotnet sln add TodoListMobileApp"
                },
                {
                    "subtask": "4.2",
                    "description": "Design and implement user interfaces for task management",
                    "prompt": "// Write the C# code with XAML for designing and implementing user interfaces for task management in the .NET MAUI application\n\nnamespace TodoListMobileApp.Views\n{\n    // Define XAML and code-behind for task management UI\n}"
                },
                {
                    "subtask": "4.3",
                    "description": "Add a new Blazor WebAssembly project for the web-based interface",
                    "prompt": "// Write a script to add a new Blazor WebAssembly project to the Todo List solution for the web-based interface\n\ndotnet new blazorwasm --name TodoListWebApp\ndotnet sln add TodoListWebApp"
                },
                {
                    "subtask": "4.4",
                    "description": "Implement task management features in the Blazor Web App",
                    "prompt": "// Write the C# code with Razor syntax for implementing task management features in the Blazor Web App\n\n@page \"/tasks\"\n\n@code {\n    // Implement task management logic\n}"
                }
            ]
        },
        {
            "step": "5",
            "description": "Deploy and Automate Operations in Azure",
            "subtasks": [
                {
                    "subtask": "5.1",
                    "description": "Configure Azure DevOps pipelines for CI/CD",
                    "prompt": "// Write the YAML configuration for Azure DevOps CI/CD pipelines\n\ntrigger:\n  branches:\n    include:\n    - main\n\npool:\n  vmImage: 'windows-latest'\n\nsteps:\n- script: dotnet build TodoListApp.sln\n  displayName: 'Build solution'"
                },
                {
                    "subtask": "5.2",
                    "description": "Deploy the backend API to Azure Functions with the Consumption Plan",
                    "prompt": "// Write the Azure CLI commands to deploy the backend API to Azure Functions with the Consumption Plan\n\naz functionapp create --name <FunctionAppName> --storage-account <StorageAccountName> --consumption-plan-location <Region> --runtime dotnet --functions-version 3 --disable-app-insights false --app-insights <AppInsightsName> --resource-group <ResourceGroupName>"
                },
                {
                    "subtask": "5.3",
                    "description": "Deploy the Blazor WebAssembly app to Azure Static Web Apps",
                    "prompt": "// Write the Azure CLI commands to deploy the Blazor WebAssembly app to Azure Static Web Apps\n\naz staticwebapp create --name <StaticWebAppName> --source <RepoUrl> --branch main --token <GitHubToken> --app-location '/TodoListWebApp' --api-location '/TodoListAPI' --output-location 'wwwroot' --resource-group <ResourceGroupName>"
                },
                {
                    "subtask": "5.4",
                    "description": "Automate operational tasks in Azure",
                    "prompt": "// Write the PowerShell or Azure CLI scripts to automate operational tasks in Azure\n\n# PowerShell or Azure CLI commands for tasks such as rebooting servers, creating accounts, and shipping logs to a data store"
                }
            ]
        }
    ]
}