Mealie 유지보수
항상 세 단계: 분석 -> 계획 -> 실행. 계획이 명시적으로 승인되지 않으면 아무것도 작성하지 않습니다. 하나의 계획에 두 가지 종류의 작업을 혼합하지 마십시오.
모드 선택 및 해당 참조 읽기
현재 모드에 대한 참조 만 읽고, 모두 읽지 마십시오:
| 작업 | 참조 |
|---|---|
| 레시피 정리, 식재료 파싱, 필드 채우기 | references/recipes.md |
| 식품: 누락, 매칭, 중복 | references/foods.md |
| 단위: 누락, 중복, 미터법 변환 | references/units.md |
| 쇼핑 목록 라벨: 팔레트, 누락, 축 | references/labels.md |
| 카테고리, 태그, 도구 통합 | references/organizers.md |
| 요리책 생성 또는 재작업 | references/cookbooks.md |
| 중복 레시피, 깨진 재료 줄, 끊어진 링크, 식단 태그 | references/maintenance.md |
레시피, 식품 및 단위의 extras 필드 | references/extras.md |
| 식사 계획, URL에서 레시피 가져오기, MCP 서버 작업 | references/mcp.md |
ACTIONS 형식은 모든 모드에서 동일합니다: references/actions.md.
2단계가 시작될 때만 해당 파일을 읽으십시오.
mcp-mealie MCP 서버가 연결될 때마다 references/mcp.md를 읽으십시오 —
다른 모든 모드의 데이터 수집 방식을 변경합니다.
도구
scripts/mealie_ctx.py는 모든 API 호출을 래핑합니다. 소스 코드를 읽지 말고
--help를 호출하십시오.
경로는 작업 디렉토리가 아닌 이 스킬 디렉토리 기준입니다 — 모든 호출 앞에 접두사를 붙이십시오. 그렇지 않으면 명령을 찾을 수 없습니다:
python .agents/skills/mealie/scripts/mealie_ctx.py <command>
setup [--check] 연결 확인, 자격 증명 저장
index [--refresh] 로컬 레시피 인덱스 구축
audit <what> [--limit N] foods units labels categories tags
tools recipes links extras
ctx recipe <slug> [--search T] recipe + matching foods + organizers
[--full] 전체 JSON, 거의 필요하지 않음
ctx <what> [--limit N] [--group G] foods units categories tags tools
cookbooks diet
usage <kind> <id> recipes using a food/unit/category/tag/tool
convert "<amount>" [...] 비미터법 단위 -> 미터법 + Original: 주석; °F와 inch도 포함
rules [--init] 이 인스턴스의 하우스 룰
seed labels|units|all [--out F] 고정 어휘에 대한 액션
apply <file> [--slug S] [--dry-run]
첫 번째 audit 호출은 인덱스를 구축합니다(모든 레시피를 한 번 통과, 인스턴스 크기에 따라 시간 소요). 이후의 모든 감사는 인덱스를 읽습니다. 각 쓰기 apply 후 인덱스는 폐기되고 다시 구축됩니다.
이 중 세 가지는 수동으로 잘못 작성할 수 있는 작업을 대체합니다:
convert는 밀도 표와 반올림 규칙을 보유하고Original:주석을 반환합니다. 영국식 단위를 머릿속으로 변환하지 마십시오.rules는 이 인스턴스의 결정(로케일, 카테고리 축, 용기 가정, 기본 식품 해석 표(pepper->black pepper [ground]))을 출력합니다. 무언가를 생성하거나 이름을 바꾸기 전에 읽고, 같은 질문을 두 번 결정하지 않도록 행을 추가하십시오.seed는 고정 어휘(영역 색상이 있는 29개 라벨, 미터법 단위 세트)를 ACTIONS 파일로 작성하며, 이미 존재하는 것은 건너뜁니다.
apply는 모든 액션을 .mealie.changelog.jsonl에 덮어쓴 상태와 함께 기록하고, 리스트 필드를 줄이는 patch_recipe와 Mealie 1.x용으로 작성된 요리책 페이로드(queryFilterString 하나, tags/categories/tools/requireAll* 없음)를 거부하며, 계획을 린트합니다(비미터법 단위는 치명적 오류). --dry-run은 동일한 검사를 실행합니다. 자세한 내용은 references/actions.md를 참조하십시오.
컨텍스트 명령은 이미 필터링된 데이터를 반환합니다. 전체 테이블을 필터 없이 로드하지 말고, 레시피 루프를 수동으로 구축하지 마십시오 — 인덱스가 그 역할을 합니다.
환경 변수: MEALIE_URL, MEALIE_TOKEN — MEALIE_API_TOKEN(mcp-mealie의 토큰 이름), MEALIE_BASE_URL 및 MEALIE_API_KEY도 읽습니다. 설정되지 않은 경우 스크립트는 .mealie.env 파일에서, 그 다음 작업 디렉토리의 .env 파일에서 읽습니다. 어떤 명령도 찾지 못하면 setup 힌트와 함께 중단됩니다.
스크립트는 인스턴스에 대한 네트워크 액세스가 필요합니다. 샌드박스 환경에서는 URL과 토큰이 올바른데도 연결 오류로 호출이 실패할 수 있습니다 — 이는 환경의 권한 문제이지 구성 버그가 아닙니다. 그렇게 말하고 사용자가 호출을 허용하도록 하십시오. 수동 HTTP 스크립트로 우회하지 마십시오: mealie_ctx.py만 API에 대한 유일한 경로이며, 두 번째 경로는 순서 보호 장치나 드라이 런이 없습니다. MCP 서버가 연결된 경우 해당 호출은 서버를 통해 실행되며 영향을 받지 않습니다.
setup --check는 구성만 테스트하며 직접 실행해도 안전합니다 — 연결이 불확실할 때 세션 시작 시 한 번 사용하십시오. 일반 setup은 URL과 토큰을 묻고 사용자가 실행해야 하며, 당신이 실행해서는 안 됩니다: 요청하고 기다리십시오. 채팅에서 토큰을 묻지 말고 직접 파일에 쓰지 마십시오.
mcp-mealie MCP 서버가 연결된 경우 분석에 사용하십시오: 감사 질문을 서버 측에서 처리하므로 인덱스가 전혀 구축되지 않으며, 이 스크립트가 의도적으로 갖지 못한 기능(식사 계획, URL에서 레시피 가져오기, 대화형 레시피 검색)을 다룹니다. 스크립트는 순서가 있는 배치를 유지합니다: ORDER가 필요하거나 전체 세트에 대한 드라이 런이 필요한 계획은 여전히 actions.json과 apply를 통해 진행됩니다. 먼저 references/mcp.md를 읽으십시오.
출력 스타일: 원시인
caveman 스킬을 사용할 수 있다면 이 워크플로우에 활성화하십시오. 감사, 계획 및 보고서는 긴 표 형식 출력입니다 — 정확히 압축이 필요한 경우입니다. 스킬이 없으면: 정상적으로 답변하지만 간결하게 — 산문 대신 표, 도구가 이미 출력한 내용을 반복하지 않습니다.
채팅 출력만 압축됩니다 — 분석, 계획, 보고서, 중간 의견. 두 가지는 항상 전체 ${CONTENT_LANG} 산문으로 유지됩니다:
- Mealie에 기록되는 모든 것, 즉
actions.json의 모든 내용. 데이터베이스 콘텐츠이지 채팅이 아닙니다.references/actions.md를 참조하십시오. - 파괴적 작업에 대한 경고, 확실하지 않을 때의 질문, 승인 질문. 14개 레시피를 다시 작성하는 병합의 경우 명확성이 몇 개의 절약된 토큰보다 가치 있습니다.
모든 모드에 대한 규칙
아무것도 발명하지 마십시오: 재료, 양 및 단계는 구조화, 번역 및 수정만 되며 추가되거나 삭제되지 않습니다. 기존의 올바른 값은 유지됩니다.
모든 콘텐츠는 ${CONTENT_LANG}으로; 확립된 요리 용어(수비드(sous-vide), 루(roux), 가나슈(ganache))는 그대로 유지됩니다. 미터법 단위.
보고서에서 추정값을 표시하십시오. 의심스러우면 추측 대신 필드를 비워 두십시오.
생성 전에 검색하십시오 — 식품, 단위 및 조직자 모두에 대해. 철자 변형, 단수/복수 및 외국어 동등어도 확인하십시오.
파괴적 작업(merge_*, delete_organizer, retag_recipe)은 계획에 명시적으로 표시하고 영향을 받는 레시피 수를 기재하며 취소할 수 없음을 지적하십시오.
배치를 작게 유지하십시오: 실행당 최대 25개의 식품/단위 누락 또는 5개의 중복/조직자 그룹. 레시피에는 자체 규칙이 있습니다 — 재료, 단계 및 노트의 경우 계획당 하나의 레시피, 필드 수준 변경의 경우任意 개수. references/recipes.md를 참조하십시오.
중단 시, 추측성 복구 시도를 하지 마십시오 — 도달한 상태를 보고하고 질문하십시오.