← AI開発 資料アーカイブ
ビルド/生成スクリプト

ZIP生成スクリプト: 明示ファイルリストでv2を作成

元ファイル: システム要件定義の分析と汎用化方法/make_zip_v2.py

要約

arcname→実パスの明示的辞書に基づいてclaude_fullsetのコア・テンプレート・プロンプト・例・ガイドを選んでZIP化するPythonスクリプト。存在チェックをしながら追加し、欠落ファイルはスキップ表示する。配布物の構成を厳密に制御する版。

要点

Pythonzipfile成果物パッケージングv2

import zipfile
import os

zippath = '/home/ubuntu/claude_fullset_FINAL.zip'

# 追加するファイルのリスト(arcname: 実際のパス)
files_to_add = {
    # 00_START
    'claude_fullset/00_START/QUICK_START.md': '/home/ubuntu/claude_fullset/00_START/QUICK_START.md',
    # 01_core
    'claude_fullset/01_core/CLAUDE.md': '/home/ubuntu/claude_fullset/01_core/CLAUDE.md',
    'claude_fullset/01_core/CONSTRAINTS.md': '/home/ubuntu/claude_fullset/01_core/CONSTRAINTS.md',
    'claude_fullset/01_core/AGENTS.md': '/home/ubuntu/claude_fullset/01_core/AGENTS.md',
    'claude_fullset/01_core/RULES.md': '/home/ubuntu/claude_fullset/01_core/RULES.md',
    'claude_fullset/01_core/docs/progress.md': '/home/ubuntu/claude_fullset/01_core/docs/progress.md',
    # 02_templates
    'claude_fullset/02_templates/srs/SRS_TEMPLATE.md': '/home/ubuntu/claude_fullset/02_templates/srs/SRS_TEMPLATE.md',
    'claude_fullset/02_templates/sdd/SDD_TEMPLATE.md': '/home/ubuntu/claude_fullset/02_templates/sdd/SDD_TEMPLATE.md',
    'claude_fullset/02_templates/test/TEST_PLAN_TEMPLATE.md': '/home/ubuntu/claude_fullset/02_templates/test/TEST_PLAN_TEMPLATE.md',
    'claude_fullset/02_templates/e2e/E2E_SCENARIOS_TEMPLATE.md': '/home/ubuntu/claude_fullset/02_templates/e2e/E2E_SCENARIOS_TEMPLATE.md',
    'claude_fullset/02_templates/harness/HARNESS_TEMPLATE.md': '/home/ubuntu/claude_fullset/02_templates/harness/HARNESS_TEMPLATE.md',
    # 03_prompts
    'claude_fullset/03_prompts/ALL_PROMPTS.md': '/home/ubuntu/claude_fullset/03_prompts/ALL_PROMPTS.md',
    'claude_fullset/03_prompts/MASTER_LAUNCH_PROMPT.md': '/home/ubuntu/substack_fullguide/MASTER_LAUNCH_PROMPT.md',
    # 04_examples
    'claude_fullset/04_examples/SRS_EXAMPLE_KEIBA.md': '/home/ubuntu/claude_fullset/04_examples/SRS_EXAMPLE_KEIBA.md',
    'claude_fullset/04_examples/SUBSTACK_FULL_GUIDE.md': '/home/ubuntu/substack_fullguide/SUBSTACK_FULL_GUIDE.md',
    # 05_guides
    'claude_fullset/05_guides/FLOW_GUIDE.md': '/home/ubuntu/claude_fullset/05_guides/FLOW_GUIDE.md',
}

with zipfile.ZipFile(zippath, 'w', zipfile.ZIP_DEFLATED) as zf:
    for arcname, filepath in files_to_add.items():
        if os.path.exists(filepath):
            zf.write(filepath, arcname)
            print(f'追加: {arcname}')
        else:
            print(f'スキップ(ファイルなし): {filepath}')

size = os.path.getsize(zippath)
print(f'\nZIP作成完了: {zippath}')
print(f'ファイルサイズ: {size/1024:.1f} KB')
print(f'収録ファイル数: {len(files_to_add)}')

↑ トップへ戻る