Работа с Git
Git установлен в стандартном образе песочницы.
mjs
import { Sandbox } from "@abox-dev/sdk";
const sandbox = await Sandbox.create();
const repo = "/home/user/project";
try {
await sandbox.commands.run(`git init --initial-branch=main ${repo}`);
await sandbox.commands.run(
'git config user.name "AgentBox User" && git config user.email "user@example.com"',
{ cwd: repo },
);
await sandbox.files.write(`${repo}/README.md`, "# AgentBox project\n");
await sandbox.commands.run(
"git add README.md && git commit -m 'Initial commit'",
{
cwd: repo,
},
);
const result = await sandbox.commands.run("git log -1 --oneline", {
cwd: repo,
});
console.log(result.stdout);
} finally {
await sandbox.kill();
}Для команд status, branch, pull и push передавайте каталог репозитория в cwd. git clone можно запустить из родительского каталога.
Для частных репозиториев нужны учётные данные Git-провайдера. Передавайте короткоживущие данные доступа во время выполнения. Не сохраняйте токены в шаблоне, метаданных песочницы или URL удалённого репозитория в .git/config.