사용자는 학교 이름만 입력하면 되는 급식 CLI입니다.
사용자는 키 설정이나 로컬 서버 실행 없이 바로 사용할 수 있습니다.
- Python 3.10+
- Python standard library only (no external dependencies)
아래 명령을 그대로 복사해서 실행하면 sch가 전역 설치됩니다.
macOS (zsh/bash):
mkdir -p "$HOME/.local/bin" \
&& curl -fsSL "https://github.com/hefxpzwk/school/releases/latest/download/sch-macos-latest" -o "$HOME/.local/bin/sch" \
&& chmod +x "$HOME/.local/bin/sch" \
&& export PATH="$HOME/.local/bin:$PATH" \
&& echo 'export PATH="$HOME/.local/bin:$PATH"' >> "$HOME/.zshrc"Linux (bash):
mkdir -p "$HOME/.local/bin" \
&& curl -fsSL "https://github.com/hefxpzwk/school/releases/latest/download/sch-ubuntu-latest" -o "$HOME/.local/bin/sch" \
&& chmod +x "$HOME/.local/bin/sch" \
&& export PATH="$HOME/.local/bin:$PATH" \
&& echo 'export PATH="$HOME/.local/bin:$PATH"' >> "$HOME/.bashrc"Windows PowerShell:
$InstallDir = Join-Path $env:LOCALAPPDATA "Programs\sch"
New-Item -ItemType Directory -Force -Path $InstallDir | Out-Null
Invoke-WebRequest -Uri "https://github.com/hefxpzwk/school/releases/latest/download/sch-windows-latest.exe" -OutFile (Join-Path $InstallDir "sch.exe")
$userPath = [Environment]::GetEnvironmentVariable("Path", "User")
if (-not ($userPath -split ";" | Where-Object { $_ -eq $InstallDir })) {
if ([string]::IsNullOrWhiteSpace($userPath)) {
[Environment]::SetEnvironmentVariable("Path", $InstallDir, "User")
} else {
[Environment]::SetEnvironmentVariable("Path", "$userPath;$InstallDir", "User")
}
}
Write-Output "새 PowerShell 창을 연 뒤: sch food"서버가 이미 배포되어 있으므로 전역 명령 sch만으로 바로 사용할 수 있습니다.
- (선택) 서버 주소 설정
export MEAL_PROXY_BASE_URL="https://school-wftk.onrender.com"- 급식/시간표 조회
sch food
sch tt
sch tt --week
# 도움말
sch --help
sch -help
sch /help
sch /?
sch help tt처음 실행 시 학교 설정이 없으면 학교 이름을 물어보고 1회 저장합니다.
그 다음부터는 food 또는 tt만 실행하면 됩니다.
시간표(tt)는 학년/반 설정이 없으면 처음 1회 학년과 반을 물어보고 저장합니다.
다음부터는 저장된 학년/반 기준으로 자동 조회합니다.
학교 설정이 없습니다. 처음 1회 학교를 설정합니다.
학교 이름을 입력해 주세요: 서울고등학교
동명이 학교가 여러 개면 목록을 보여주고 --index로 선택할 수 있습니다.
sch set-school "서울고등학교" --index 2특정 날짜 조회:
sch food --date 20260319
sch tt --date 20260319
sch tt --date 20260319 --week명령 별칭:
sch meals # sch food 와 동일
sch timetable # sch tt 와 동일학년 수동 설정:
sch set-grade 2반 수동 설정:
sch set-class 3학교/학년/반 한 번에 다시 설정:
sch set-profile- CLI(
sch)는 배포된 서버로 요청을 보냅니다. food첫 실행에서 학교명을 입력받아 코드 저장- 이후
food실행 시 조식/중식/석식을 자동 출력 - 이후
tt실행 시 저장된 학년/반의 해당 날짜 시간표를 자동 출력 tt --week실행 시 기준 날짜가 포함된 주(월~금) 전체 시간표를 출력
원하면 수동으로 미리 설정할 수도 있습니다:
sch set-school "서울고등학교"설정 파일 경로:
${XDG_CONFIG_HOME}/neis-meal-cli/config.json(설정 시)- 없으면
~/.config/neis-meal-cli/config.json
MEAL_PROXY_BASE_URL(CLI용, 기본:https://school-wftk.onrender.com)MEAL_PROXY_TIMEOUT(CLI 요청 타임아웃 초, 기본:20)MEAL_PROXY_RETRIES(타임아웃 시 재시도 횟수, 기본:2)
설치가 끝나면 어느 폴더에서든 아래처럼 실행하면 됩니다.
sch food
sch tt
sch tt --week
sch tt --class 3GitHub Actions 릴리즈 워크플로는 v* 태그 푸시 시 실행됩니다.
git tag v1.0.6
git push origin main --tags릴리즈가 완료되면 아래 자산이 자동 업로드됩니다.
sch-ubuntu-latestsch-macos-latestsch-windows-latest.exeSHA256SUMS.txt