Image

Обзор Cursor 1.7: Пишем to-do приложение с ИИ-агентом

Привет, Хабр! Представьте у вас есть идея для небольшого приложения.  Вы начинаете продумывать его структуру и реализацию. Перед вами предстает ворох проблем; прописать разметку, стили, логику, отладить баги. Эти задачи могут вызвать затруднения у начинающих программистов и предпринимателей.  А что если бы у вас был персональный ассистент, который не просто подсказывает код, а сам пишет его по вашим инструкциям на естественном языке?

В данной статье я хочу разобраться, действительно ли агент Cursor так удобен, как о нём говорят громкие заголовки. Такие заявления проверяются на практике, поэтому в этом обзоре я не буду просто рассказывать о функциях.

Вместо этого мы вместе напишем умный To-Do лист, начиная с базового прототипа и заканчивая сложными функциями вроде категорий, поиска и локального сохранения. А в финале устроим небольшое сравнение : посмотрим, как созданное с помощью Cursor приложение смотрится на фоне реализации на Firebase.

Готовы ли вы доверить рутину ИИ? Давайте разбираться.

Разбираем установку по шагам

Заходим на официальный сайт Cursor.

7fba400e427bf7d6faf1de6b5a7db603

Кликаем на кнопку Download и переходим на страницу с выбором установочного файла.

Архитектура установщика универсальна — доступны версии для Windows (EXE), macOS (DMG) и Linux (AppImage).

Выбираем подходящий дистрибутив под нашу OC:

c8d937c145fe594c42e756d5771db46c

Далее запускаем установщик, процесс стандартен и не требует дополнительных действий, кроме согласия с лицензией и выбора типа установки. Важно: во время установки поставьте галочку рядом с пунктом «Add to Path».

Откройте Cursor. При первом запуске интерфейс будет чистым, а система запросит аутентификацию.

Зарегистрируйтесь и войдите в свой аккаунт: вы можете войти через GitHub или Google. Это же требование необходимо для синхронизации проектов и моделей ИИ.

После успешного входа вы должны увидеть стартовое окно с предложением открыть папку или проект.

2812c16b105e74ea9d878e64e3249fd4

Разработка приложения

1.     Базовая структура

Создайте папку на своём компьютере, далее в программе Cursor выбираем File -> Open Folder и открываем созданную папку.

d53d6d171bb34943f8485708d81dc3d0

Создай базовую HTML-структуру для To-Do приложения: заголовок, поле ввода, кнопка добавления, контейнер для списка задач. Добавь минимальные стили для визуального оформления: светлая тема, тёмная тема, светло-зелёная тема.

Проверяем, Cursor должен сгенерировать готовый HTML файл с CSS-стилями.

ae8414f65c121ef64a53dd5854fe20ee

Проверяем, код не должен содержать ошибок. В случае, если нас всё устраивает – выбираем «Kepp all» в нижней части экрана или зажимаем комбинацию «Ctrl + Enter».

2.  Логика приложения

Приступим к реализации базовой логики приложения. Добавим механизм добавления у удаления дел.

Добавь JavaScript-файл app.js для:

— Добавления новой задачи при нажатии кнопки

— Отображения задач в виде списка

— Удаления задачи по клику на неё

— Очистки поля ввода после добавления

После того, как у нас появился файл с расширением .js, сохраняем оба файла. Теперь, чтобы оценить работу приложения мы заходим в папку с файлами и кликаем на html файл.

215da56dbbc42c5cc62d997a868a4412

На данном этапе у нас реализованы:

·       — Добавление задачи по кнопке и по нажатию клавиши Enter

·      —  Рендер списка задач.

·       — Удаление задачи по клику на элемент.

·        -Очистка поля ввода и возврат фокуса.

·       — Готов добавить сохранение в localStorage и переключатель тем по запросу.

Довольно просто, не правда ли?

3. Система сохранения данных

Настраиваем работу с localStorage, вводим следующий запрос:

Реализуй сохранение задач в localStorage при:

— Добавлении новой задачи

— Удалении задачи

— Добавь загрузку сохранённых задач при старте приложения

Теперь, после перезагрузки страницы, наши сохраняются. Далее сохраняем и проверяем.

4. Расширение функционала

Перейдём к самой интересной и творческой части нашей задачи, расширение функционала нашего списка дел. А, именно, добавим улучшения UX.

«Добавь возможность отмечать задачи как выполненные (перечёркивание текста). Реализуй счётчик оставшихся задач. Добавь кнопку для очистки всех выполненных задач, а так же переключение между темами приложения (дневная, ночная, светло-зелёная)»

Не забываем сохранять файл и проверяем результат.

791a15e2d127d77c8201ec6db4c5e1b6

Краш-тест

Cursor действительно впечатляет. Но, прежде чем подводить итоги, давайте устроим небольшой краш-тест. А именно, оценим возможности исправления ошибок и устойчивость к сложным сценариям; мы последовательно внедрим несколько взаимосвязанных багов и проанализируем диагностические способности агента.

«Исправим» функцию addTask (Файл: app.js).

Вот как функция выглядит в рабочем коде:

76805eecbe6e4ba72f8c4222aa1a95b0

Теперь вставим в неё ошибку состояния и постороннюю переменную:

tasks = []; // Ошибка состояния currentPage = ‘home’; // Посторонняя переменная Код функции addTask будет выглядеть следующим образом: function addTask() { const taskText = taskInput.value.trim(); if (taskText === ») return; tasks.push(taskText); tasks = []; // Ошибка состояния currentPage = ‘home’; // Посторонняя переменная renderTasks(); taskInput.value = »; }

Далее в функции renderTasks()  сломаем индексацию и обработчик удаления:

function renderTasks() { taskList.innerHTML = »; tasks.forEach((task) => { // Убрали индекс const li = document.createElement(‘li’); li.textContent = task; // Убрали обработчик удаления taskList.appendChild(li); }); }

А теперь сформируем запрос в Cursor:

В приложении сломалось несколько функций: задачи не сохраняются, не работают категории, нельзя удалять задачи. Найди и исправь все ошибки.

 Давайте взглянем на изменения в коде, которые внёс Сursor, после того как мы его подпортили. Красным цветов выделяются прежние фрагменты кода, а зелёным – исправления агента.

a1f4041f61f13900e03c8f5f18de3b0b
461c2b808ac1eb626ed2fff7b924fdcc

Как мы можем видеть, Cursor справился на ура. Подводя итоги по поводу данного AI-агента, можно сказать, что Cursor продемонстрировал высокую скорость прототипирования и хорошие диагностические способности. Подход оказался устойчив к разным сценариям, как создание кода, так и исправление ошибок.

Можете посмотреть видео работы нашего приложения:

Архитектура современной разработки эффективна, когда инструменты дополняют друг друга; пока Cursor генерирует фронтенд, платформы вроде Firebase предоставляют готовый бэкенд. Так же подход устойчив к разным требованиям — для pet-проектов достаточно localStorage, но для реальных приложений нужна облачная инфраструктура.

Firebase — это готовый бэкенд от Google, который берёт на себя:  базу данных Firestore с реальной синхронизацией, аутентификацию пользователей, хостинг статических файлов, serverless-функции для сложной логики.

Например, пока наш To-Do List работает локально, Firebase-версия могла бы синхронизировать задачи между всеми устройствами пользователя.

Мини-гайд: To-Do List на Firebase

1.     Инициализация проекта:

// firebase.js import { initializeApp } from ‘firebase/app’; import { getFirestore } from ‘firebase/firestore’; const firebaseConfig = { // ваши ключи из Firebase Console }; const app = initializeApp(firebaseConfig); export const db = getFirestore(app);

2.     Работа с задачами:

// tasks.js import { collection, addDoc, deleteDoc, doc, onSnapshot } from ‘firebase/firestore’; // Добавление const addTask = async (text) => { await addDoc(collection(db, ‘tasks’), { text: text, createdAt: new Date(), completed: false }); }; // Удаление const deleteTask = async (id) => { await deleteDoc(doc(db, ‘tasks’, id)); }; // Слушатель изменений onSnapshot(collection(db, ‘tasks’), (snapshot) => { const tasks = []; snapshot.forEach((doc) => { tasks.push({ id: doc.id, …doc.data() }); }); renderTasks(tasks); });

Важный аспект — время реализации. Если Cursor создал приложение за 30 минут, то настройка Firebase займёт 1-2 часа, но вы получите готовое к продакшену приложение с облачной синхронизацией.

Заключение: Cursor как инструмент современного разработчика

Мы проверили Cursor в реальных условиях; инструмент демонстрирует выдающиеся способности в прототипировании и рефакторинге, но имеет четкие границы применимости. Так же опыт устойчив к разным сценариям использования — от простых скриптов до комплексных приложений.

Cursor доказал свою эффективность в трех ключевых аспектах:

Скорость разработки — создание MVP To-Do List за 30 минут вместо 2-3 часов ручного кодирования.

  • Диагностика ошибок — успешное исправление 3 из 4 внедренных багов за 2 итерации

  • Качество кода — структурно правильные, хотя иногда избыточные решения

  • Например, агенты корректно работали с контекстом проекта, учитывая ранее созданные функции и структуры данных.

    В моей практике интеграция Cursor с Bothub показала устойчивые результаты; инструмент значительно ускорил написание шаблонного кода для обработки естественного языка, но потребовал точных технических спецификаций.

    Новым пользователям Bothub дарят 100 000 бесплатных капсов (внутренней валюты для генераций) при регистрации по этой ссылке. Этого хватит надолго даже для активного использования.

# Cursor быстро генерировал шаблоны для Bothub классификаторов @agent.handle(intent=’greeting’) async def handle_greeting(ctx: Context): # Код, сгенерированный Cursor по описанию «создай обработчик приветствия» await ctx.respond(«Привет! Чем могу помочь?»)

Доработка требуется в моментах, где требуются сложные цепочки диалогов, интеграция с внешними API и кастомные обработчики ошибок.

Важно отметить, что Cursor не заменяет понимание архитектуры Bothub, но сокращает время реализации на 40-50% за счет автоматизации рутинных задач.

Спасибо за внимание. Делитесь своими мнениями в комментариях.

Источник: habr.com

✅ Найденные теги: новости, Обзор
Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Звёздное небо с галактиками и туманностями, космос, Вселенная, астрофотография.
Женщина с длинными тёмными волосами в синем свете, нейтральный фон.
Спутник исследует черную дыру в космосе, испускающий световой луч.
Пикачу использует электрический разряд на фоне неба.
Черный углеродное волокно с текстурой плетения, отражающий свет.
Круглый экран с изображением замка и горы, рядом электронная плата.
Код на экране компьютера, программирование, интерфейс разработчика.
Статистика использования видеокарт NVIDIA RTX, показывающая изменения за октябрь-февраль.
Макросъемка клетки под микроскопом, текстура и форма на голубом фоне.
Image Not Found
Звёздное небо с галактиками и туманностями, космос, Вселенная, астрофотография.

Система оповещения обсерватории Рубина отправила 800 000 сигналов в первую ночь наблюдений.

Астрономы будут получать оповещения о небесных явлениях в течение нескольких минут после их обнаружения. Теренс О'Брайен, редактор раздела «Выходные». Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной…

Мар 2, 2026
Женщина с длинными тёмными волосами в синем свете, нейтральный фон.

Расследование в отношении 61-фунтовой машины, которая «пожирает» пластик и выплевывает кирпичи.

Обзор компактного пресса для мягкого пластика Clear Drop — и что будет дальше. Шон Холлистер, старший редактор Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной странице вашего…

Мар 2, 2026
Черный углеродное волокно с текстурой плетения, отражающий свет.

Материал будущего: как работает «бессмертный» композит

Учёные из Университета штата Северная Каролина представили композит нового поколения, способный самостоятельно восстанавливаться после серьёзных повреждений.  Речь идёт о модифицированном армированном волокном полимере (FRP), который не просто сохраняет прочность при малом весе, но и способен «залечивать» внутренние…

Мар 2, 2026
Круглый экран с изображением замка и горы, рядом электронная плата.

Круглый дисплей Waveshare для креативных проектов

Круглый 7-дюймовый сенсорный дисплей от Waveshare создан для разработчиков и дизайнеров, которым нужен нестандартный экран.  Это IPS-панель с разрешением 1 080×1 080 пикселей, поддержкой 10-точечного ёмкостного сенсора, оптической склейкой и защитным закалённым стеклом, выполненная в круглом форм-факторе.…

Мар 2, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых