Skip to main content
Glama
MIT License
27,120
19,789
  • Linux
  • Apple
output.md7.53 kB
# Format Output Repomix mendukung empat format output: - XML (default) - Markdown - JSON - Plain Text ## Format XML ```bash repomix --style xml ``` Format XML dioptimalkan untuk pemrosesan AI: ```xml Ini adalah representasi gabungan dari seluruh codebase... <file_summary> (Metadata dan instruksi AI) </file_summary> <directory_structure> src/ index.ts utils/ helper.ts </directory_structure> <files> <file path="src/index.ts"> // Konten file di sini </file> </files> <git_logs> <git_log_commit> <date>2025-08-20 00:47:19 +0900</date> <message>feat(cli): Add --include-logs option for git commit history</message> <files> README.md src/cli/cliRun.ts src/core/git/gitCommand.ts src/core/git/gitLogHandle.ts src/core/output/outputGenerate.ts </files> </git_log_commit> <git_log_commit> <date>2025-08-21 00:09:43 +0900</date> <message>Merge pull request #795 from yamadashy/chore/ratchet-update-ci</message> <files> .github/workflows/ratchet-update.yml </files> </git_log_commit> </git_logs> ``` ### Mengapa XML sebagai Format Default? Repomix menggunakan XML sebagai format output default berdasarkan penelitian dan pengujian yang ekstensif. Keputusan ini didasarkan pada bukti empiris dan pertimbangan praktis untuk analisis kode yang dibantu AI. Pilihan kami terhadap XML terutama dipengaruhi oleh rekomendasi resmi dari penyedia AI utama: - **Anthropic (Claude)**: Secara eksplisit merekomendasikan penggunaan tag XML untuk menyusun prompt, menyatakan bahwa "Claude terekspos pada prompt semacam itu selama pelatihan" ([dokumentasi](https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/use-xml-tags)) - **Google (Gemini)**: Merekomendasikan format terstruktur termasuk XML untuk tugas kompleks ([dokumentasi](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/structure-prompts)) - **OpenAI (GPT)**: Menganjurkan prompting terstruktur dalam skenario kompleks ([pengumuman](https://x.com/OpenAIDevs/status/1890147300493914437), [cookbook](https://cookbook.openai.com/examples/gpt-5/gpt-5_prompting_guide)) ## Format Markdown ```bash repomix --style markdown ``` Markdown menyediakan format yang mudah dibaca: ````markdown Ini adalah representasi gabungan dari seluruh codebase... # File Summary (Metadata dan instruksi AI) # Directory Structure ``` src/ index.ts utils/ helper.ts ``` # Files ## File: src/index.ts ```typescript // Konten file di sini ``` # Git Logs ``` 2025-08-20 00:47:19 +0900|feat(cli): Add --include-logs option for git commit history README.md src/cli/cliRun.ts src/core/git/gitCommand.ts src/core/git/gitLogHandle.ts src/core/output/outputGenerate.ts 2025-08-21 00:09:43 +0900|Merge pull request #795 from yamadashy/chore/ratchet-update-ci .github/workflows/ratchet-update.yml ``` ```` ## Format JSON ```bash repomix --style json ``` Format JSON menyediakan output terstruktur yang dapat diakses secara programatis dengan nama properti camelCase: ```json { "fileSummary": { "generationHeader": "File ini adalah representasi gabungan dari seluruh codebase, digabungkan menjadi satu dokumen oleh Repomix.", "purpose": "File ini berisi representasi terpacked dari keseluruhan konten repositori...", "fileFormat": "Konten diorganisir sebagai berikut...", "usageGuidelines": "- File ini harus diperlakukan sebagai read-only...", "notes": "- Beberapa file mungkin telah dikecualikan berdasarkan aturan .gitignore..." }, "userProvidedHeader": "Teks header kustom jika ditentukan", "directoryStructure": "src/ cli/ cliOutput.ts index.ts config/ configLoader.ts", "files": { "src/index.js": "// Konten file di sini", "src/utils.js": "// Konten file di sini" }, "instruction": "Instruksi kustom dari instructionFilePath" } ``` ### Keuntungan Format JSON Format JSON ideal untuk: - **Pemrosesan programatis**: Mudah di-parse dan dimanipulasi dengan library JSON di bahasa pemrograman apa pun - **Integrasi API**: Konsumsi langsung oleh layanan web dan aplikasi - **Kompatibilitas tool AI**: Format terstruktur yang dioptimalkan untuk machine learning dan sistem AI - **Analisis data**: Ekstraksi informasi spesifik yang mudah menggunakan tools seperti `jq` ### Bekerja dengan Output JSON Menggunakan `jq` Format JSON memudahkan ekstraksi informasi spesifik secara programatis. Berikut adalah contoh umum: #### Operasi File Dasar ```bash # Daftar semua path file cat repomix-output.json | jq -r '.files | keys[]' # Hitung total jumlah file cat repomix-output.json | jq '.files | keys | length' # Ekstrak konten file spesifik cat repomix-output.json | jq -r '.files["README.md"]' cat repomix-output.json | jq -r '.files["src/index.js"]' ``` #### Filtering dan Analisis File ```bash # Cari file berdasarkan ekstensi cat repomix-output.json | jq -r '.files | keys[] | select(endswith(".ts"))' cat repomix-output.json | jq -r '.files | keys[] | select(endswith(".js") or endswith(".ts"))' # Dapatkan file yang berisi teks spesifik cat repomix-output.json | jq -r '.files | to_entries[] | select(.value | contains("function")) | .key' # Buat daftar file dengan jumlah karakter cat repomix-output.json | jq -r '.files | to_entries[] | "\(.key): \(.value | length) karakter"' ``` #### Ekstraksi Metadata ```bash # Ekstrak struktur direktori cat repomix-output.json | jq -r '.directoryStructure' # Dapatkan informasi file summary cat repomix-output.json | jq '.fileSummary.purpose' cat repomix-output.json | jq -r '.fileSummary.generationHeader' # Ekstrak header yang disediakan user (jika ada) cat repomix-output.json | jq -r '.userProvidedHeader // "Tidak ada header disediakan"' # Dapatkan instruksi kustom cat repomix-output.json | jq -r '.instruction // "Tidak ada instruksi disediakan"' ``` #### Analisis Lanjutan ```bash # Cari file terbesar berdasarkan panjang konten cat repomix-output.json | jq -r '.files | to_entries[] | [.key, (.value | length)] | @tsv' | sort -k2 -nr | head -10 # Cari file yang mengandung pola spesifik cat repomix-output.json | jq -r '.files | to_entries[] | select(.value | test("import.*react"; "i")) | .key' # Ekstrak path file yang cocok dengan beberapa ekstensi cat repomix-output.json | jq -r '.files | keys[] | select(test("\.(js|ts|jsx|tsx)$"))' ``` ## Format Plain Text ```bash repomix --style plain ``` Struktur output: ```text Ini adalah representasi gabungan dari seluruh codebase... ================ File Summary ================ (Metadata dan instruksi AI) ================ Directory Structure ================ src/ index.ts utils/ helper.ts ================ Files ================ ================ File: src/index.ts ================ // Konten file di sini ================ Git Logs ================ 2025-08-20 00:47:19 +0900|feat(cli): Add --include-logs option for git commit history README.md src/cli/cliRun.ts src/core/git/gitCommand.ts src/core/git/gitLogHandle.ts src/core/output/outputGenerate.ts 2025-08-21 00:09:43 +0900|Merge pull request #795 from yamadashy/chore/ratchet-update-ci .github/workflows/ratchet-update.yml ``` ## Penggunaan dengan Model AI Setiap format bekerja dengan baik dengan model AI, tetapi pertimbangkan: - Gunakan XML untuk Claude (akurasi parsing terbaik) - Gunakan Markdown untuk keterbacaan umum - Gunakan JSON untuk pemrosesan programatis dan integrasi API - Gunakan Plain Text untuk kesederhanaan dan kompatibilitas universal ## Kustomisasi Atur format default di `repomix.config.json`: ```json { "output": { "style": "xml", "filePath": "output.xml" } } ```

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yamadashy/repomix'

If you have feedback or need assistance with the MCP directory API, please join our Discord server