メインコンテンツまでスキップ

環境変数

skillshare が認識するすべての環境変数です。

設定

SKILLSHARE_CONFIG

Config ファイルのパスを上書きします。

SKILLSHARE_CONFIG=~/custom-config.yaml skillshare status

デフォルト: ~/.config/skillshare/config.yaml


XDG_CONFIG_HOME

XDG Base Directory Specification に従い、 ベースとなる設定ディレクトリを上書きします。

export XDG_CONFIG_HOME=~/my-config
# skillshare は ~/my-config/skillshare/ を使うようになる

デフォルトの挙動:

プラットフォームデフォルト
Linux~/.config/skillshare/
macOS~/.config/skillshare/
Windows%AppData%\skillshare\

優先順位: SKILLSHARE_CONFIG > XDG_CONFIG_HOME > プラットフォームのデフォルト。

注記

初期セットアップの後で XDG_CONFIG_HOME を設定した場合、既存の ~/.config/skillshare/ ディレクトリを 手動で新しい場所に移動してください。


XDG_DATA_HOME

データディレクトリ(バックアップ、trash)を上書きします。

export XDG_DATA_HOME=~/my-data
# skillshare は ~/my-data/skillshare/backups/ と ~/my-data/skillshare/trash/ を使うようになる

デフォルト: ~/.local/share/skillshare/


XDG_STATE_HOME

状態ディレクトリ(操作ログ)を上書きします。

export XDG_STATE_HOME=~/my-state
# skillshare は ~/my-state/skillshare/logs/ を使うようになる

デフォルト: ~/.local/state/skillshare/


XDG_CACHE_HOME

キャッシュディレクトリ(バージョンチェックキャッシュ、UI dist キャッシュ)を上書きします。

export XDG_CACHE_HOME=~/my-cache
# skillshare は ~/my-cache/skillshare/ を使うようになる

デフォルト: ~/.cache/skillshare/

自動移行

v0.13.0 以降、skillshare はバックアップ、trash、ログについて XDG Base Directory Specification に 従います。古いバージョンからアップグレードする場合、これらのディレクトリは初回実行時に ~/.config/skillshare/ から正しい XDG の場所へ自動的に移行されます。


SKILLSHARE_GITLAB_HOSTS

ネストされたサブグループに対応させるセルフマネージドの GitLab ホスト名のカンマ区切りリストです。 config ファイルがない場合がある CI/CD で便利です。

SKILLSHARE_GITLAB_HOSTS=git.company.com,code.internal.io skillshare install git.company.com/team/frontend/ui

環境変数と config ファイルの gitlab_hosts の 両方が設定されている場合、それらの値はマージされます(重複排除)。無効なエントリ(scheme、パス、 ポートを含む、または空のもの)は黙ってスキップされます。

デフォルト: なし(config ファイルの値のみが使われる)


SKILLSHARE_AZURE_HOSTS

セルフホストの Azure DevOps Server ホスト名のカンマ区切りリストです。

SKILLSHARE_AZURE_HOSTS=azuredevops.mycompany.com,tfs.internal.io

環境変数と config ファイルの azure_hosts の 両方が設定されている場合、それらの値はマージされます(重複排除)。環境変数内の無効なエントリは 黙ってスキップされます。

デフォルト: (なし)

SKILLSHARE_GITEA_HOSTS

セルフホストの Gitea ホスト名のカンマ区切りリストです。名前に gitea を含むホストはこれがなくても 検出されます。

SKILLSHARE_GITEA_HOSTS=git.company.com,code.internal.io

config ファイルの gitea_hosts とマージされます。

デフォルト: (なし)

SKILLSHARE_CNB_HOSTS

セルフホストの CNB ホスト名のカンマ区切りリストです。cnb.cool はこれがなくても検出されます。

SKILLSHARE_CNB_HOSTS=cnb.company.com

config ファイルの cnb_hosts とマージされます。

デフォルト: (なし)


Web UI

SKILLSHARE_UI_BASE_PATH

リバースプロキシの背後で Web ダッシュボードを配信するための URL サブパスを設定します。

SKILLSHARE_UI_BASE_PATH=/skillshare skillshare ui --host 0.0.0.0 --no-open

--base-path /skillshare と同等です。両方が設定されている場合はフラグが優先されます。

デフォルト: なし(ダッシュボードはルート / で配信される)

Nginx と Caddy の例については リバースプロキシ を 参照してください。


GitHub API

GITHUB_TOKEN

GitHub の personal access token です。

用途:

  • GitHub API リクエスト(skillshare searchskillshare upgrade、バージョンチェック)
  • Git clone 認証 — HTTPS 経由でプライベートリポジトリをインストールする際に自動的に注入される

トークンの作成方法:

  1. https://github.com/settings/tokens にアクセスする
  2. 新しいトークン(classic)を生成する
  3. スコープ: プライベートリポジトリには repo、公開リポジトリにはなし
  4. トークンをコピーする

公式ドキュメント: Managing your personal access tokens

使い方:

export GITHUB_TOKEN=ghp_your_token_here
skillshare install https://github.com/org/private-skills.git --track

Windows:

# 現在のセッション
$env:GITHUB_TOKEN = "ghp_your_token"

# 永続化
[Environment]::SetEnvironmentVariable("GITHUB_TOKEN", "ghp_your_token", "User")

GH_TOKEN

代替の GitHub トークン変数です。GitHub CLI (gh) が使用し、skillshare は フォールバックとして認識します。

トークン解決の順序: GITHUB_TOKENGH_TOKENgh auth token

すでに gh を使っていて gh auth login で認証済みなら、skillshare は自動的にトークンを取得します — 追加の環境変数は不要です。

export GH_TOKEN=ghp_your_token_here
skillshare search "react patterns"

Git 認証

これらの変数は、プライベートリポジトリの HTTPS 認証を有効にします。設定されている場合、skillshare は installupdate の際にトークンを自動的に注入します — URL の変更は不要です。

詳細と CI/CD の例については プライベートリポジトリ を参照してください。

GITLAB_TOKEN

GitLab の personal access token または CI job token です。GitLab がホストするプライベートリポジトリの HTTPS clone に使われます。

トークンの作成方法:

  1. https://gitlab.com/-/user_settings/personal_access_tokens にアクセスする
  2. 新しいトークンを追加する
  3. スコープ: read_repository(pull のみ)または read_repository + write_repository(push と pull)
  4. トークン(glpat- プレフィックス)をコピーする

公式ドキュメント: Token overview

トークンの種類

git 操作に使えるのは Personal Access Tokenglpat-)と Project/Group Access Token のみです。 Feed Token(glft-)は git アクセスを持ちません

export GITLAB_TOKEN=glpat-xxxxxxxxxxxxxxxxxxxx
skillshare install https://gitlab.com/org/skills.git --track

Windows:

$env:GITLAB_TOKEN = "glpat-xxxxxxxxxxxxxxxxxxxx"

BITBUCKET_TOKEN

Bitbucket のリポジトリアクセストークン、または app password です。Bitbucket がホストするプライベート リポジトリの HTTPS clone に使われます。

トークンの作成方法(リポジトリアクセストークン):

  1. Repository → Settings → Access tokens に移動する
  2. Read 権限(pull のみ)または Read + Write(push と pull)でトークンを作成する
  3. トークンをコピーする — x-token-auth を自動的に使用(ユーザー名は不要)

トークンの作成方法(app password):

  1. https://bitbucket.org/account/settings/app-passwords/ にアクセスする
  2. Repositories: Read(pull のみ)または Repositories: Read + Write(push と pull)で app password を作成する
  3. BITBUCKET_USERNAME も設定する(または URL に https://<username>@bitbucket.org/... として含める)

公式ドキュメント: Access tokens

export BITBUCKET_USERNAME=your_bitbucket_username
export BITBUCKET_TOKEN=your_app_password
skillshare install https://bitbucket.org/team/skills.git --track

Windows:

$env:BITBUCKET_USERNAME = "your_bitbucket_username"
$env:BITBUCKET_TOKEN = "your_app_password"

BITBUCKET_USERNAME

BITBUCKET_TOKEN が app password の場合に、それと一緒に使われる Bitbucket のユーザー名です。

export BITBUCKET_USERNAME=your_bitbucket_username
export BITBUCKET_TOKEN=your_app_password
skillshare install https://bitbucket.org/team/skills.git --track

AZURE_DEVOPS_TOKEN

Azure DevOps の Personal Access Token(PAT)です。Azure DevOps がホストするプライベートリポジトリの HTTPS clone に使われます。

トークンの作成方法:

  1. https://dev.azure.com/{org}/_usersSettings/tokens に移動する
  2. + New Token を選択する
  3. スコープ: Code → Read(pull のみ)または Code → Read & Write(push と pull)
  4. トークン(AZDO シグネチャ付きの84文字の文字列)をコピーする

公式ドキュメント: Use Personal Access Tokens

export AZURE_DEVOPS_TOKEN=your_pat_here
skillshare install https://dev.azure.com/org/project/_git/repo --track

Windows:

$env:AZURE_DEVOPS_TOKEN = "your_pat_here"

GITEA_TOKEN

Gitea のアクセストークンです。gitea.com とセルフホストの Gitea 上のプライベートリポジトリの HTTPS clone、およびフルクローンなしでサブディレクトリをインストールする際の Gitea Contents API に 使われます。

トークンの作成方法:

  1. Gitea で Settings → Applications に移動する
  2. 新しいトークンを生成する
  3. 権限: repository: Read(pull のみ)または repository: Read and Write(push と pull)
export GITEA_TOKEN=your_token
skillshare install https://gitea.com/org/skills.git --track

Windows:

$env:GITEA_TOKEN = "your_token"

トークンはインストール元のホストにのみ送信されます。名前に gitea を含まないドメイン上のセルフ ホストインスタンスには gitea_hosts が必要で、 それがなければ代わりに SKILLSHARE_GIT_TOKEN が使われます。

CNB_TOKEN

リポジトリへの読み取り権限を持つ CNB のアクセストークンです。cnb.cool と セルフホストの CNB 上のプライベートリポジトリの HTTPS clone に使われます。

export CNB_TOKEN=your_token
skillshare install https://cnb.cool/org/skills --track

Windows:

$env:CNB_TOKEN = "your_token"

別のドメイン上のプライベートデプロイには cnb_hosts が必要です。

SKILLSHARE_GIT_TOKEN

任意の HTTPS git ホスト用の汎用フォールバックトークンです。プラットフォーム固有のトークンが 設定されていない場合に使われます。

export SKILLSHARE_GIT_TOKEN=your_token
skillshare install https://git.example.com/org/skills.git --track

Windows:

$env:SKILLSHARE_GIT_TOKEN = "your_token"

トークンの優先順位: プラットフォーム固有(GITHUB_TOKENGITLAB_TOKENBITBUCKET_TOKENAZURE_DEVOPS_TOKENGITEA_TOKENCNB_TOKEN) > SKILLSHARE_GIT_TOKEN


Git SSL / TLS

これらの標準的な Git 環境変数は、すべての git 操作にそのまま渡されます。自己署名証明書や内部 CA を 使うセルフホストの Git サーバー(GitLab、Gitea など)に便利です。

GIT_SSL_CAINFO

カスタム CA 証明書バンドルへのパスです。セルフホストの Git サーバーが内部 CA によって署名された 証明書を使っている場合に使用します。

export GIT_SSL_CAINFO=/path/to/ca-bundle.crt
skillshare install https://gitlab.internal.company.com/team/skills.git --track

GIT_SSL_NO_VERIFY

SSL 証明書の検証を完全に無効化します。CA 証明書のセットアップが現実的でない場合の最終手段として 使用してください。

セキュリティリスク

SSL 検証を無効化すると、中間者攻撃に対して脆弱になります。適切な CA バンドルを使った GIT_SSL_CAINFO を優先するか、代わりに SSH を使ってください。

GIT_SSL_NO_VERIFY=true skillshare install https://gitlab.internal.company.com/team/skills.git --track

代替案: SSL を完全に回避するために SSH を使う:

skillshare install [email protected]:team/skills.git --track

テスト

SKILLSHARE_TEST_BINARY

統合テスト用の CLI バイナリパスを上書きします。

SKILLSHARE_TEST_BINARY=/path/to/skillshare go test ./tests/integration

デフォルト: プロジェクトルートの bin/skillshare


使用例

一時的な上書き

# 単一のコマンド
SKILLSHARE_CONFIG=/tmp/test-config.yaml skillshare status

# 複数のコマンド
export SKILLSHARE_CONFIG=/tmp/test-config.yaml
skillshare status
skillshare list
unset SKILLSHARE_CONFIG

永続的な設定(macOS/Linux)

~/.bashrc または ~/.zshrc に追加します。

export GITHUB_TOKEN="ghp_your_token_here"

永続的な設定(Windows)

[Environment]::SetEnvironmentVariable("GITHUB_TOKEN", "ghp_your_token", "User")

まとめ

変数用途デフォルト
SKILLSHARE_CONFIGConfig ファイルのパス~/.config/skillshare/config.yaml
SKILLSHARE_UI_BASE_PATHリバースプロキシ用の Web UI サブパスなし
SKILLSHARE_GITLAB_HOSTSカスタム GitLab ホスト名(カンマ区切り)なし
SKILLSHARE_AZURE_HOSTSカスタム Azure DevOps Server ホスト名(カンマ区切り)なし
SKILLSHARE_GITEA_HOSTSカスタム Gitea ホスト名(カンマ区切り)なし
SKILLSHARE_CNB_HOSTSカスタム CNB ホスト名(カンマ区切り)なし
XDG_CONFIG_HOMEベースとなる config ディレクトリ~/.config(Linux/macOS)、%AppData%(Windows)
XDG_DATA_HOMEデータディレクトリ(バックアップ、trash)~/.local/share
XDG_STATE_HOME状態ディレクトリ(ログ)~/.local/state
XDG_CACHE_HOMEキャッシュディレクトリ(バージョンチェック、UI)~/.cache
GITHUB_TOKENGitHub API + git clone 認証なし
GH_TOKENGitHub API(GITHUB_TOKEN のフォールバック)なし
GITLAB_TOKENGitLab git clone 認証なし
BITBUCKET_TOKENBitbucket git clone 認証なし
BITBUCKET_USERNAMEapp password 認証用の Bitbucket ユーザー名なし
AZURE_DEVOPS_TOKENAzure DevOps git clone 認証なし
GITEA_TOKENGitea git clone + Contents API 認証なし
CNB_TOKENCNB git clone + contents API 認証なし
SKILLSHARE_GIT_TOKEN汎用 git clone 認証(フォールバック)なし
GIT_SSL_CAINFOカスタム CA 証明書バンドルのパスシステムデフォルト
GIT_SSL_NO_VERIFYSSL 証明書の検証を無効化するfalse
SKILLSHARE_TEST_BINARYテストバイナリのパスbin/skillshare

関連項目