Transcription
Hello everyone! In this video, I want to show you how to use Taskmaster. Taskmaster is an MCP server that allows you to break down large tasks into smaller tasks and even subtasks. And then, for example, working in Cursor or in WinServe, in any IDE that you use for AI coding, the model will go through these tasks, execute them, check them off, tick the tasks that I have already completed. It will no longer be slow and will simply move on. I think this is a very convenient tool for controlling what the LLM is doing in your project. I will show this in Cursor, but I will not use Cursor's AI module itself. I will use an extension called Client. And in conjunction with Client, I will show how Taskmaster works. I will leave a link to the repository in the comment under the video. Also, at the link, there will be a JSON that needs to be copied into your MCP. I think that if you are involved in AI coding and work in Windsor or in Coursor, or even in Cloud Desktop, you know how to install MCP servers, all you need to do is just copy this part into MCP. Well, let me show you just in case. If in Client, then we go to MCP servers and click Install. And here you can see, I have several MCPs already installed. Here I have Taskmaster installed. I just copied it here from GitHub. Well, naturally, you need to enter your API keys for Anthropic, for Perplexity. Perplexity it uses for searching, which is also quite cool. But mainly, of course, it uses the Anthropic model. It seems to work best with it. You can also choose open router as a model provider. That's basically all you need to do. The only thing is, if it doesn't connect for some reason, then you will need to specify the latest version here using the "@" symbol, I think it's 0.13.2. Taskmaster also has a CLI version. I think the CLI version is more convenient, and you can choose models directly in the terminal, which is cool in itself. But we will try through MCP and do such a task. And let's try to use it right away. The first thing we need to do, according to the documentation even, is to ask the LLM to initialize Taskmaster in our project. But we don't have any project yet, it's better to create some project, for example, it will be a React application or Next, or anything. And only then, within this project, initialize Taskmaster. And I will create a project in my working folder. It will be a Next.js application. I'll call it Nutrisnap. Use TypeScript. Yes. Use ESLint. Yes. Use Tailwind. Yes. Source Directory no. App router. Yes. TurboPack. Well, let it be okay. The new project has been created. Let's go to the documentation. Copy the first command. Or rather, the prompt, go to Client and write the task in the chat. Since our MCP is already connected, Taskmaster should now start, take on the task of initialization. It creates a series of files, a series of folders to work with. And after it initializes our project, we will upload our technical specification, our PRD, to it, and it will start breaking it down into parts. As we can see, it has turned on. Here it called MCP Taskmaster AI. In this way, we see that our MCP server is responding. It even breaks down the next initialization task into tasks and executes them gradually. By the way, it will be quite interesting how many cents the project initialization in Taskmaster will cost us. Here we see that a cursor folder with rules has been created. This is all from Taskmaster. There is also MCP JSON here. If you are not connecting a global MCP, but an MCP for the project, then you can connect it here, pass your API keys here. We also have RU folders created. This is if you use RU-code. There is a rule here, that is, RU-code, it kind of imitates, emulates Taskmaster, right? Well, to some extent. And the Scripts folder, where there is such an example PRD, some generic one that can probably no longer be used. And then Taskmaster suggests me to upload my PRD. I have the PRD of my Nutri-Snap here. I copy it up to UX UI. Let it be UX UI, and I paste it. The entire project documentation, all of it. Well, it's in a compressed form, more like a product prospectus. Let Taskmaster break it down into tasks. Here it is, it has already started doing it. Date October 26, 2023. Cool. But in 2023, such technologies did not exist. Well, at least for us, they were definitely not available. While it's breaking it down, I will, of course, fast-forward this video so as not to bore you with this terrible waiting. But the point is that now we should get a series of files, cut into tasks. And then we can run, say, the same Client or even Rucode in a boomerang mode. It will go through the tasks, execute them, check them off, mark them, and move on. And it seems that in theory, we should launch this thing, upload our PRD, and go to sleep. Wake up in the morning and see our finished application, which, of course, should work perfectly. But it's not like that, I think everyone who is involved in AI development understands that it won't work like that. There will be glitches, there will be errors, or it will create such a check here, fall into some loop. But Taskmaster significantly improves the LLM's performance. And, to some extent, if not fully, it will protect you from your LLM working in a loop or breaking what already worked. Although this overthinking problem exists. There is no good solution. Models like O4 Mini High are susceptible to it, whatever that name means. This is Sonnet 3.7. This is the type of model that complicates tasks and starts breaking the code that worked, or completely redesigning entire pages. So, Taskmaster helps with this to some extent. Let's see what we have there. It has already translated this PRD into specific, into the format of specific tasks. And now it will cut it into pieces, so that each such task, each block, is a separate file, but something didn't work out for some reason. But maybe it will try again and it will work. In general, it created tasks for me. It cost me 6 cents, by the way. The tasks look like this. Here's the first task, the second, the third. And there is a JSON with the description of these tasks. Each task has its own IDs. And now we can add a new task in Client and say, like, let's go through the tasks. Now I will open one of the tasks. Let it be the first one. And I'll just copy and paste it into the task. I'll write to it. Start. Start with the first task, with ID1. Project configuration. Although, in principle, the project is configured by default for Next.js. But now it will start spending my money and creating some IBD. In principle, you can reconfigure it yourself, not spend time and money on it, just start with the second, third, and say that the first one is already done, it will mark it, calm down, and, in fact, you can continue working. Here the project setup process has begun. Now it... What is it doing? Filling in ESLint. I am currently using the free QWEN, QWEN3 235B through Open Router. Of course, it works slowly, because it thinks so much, thinks, thinks. But the essence is clear, I think. In this way, you can use it, you can test it, you can adjust something. And, in principle, I think this thing is quite worthwhile. It doesn't consume a lot of tokens, but in general, you can use it exactly like this. Although I still recommend installing the command-line version and using it through the terminal, not through MCP. In general, if the video was useful, give it likes, write comments, I will try to answer everyone and generally write what you are interested in, especially AI development and developing some AI applications, write, I will shoot videos, I will try to shoot them shorter and more often. Goodbye everyone.