Десять команд терминала
Вы узнаете
Десять команд терминала на день начала и та из них, которую нельзя отменить.
Терминал - это окно, где вы набираете команду и нажимаете Enter. Десять команд дают очень многое: pwd, ls, cd, mkdir, touch, cat, cp, mv, rm и clear. Их безопасно пробовать, кроме одной: rm удаляет файл без отмены, поэтому прочитайте её дважды, прежде чем нажать Enter. Спека перечисляет все 10 с кратким смыслом каждой и отмечает ровно 1 из них как команду без отмены.
Попробуйте
В спеке найдите список NO_UNDO. Отметьте cat тоже единицей 1 и запустите плеер: упадёт тест, который считает команды без отмены. Затем верните 0.
Ten terminal commands that cover a first day, each with a one-line meaning, and the one that cannot be undone. Lesson 5 of the vibecoding course.
specs/vibecoding/ten_commands.t27
// SPDX-License-Identifier: Apache-2.0
; specs/vibecoding/ten_commands.t27 -- lesson 5 of the vibecoding course: ten terminal commands
; Ten commands cover most of a beginner's day in the terminal. Each has a one-line meaning, and
; each has a flag: 1 if it destroys something with no undo, 0 if it does not. Only rm does.
; ASCII only (L3), English only (LANG-EN).
; phi^2 + 1/phi^2 = 3 | TRINITY
module vc_ten_commands;
pub const COMMAND_COUNT : u8 = 10;
pub const COMMANDS : [10]str = ["pwd", "ls", "cd", "mkdir", "touch", "cat", "cp", "mv", "rm", "clear"];
pub const MEANINGS : [10]str = [
"print the folder you are in",
"list what is in this folder",
"change to another folder",
"make a new folder",
"make a new empty file",
"print a file's text",
"copy a file",
"move or rename a file",
"delete a file with no undo",
"wipe the screen, keep your files"
];
; 1 = no undo, 0 = safe to try.
pub const NO_UNDO : [10]u8 = [0, 0, 0, 0, 0, 0, 0, 0, 1, 0];
pub const RM_INDEX : u8 = 8;
test there_are_ten_and_the_last_one_is_clear {
assert COMMAND_COUNT == 10;
assert COMMANDS[0] == "pwd";
assert COMMANDS[9] == "clear";
assert MEANINGS[9] == "wipe the screen, keep your files";
}
test the_names_and_meanings_line_up {
assert COMMANDS[RM_INDEX] == "rm";
assert MEANINGS[RM_INDEX] == "delete a file with no undo";
}
test exactly_one_command_has_no_undo {
assert NO_UNDO[RM_INDEX] == 1;
assert NO_UNDO[0] + NO_UNDO[1] + NO_UNDO[2] + NO_UNDO[3] + NO_UNDO[4] + NO_UNDO[5] + NO_UNDO[6] + NO_UNDO[7] + NO_UNDO[8] + NO_UNDO[9] == 1;
}
Все уроки
Модуль 1 · Что такое вайбкодинг
Вы описываете, агент пишет, вы запускаете и проверяете. Что такое программа, и пять мифов, проверенных тестом.
Модуль 2 · Ваш рабочий стол
Редактор с агентом рядом, десять команд терминала и чтение сообщения об ошибке.
Модуль 3 · Точки сохранения в git
Коммит это точка сохранения, ветка это безопасная проба, а ключ это пара, одна половина которой остаётся приватной.
Модуль 4 · Промптинг
Части промпта, пример вместо прилагательного и один маленький шаг за раз.
Модуль 5 · Рабочий цикл
Четыре фазы от идеи до выпуска, цикл из четырёх шагов и что делать, когда вы застряли.
Модуль 6 · Тест как судья
Тест говорит да или нет, подложенная ошибка показывает, что тест работает, а дифф читают до того, как принять.
Модуль 7 · Из чего состоит агент
Чем агент отвечает, что он умеет делать с инструментами и что хранит между сообщениями.
Модуль 8 · Начальный бот
Бот это цикл сообщений, бот строится из спеки, а секрет остаётся вне репозитория и промпта.
Модуль 9 · Ваш собственный проект
Спека для вашей идеи, одна величина, измеренная после запуска, и честный план на следующий месяц.