sdd-iniciar-repo について
sdd-iniciar-repoは、gitを初めて使う人向けにリポジトリの初期設定を段階的に進めるスキルです。各変更の前に確認を取り、機密ファイルを点検してからGitHubの非公開リポジトリへの保存を準備します。
主な機能
- 015段階のリポジトリ設定ガイド
- 02ファイル一覧と機密データの確認
- 03変更前の明示的な承認
- 04初回コミットと非公開GitHubへの公開
- 05初心者向けの手順説明
活用シーン
- 01プロジェクトフォルダーでgitを開始
- 02コミット前のファイル確認
- 03顧客データや認証情報の除外
- 04非公開GitHubリポジトリへの公開
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ robertodiasduarte/ sdd-starter --skill sdd-iniciar-repoインストール後、Claude Code で/sdd-iniciar-repoを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlscripts/inventario.shtests/test_inventario.py詳細
リポジトリを開始する(iniciar-repo)
このスキルへの最初の応答では、次の行を一度だけ最初に記載してください。
sdd-iniciar-repo v1.1.0 · out/2026 · versão atual: https://github.com/robertodiasduarte/sdd-starter/releases/latest
まだ git を使っていないプロジェクトをここから始めると、顧客のスプレッドシート、.env、証明書を含めずに、最初のバージョンが保存され、GitHub に非公開リポジトリが作成されます。進行中にユーザーが行う判断は4つです。除外するもののリスト(.gitignore)、アラーム、最初に保存するバージョン(commit)、公開です。その段階の質問に「はい」と答えなければ、その段階は実行されません。無回答、別の質問への「OK」、以前の依頼は「はい」とはみなされません。
学習者への話し方
このスキルを使う人は、たいてい git を使ったことがありません。回答はそれぞれ、技術的なレポートではなく、説明付きの一つのステップです。
5つのステップには、常に次の名前を使います:
| ステップ | 学習者向けの名前 | このスキルの手順 |
|---|---|---|
| 1 | フォルダーの中身を確認する | 手順1と2(読むだけ) |
| 2 | パソコンから出せないものを分けて、git を有効にする | 手順3 |
| 3 | 顧客データを防ぐアラームをインストールする | 手順4 |
| 4 | 最初のバージョンを保存する | 手順5 |
| 5 | GitHub にプライベートなコピーを保管する | 手順6 |
すべての回答には、次の項目をこの順番で含めます(内容がない項目は省略します)。
-
ステータス — 1行で記載します:
✅ 1 確認 · ▶️ 2 分別 · ⬜ 3 アラーム · ⬜ 4 最初のバージョン · ⬜ 5 GitHub(✅ 完了、▶️ 現在のステップ、⬜ 未着手、⏸️ 停止、➖ スキップ)。 -
行ったこと — 前のステップの結果を、コマンドの出力を含めず、短い文で説明します。
-
次に行うこと:ステップ N — 名前 — このステップで何をするのか、なぜ必要なのかを、ターミナルを見たことがない人にもわかるように2〜4文で説明します。何かを変更する場合は、番号付きの手順で何をするのか、またまだ起こらないこと(インターネットには何も送られない、自分のファイルは削除されないなど)を伝えます。
-
あなたの判断 — 質問を太字にし、選択肢ごとに、選んだ場合に何が起こるかを記載します。
このフォルダーに一覧を保存して、git を有効にしてもよいですか?
- はい — 一覧を保存し、git を有効にして、ステップ3(アラーム)に進みます。
- いいえ — ここで停止します。フォルダー内には何も作成・変更されません。
- 一覧を見る — 決める前に、正確な行を表示します。
-
次のステップ — 回答の後に何が起こるかを1行で説明します。
言葉遣いのルール:
- 1回の回答につき1ステップです。判断を示したらそこで止め、次のステップに続けないでください。
- 技術用語は、初めて使うときに説明を添えてください。
- git — 「プロジェクトのバージョン履歴(git)」。
- commit — 「保存されたバージョン(commit)」:その時点のすべてのファイルを日付付きで記録したもの。
.gitignore— 「対象外にするものの一覧(.gitignore)」:ここに記載されたものは、このパソコンにだけ残ります。- GitHub のリポジトリ — 「GitHub に保管されたプロジェクトのコピー」。プライベート — 「あなたと、あなたが招待した人だけが見られます」。
- アラーム — 「保存前に各バージョンを確認し、CPF/CNPJ、パスワード、スプレッドシートをブロックするチェック機能」。
--no-verify— 「今回だけ、アラームを通さずに保存する」。- 依存関係 — 「1つのコマンドで再インストールできる補助プログラム」。
gh— 「ターミナルで使う GitHub のプログラム(GitHub CLI)」。 ブランチ、インデックス、HEAD、フック、リモートには触れず、その影響を説明してください。
- コマンドの出力をそのまま転記しないでください。 ファイルの数や種類、注意が必要な点を説明します。ファイル名は最大10件まで、簡単なリストで記載し、「ほかに N 件」と続けます。コマンドは学習者自身が実行する必要がある場合に限って示し、その場合は番号付きの手順で、1つの手順につき1つのコマンドを記載し、画面に何が表示されるかも説明してください。
- このスキルや別のスキルの指示について、引用したり要約したりしないでください(「スキルで求められているので…」「手順4に従って…」など)。承認を求める理由を伝える必要がある場合は、学習者にとっての理由を説明してください:「公開後は取り消せないので、あなた自身に決めてほしいです。」
- 決めるのは学習者であり、意思を明確に確認してください。 選択肢のいずれかの言葉、またはこの質問への回答としての「どうぞ」「はい」「OK」が有効です。どの選択肢にも当てはまらない回答(質問、または「たぶん、はい」など)の場合は、質問に答えてから選択肢をもう一度提示してください。次のステップの「行ったこと」には、決定内容を記録します:「あなたははいを選びました。一覧を保存しました…」。
- 停止する場合にも、次に行う手順を示してください。 ステップを続けられない場合(フォルダーがクラウド上にある、git または
ghがない、ログインが必要、名前がすでに使われているなど)は、ステータスに ⏸️ を使い、理由を1文で説明して、番号付きの手順で対処方法を示します。最後に 「終わったら、もう一度声をかけてください。ここから再開します。」 と、実行されていないこと(「何も作成されていません。」、「何も公開されていません。」 など)を伝えます。
リモートと通信するすべてのコマンドのルール
push、ls-remote、gh repo create、gh repo view はパスワードを要求せずに実行します。
bash/zsh では GIT_TERMINAL_PROMPT=0 <comando>、PowerShell では $env:GIT_TERMINAL_PROMPT=0; <comando> を使います。
これを指定しないと、git がターミナルでパスワードを要求することがあり、ユーザーには見えない入力を待つことになります。
ユーザーには、使用中のシェルに対応する形式だけを表示してください。git と gh のコマンドは、どちらのシェルでも同じです。
ステップ 0 — これが実行できることを確認します
-
ツールがコマンドを一切実行できない(チャットアプリ):停止して、次のように伝えます。「お使いのコンピューターにはアクセスできません。プロジェクトを git に登録するには、プロジェクトフォルダーを開いた Claude Code または Codex でこのスキルを実行してください。」
-
git --versionが失敗する:*「git — バージョン履歴を保存するプログラム — がこのコンピューターにインストールされていません。」*と伝え、使用中のシステムに応じた手順を案内します。- Mac:1.
xcode-select --installを実行します。2. 表示されたウィンドウでインストールをクリックし、完了するまで待ちます(数分かかります)。3. ターミナルを閉じて、もう一度開きます。 - Windows:1. PowerShell で
winget install --id Git.Git -eを実行します(wingetがない場合は、https://git-scm.com/downloads からダウンロードし、既定で選択されているオプションのままインストールします)。2. ターミナルを閉じて、もう一度開きます。 - Linux:ディストリビューションのパッケージマネージャーを使います(例:
sudo apt install git)。
停止して、次のように伝えます。「何も作成されていません。完了したら、もう一度依頼してください。続きから進めます。」
- Mac:1.
-
このスキルのスクリプトには bash が必要です。 macOS と Linux には最初からあります。Windows では Git for Windows に Git Bash が付属しています。PowerShell で
bashが PATH にない場合は、& "$env:ProgramFiles\Git\bin\bash.exe" "<pasta desta skill>\scripts\inventario.sh"を実行します。bash がまったくない場合は、手動でインベントリを作成し(ステップ 2、PowerShell)、衛生チェックなしで続行します(ステップ 4)。
<pasta desta skill> は、この SKILL.md を含むフォルダーです(プロジェクト内またはエージェントのグローバルフォルダーにある .claude/skills/sdd-iniciar-repo/ または .agents/skills/sdd-iniciar-repo/)。
ステップ 1 — プロジェクトの場所を確認します(再開可能)
質問せずに確認します。
| 状況 | 確認方法 | 次に進む先 |
|---|---|---|
| まだ git がない | git rev-parse --show-toplevel が失敗する | ステップ 2 |
| より大きなリポジトリの中にある | --show-toplevel が別の上位フォルダーを示す | インベントリに場所が記載されています。停止 |
| git にコミットがない | git rev-parse --verify -q HEAD が失敗する | ステップ 2(git init はすでに実行済みです。ステップ 3 ではスキップします) |
| リモートのないコミットがある | HEAD があり、git remote が空である | ステップ 2(履歴も含めてインベントリを作成)に進み、その後ステップ 6 |
| リモートにブランチがない | origin があり、GIT_TERMINAL_PROMPT=0 git ls-remote --heads origin <branch atual> の結果が空である | ステップ 2 に進み、その後ステップ 6 の項目 7(途中で止まった公開作業 — origin がそこでの確認を通過した場合のみ) |
| 準備完了 | origin があり、現在のブランチが存在する | *「このプロジェクトはすでに git と GitHub に登録されています。次の作業を依頼してください。」*と伝えて停止します |
<branch atual> は git branch --show-current です。
作業を再開する場合、ステータスでは完了済みの手順に最初から ✅(スキップした場合は ➖)が付き、「実施内容」には、見つかった準備完了の内容が一文で記載されます。
ステップ 2 — インベントリ(読み取りのみ)と本人確認
-
プロジェクトフォルダー内から
bash "<pasta desta skill>/scripts/inventario.sh"を実行し、出力を読みます。 学習者には「学習者への伝え方」を参照して、対象となるファイル数、機密情報が見つかったかどうかとその内容、除外対象の一覧がどのグループをカバーするかを伝えます。グループ単位で伝えてください(「パスワードと証明書」、「再インストールできる補助プログラム」、「システムファイル」、「スプレッドシート」)。1 行ずつ伝えるのは、学習者が一覧を見ることを選んだ場合だけです。- 出力 2:これは前提条件に関する問題です(クラウド同期フォルダー、個人用フォルダー、サブフォルダーまたは親フォルダーにあるリポジトリ、git がない)。メッセージには対応方法がすでに記載されています。番号付きの手順に直して伝え、"何も作成されていません。" として終了します。
- 出力 1:インベントリでファイルを一覧表示できませんでした。不完全なインベントリで続行しないでください。何が起きたかを伝え、"何も作成されていません。" として終了します。
- 出力 0:続行します。インベントリには git に追加される対象(既存の
.gitignoreがあればそれを考慮)が一覧表示され、パスワードと証明書、スプレッドシート、50 MB を超えるファイル、依存関係が示されます。また、コミットがすでにある場合は、履歴にすでに含まれているものが示され、最後に.gitignoreの案が提示されます。
-
**bash が使えない場合(PowerShell)**は、同じ前提条件とインベントリを手作業で確認し、最初に失敗した時点で終了します。
- パスに
OneDrive、Dropbox、Google Drive、My Drive、Meu Drive、またはiCloudDriveが含まれる ⇒ プロジェクトをクラウドの外に移動します。 - フォルダーが個人用フォルダー(
$env:USERPROFILE)である ⇒ プロジェクトフォルダーでターミナルを開きます。 git rev-parse --show-toplevelが別のフォルダーを返す ⇒ このフォルダーは大きなリポジトリの中にあります。その場所で開きます。- ここに git がなく、
Get-ChildItem -Recurse -Depth 2 -Force -Filter .git -ErrorAction SilentlyContinueがサブフォルダー(node_modulesを除く)に.gitを見つける ⇒ プロジェクトはそのサブフォルダーです。その場所で開きます。 - コミットがある場合(
git rev-parse --verify -q HEADが応答する場合)、履歴を確認します。(git log --all --name-only --format= -z) -split [char]0 | Where-Object { $_ } | Sort-Object -Unique | Select-String -Pattern '(^|/)\.env|\.(pfx|p12|pem|key|xlsx|xls|csv|ods)$'(-zと-split [char]0により、git がアクセント付き文字や引用符を含む名前を引用符で囲むのを防ぎます。引用符で囲まれると拡張子が検出されなくなります。)見つかったものは、項目 4 の 履歴にすでに含まれているもの のブロックとして扱います。
(Get-Location).Path Get-ChildItem -Recurse -Force -File -ErrorAction SilentlyContinue | Where-Object { $_.FullName -notmatch '\\(\.git|node_modules|\.venv|venv)\\' } | Where-Object { $_.Name -match '^\.env' -or $_.Extension -match '^\.(pfx|p12|pem|key|xlsx|xls|csv|ods)$' -or $_.Length -gt 50MB } | Select-Object FullName, @{n='MB';e={[math]::Round($_.Length/1MB)}}inventario.shと同じ基本行(パスワードと証明書、依存関係、システムファイル。見つかった場合はスプレッドシートと各大容量ファイル)を使って.gitignoreの案を作成します。 - パスに
-
git の本人情報:
git config user.nameとgit config user.emailを確認します。空の場合は、保存するバージョンごとに保存した人の名前とメールアドレスが記録されることを説明し、次の手順を伝えます。1.git config --global user.name "Seu Nome"、2.git config --global user.email "[email protected]"(どちらのシェルでも同じです。メールアドレスは、できれば GitHub アカウントで使っているものにします)。最初のバージョンの保存に失敗するため、ここで終了します。 -
履歴内で見つかったもの(🔴 履歴にすでに含まれているもの のブロック):そこにパスワードまたは証明書がある場合は、公開しないでください。公開すると、あとで削除したものも含めて履歴全体が公開されること、履歴の消去はこのスキルでは行わないこと、保護するために必要なのはパスワードの変更または証明書の失効であることを伝えます。"何も公開されていません。" として終了します。履歴内にスプレッドシートだけがある場合は、名前を挙げて**「このスプレッドシートには顧客データが含まれていますか?」と尋ね、選択肢として含まれていません**(続行)と含まれています(終了:この履歴は公開すべきではありません)を提示します。含まれていませんの場合のみ続行します。
ステップ 3 — .gitignore と git init(ステージ 2、1 回目の判断)
「実施したこと」は棚卸しの結果です。「これから」では、git を有効にする前に、除外するものをカテゴリごとに一覧に記録し、その一覧はこのコンピューター内だけにあることを説明します。スプレッドシートや大きなファイルが見つかった場合は、提案ではすでに除外されていること、含める必要があるものがあれば(たとえば架空のサンプル用スプレッドシート)、生徒が名前を伝えればよいことを説明します。次のように尋ねます。
「除外する一覧を記録して、このフォルダーで git を有効にしてもよいですか?」
-
はい — 一覧を記録して git を有効にします。まだ何も履歴に保存されず、送信もされません。
-
いいえ — 停止します。何も作成、変更されません。
-
一覧を見る — 正確な行を表示して、もう一度尋ねます。
-
はいがなければ、停止します。「何も作成されませんでした。」
-
はいの場合は、行を
.gitignoreに追加します(存在しない場合は作成します。既存の行は決して削除しません)。.gitがない場合は、git init -b mainを実行します。古い Git で-bが認識されない場合は、git initとgit symbolic-ref HEAD refs/heads/mainを実行します。
ステップ 4 — 最初のコミット前のアラーム(ステージ 3、2 回目の判断)
最初に保存するバージョンは最もリスクが高く、フォルダー全体が対象になります。その前に、次の手順を行います。
-
同じスキルフォルダーに
sdd-higiene-dadoスキルがある場合:その手順に従い、最後まで実行します。verificar、説明、そのスキルの質問を行い、はいの場合にのみinstalarします。別のアラームがすでに存在するためにインストールを拒否された場合は、その指示に従います。生徒への回答はこのスキルの形式(ステータス、実施したこと、ステージ 3、判断、次の手順)に従い、そのスキルの質問と次の選択肢を含めます。「このプロジェクトにアラームをインストールしてもよいですか?」
- はい — インストールします。以後、このフォルダーと各フロントで保存するバージョンを確認します。
- いいえ — アラームなしでステップ 4 に進みます。最初のバージョンの確認は私が担当します。
アラームの効果を説明します。何を阻止するのか、このコンピューター内だけにあり(GitHub には送信されないこと)、確認後にアラームを回避して保存できること、削除方法を伝えます。ファイルのパスとアンインストールコマンドは、生徒に尋ねられた場合のみ伝えます。
-
存在しない場合:そのスキルが何をするのか(有効な CPF/CNPJ、
.env、証明書、新しいスプレッドシートを含むバージョンを阻止すること)を一文で説明し、npx skills add robertodiasduarte/sdd-starter -a <claude-code ou codex> -g -yでインストールできることを伝えて、「アラームなしで続けますか?」と尋ねます。選択肢は、はい(ステップ 4 に進む)といいえ(インストールするために停止し、完了後にもう一度依頼してもらう)です。はいがなければ停止します。「何もコミットされませんでした。」
ステップ 5 — 最初のコミット(ステップ 4、3 回目の判断)
すでに HEAD が存在する場合(コミットがすでに作成されている場合)は、このステップを飛ばしてください。
-
git rm -r -q --cached --ignore-unmatch .— コミットがまだなければ、これは追加対象の一覧(インデックス)を空にするだけで、ディスク上のファイルは削除されません。.gitignoreが存在する前にステージングされたものを取り除きます。 -
git add -A -
提案ではなく結果を確認してください:
git ls-files -ci --exclude-standardの出力が空であること、そして棚卸しをもう一度実行した結果(今度はステージングされた内容を読み込みます)に、🔴 パスワードと証明書、⚠️ スプレッドシート、⚠️ 大きなファイルのブロックが含まれていないことを確認してください。ただし、ユーザーが最初の OK で架空のものであり、追加する必要があると伝えたスプレッドシート(名前を挙げたもの)は除きます。該当するものがあれば、.gitignoreでそのファイルが除外されていません(古い!の行がある、名前がパターンに合わないなど):git reset -qを実行し、ファイルを示して不足している行を提案し、最初の OK に戻ってください。bash を使えない場合は、git status --shortを使って同じ名前を手作業で探してください。 -
アラームを設定したら、質問する前に実行してください:
bash .git/hooks/pre-commit(ステージングされた内容を読み取るだけで、何も保存しません)。CPF/CNPJ が見つかった場合は、ファイルと行番号を示し(番号はマスクされています)、項目 5 の質問をする前に、次のように尋ねてください:「これらの CPF/CNPJ は架空のものですか、それとも使用許可を得ていますか?」
- 架空のもの、または使用許可を得ています — アラームを無視して最初のバージョンを保存します。この 1 回だけです。アラームは以降も引き続き有効です。
- 顧客のものです — 架空のデータに置き換えてもらうため、ここで停止します。何も保存されません。
- わかりません — ここで停止します。ファイルを確認して、もう一度依頼してください。
-
ファイル数と追加対象を種類別(コード、テスト、ドキュメント、設定)に、最大 10 個の名前を例として簡単なリストで示してください。
git statusの出力は絶対に表示しないでください。次のように尋ねてください:「これらの N 個のファイルで、プロジェクトの最初のバージョンを保存してもよいですか?」
- はい — このコンピューターにバージョンを保存します。まだインターネットには何も送信されません。
- いいえ — ステージングを取り消します。Git を有効にしたまま、フォルダーを元の状態に戻します。
- すべて表示 — 完全な一覧を表示して、もう一度尋ねます。
-
「はい」の場合:
git commit -m "Primeiro commit"(項目 4 でユーザーが架空のもの、または使用許可を得ていますを選んだ場合に限り、今回のコミットにだけ--no-verifyを付けます)。「はい」以外の場合:git reset -q(ステージングだけを取り消します)を実行し、*「何もコミットされませんでした。」*と伝えてください。
アラームによってコミットが拒否された場合は、sdd-higiene-dado に従ってください。見つかった内容を示し、修正方法を提案してください。
自分の判断で git commit --no-verify を実行してはいけません — そのコミットについて、確認したうえで保存したいと本人が選んだ場合に限り実行してください。
ステップ 6 — GitHub に非公開で公開する(ステージ 5、4 番目の判断)
-
gh --versionが失敗する ⇒ GitHub のターミナル用プログラムがインストールされていません。手順:- インストールします — Mac: https://cli.github.com からインストーラーをダウンロードします。Windows:PowerShell で
winget install --id GitHub.cli -eを実行します(または同じサイトからインストーラーをダウンロードします)。 - ターミナルを閉じて、もう一度開きます。
gh auth loginを実行し、GitHub.com → HTTPS → Yes → Login with a web browser と選択します。表示されたコードをコピーし、ブラウザーで開いたページに貼り付けます。
停止します:"何も公開されていません。終わったら、もう一度依頼してください。ここから続けます。"
- インストールします — Mac: https://cli.github.com からインストーラーをダウンロードします。Windows:PowerShell で
-
gh auth statusでログイン済みアカウントがない ⇒ 上記のステップ 3 を案内し、ログインはブラウザーで行うものであり、ユーザーに代わって実行できない唯一の手順であることを説明します。停止します:"何も公開されていません。" -
オーナーと名前:オーナー =
gh api user --jq .login(またはユーザーが指定した組織)、名前 = フォルダー名の空白とアクセント記号をハイフンに置き換えたものです。<オーナー>/<名前>を表示し、ユーザーが変更できるようにします。 -
名前は使用可能ですか?
GIT_TERMINAL_PROMPT=0 gh repo view <オーナー>/<名前> --json name:- 名前が返される ⇒ すでに存在します:停止して、別の名前を依頼します。既存のリポジトリには絶対に送信しないでください。「活用する」ためでも同様です。
Could not resolve to a Repository⇒ 使用可能です。続行します。- その他のエラー ⇒ ネットワークまたはログインの問題です。何が起きたかを一文で伝え、"何も公開されていません。" と言って停止します。
-
「今すぐ公開」では、GitHub にはプロジェクトのコピーがコンピューターの外に保管されること、非公開とはユーザーとユーザーが招待した人だけが閲覧できること、送信した後は「取り消せない」ことを説明します。次の文言をそのまま使って尋ねます:
"GitHub に非公開リポジトリ
<オーナー>/<名前>を作成し、最初のコミットを送信してもよいですか?"- はい — 非公開リポジトリを作成し、保存済みのバージョンを送信します。
- いいえ — 停止します。バージョンはこのコンピューターにのみ残り、後で再度依頼すれば公開できます。
- 別の名前 — 名前を教えてください。使用可能か確認します。
-
「はい」の場合:
- bash/zsh:
GIT_TERMINAL_PROMPT=0 gh repo create <オーナー>/<名前> --private --source=. --remote=origin --push - PowerShell:
$env:GIT_TERMINAL_PROMPT=0; gh repo create <オーナー>/<名前> --private --source=. --remote=origin --push
--privateは固定です。このスキルでは、ユーザーに頼まれても--publicに変更しないでください。公開リポジトリにするかどうかは、内容を確認してから GitHub のサイトで決めることです。 - bash/zsh:
-
送信が途中で止まった場合(
originは存在するが、ブランチなしでls-remoteを実行する状態。gh repo createでリポジトリは作成されたものの送信されていない、またはステップ 1 からの再開の場合)。再作成せず、次の 4 項目すべてをoriginが満たす場合に限り送信します:- GitHub のリポジトリであり、
gh repo view <origin のオーナー>/<origin の名前> --json visibility --jq .visibilityの結果がPRIVATEである。 - 送信先と照会先が同じである:
git remote get-url --push --all originの結果が 1 行だけで、git remote get-url originと同一である(pushurlまたはpushInsteadOfによって別のリポジトリに送信される場合があります)。 - 空である:
GIT_TERMINAL_PROMPT=0 git ls-remote originがエラーなく終了し、何も一覧表示されない(ブランチもタグもない)。 <オーナー>/<origin の名前>を指定した項目 5 の質問に「はい」と回答している。
いずれかを満たさない場合 ⇒ 停止します:"プロジェクトは、私が作成したものではない空の非公開リポジトリをすでに指しています。何も公開されていません。" と伝え、
git remote -vを表示します。すべて満たす場合 ⇒gh auth setup-gitを実行し、GIT_TERMINAL_PROMPT=0 git push -u origin <現在のブランチ>を実行します(PowerShell:$env:GIT_TERMINAL_PROMPT=0; git push -u origin <現在のブランチ>)。 - GitHub のリポジトリであり、
別のホスト(GitLab、Bitbucket、社内サーバー):自動化しないでください。ユーザーがそこで空の非公開リポジトリを作成した後に実行する手順として、次を提示します:
git remote add origin <url> と GIT_TERMINAL_PROMPT=0 git push -u origin main
(PowerShell:$env:GIT_TERMINAL_PROMPT=0; git push -u origin main)。"私からは何も公開されていません。"
ステップ 7 — 完了
- 同じスキルフォルダーに
sdd-checar-ambienteスキルがある場合は、bash "<pasta das skills>/sdd-checar-ambiente/scripts/checar.sh" --frenteを実行して出力を読みます。学習者には、 その意味だけを伝えます。 - 最後の返答は、すべてのステータスが ✅(スキップしたステップは ➖)の要約です。
- 実施したこと。ステップごとに1行で、対象外になったこと、アラームがインストールされているか、保存されたバージョンとファイル数、
https://github.com/<dono>/<nome>のアドレス、非公開を記載します。 - 実際に変わったこと:プロジェクトに履歴ができ、以前のバージョンに戻れるようになり、GitHub に保管されたコピーもあります。
- 次のステップ:このスキルが
sdd-new-sessionから呼び出された場合は、そちらに戻ってフロントを開きます。そうでない場合は、「準備完了です。これでフロントを依頼できます。」
- 実施したこと。ステップごとに1行で、対象外になったこと、アラームがインストールされているか、保存されたバージョンとファイル数、
このスキルが行わないこと
- すでにパスワード、証明書、スプレッドシートを含む履歴は消去しません(それは本人のものです。何を保護するかは
sdd-higiene-dadoが説明します)。 - GitHub にログインせず、トークンを作成せず、パスワードも求めません。
- 公開リポジトリを作成せず、GitHub 以外のホストも自動化しません。
- スプレッドシートや
.envの中身は読みません。名前から判断して通知します。 - プロジェクトを同期フォルダーの外に移動しません。何をすべきかを説明します。
- 手順と
sdd-higiene-dadoの質問なしに、アラームをインストールしません。
各ルールが存在する理由(読まずに削除しないでください)
- ステータスと選択肢を示し、返答ごとに1ステップずつ進める — git を使ったことがない人には、今どこにいるのか、各「はい」で何が許可されるのか分かりません。選択肢のない質問に対する「いいですよ」は、本人が理解していないことへの許可になってしまいます。選択肢を明記すれば、それぞれの「はい」の範囲が明確になり、ステータスから残りの作業も分かります。
- 指示に言及しない — 「スキルで定められているので……」という説明は学習者には不要で、確認のための中断を事務的なものに感じさせます。本人にとって重要なのは、公開したものは取り消せないという影響です。
- すべて同期フォルダーを避ける — iCloud、OneDrive、Dropbox、Google Drive はファイル単位で同期します。
.gitには一緒に変更されるファイルが何千もあり、同期によって競合するコピーが作られたり、一部が失われたりします。Mac では「デスクトップ」と「書類」が iCloud にあると、パスを見ただけでは分かりません。インベントリでは iCloud が作成するエイリアスを確認します。 git addより前にインベントリを確認する — Finanças モジュールのフォルダーでgit add .を実行すると、顧客の CPF を含むスプレッドシートや事務所の.pfxまで追加されます。公開後に削除しても、コピーは取り消せません。- 再開時にもインベントリを実行する — 自分でコミットしたことがある人は、履歴に
.envが含まれている可能性があります。アラームが確認するのは現在のコミットに含めようとしている内容だけで、過去の内容は確認しません。 - 最初のコミットより前に
git rm --cachedを実行する —.gitignoreでは、すでにgit addでステージングされたものは除外されません。インデックスを空にしないと、無視対象のファイルもそのまま含まれてしまいます。 git initの後、最初のコミットより前にアラームを設定する — アラームは.git/の中にあります。initの前にはインストール先がなく、最初のコミットの後では間に合いません。- コミット前に選択肢を示して CPF/CNPJ を尋ねる — アラームは数字で検出するため、そのデータが架空かどうかは分かりません。それを判断できるのは学習者だけです。そのため、
--no-verifyは選択肢を選んだ場合に限り、そのコミットでのみ使用します。 - 作成前に
gh repo viewで確認する — その名前はすでに存在する可能性があります(自分の別のプロジェクトや組織のプロジェクトなど)。そこに送信すると、2つのプロジェクトが混ざります。同じ理由から、再開時に送信するのは、空で非公開のoriginに限ります。以前に誰かが設定したoriginは公開されている可能性があります。 git addの後に実際の結果を確認する — 提案された.gitignoreが有効とは限りません。以前からある!の行で無効化されていたり、大文字の名前が小文字のパターンに一致しなかったりします。判断基準は、実際にコミット用としてステージングされた内容です。--privateを固定する — このスキルの対象には顧客データが含まれます。公開するかどうかは、アシスタントの最後ではなく、内容を確認して決めることです。- 再開可能にする —
ghがない、ログインしていない、またはネットワークに接続できない場合、学習者は途中で止まります。もう一度依頼したときは、最初からやり直したり重複させたりせず、止まったところから続けられる必要があります。
RDD の SDD Starter の一部 — https://github.com/robertodiasduarte/sdd-starter