{"id":29481038,"url":"https://github.com/ktanaha/vibe-coding-logger","last_synced_at":"2025-07-14T23:55:28.359Z","repository":{"id":303731948,"uuid":"1016488306","full_name":"ktanaha/vibe-coding-logger","owner":"ktanaha","description":"🎯 バイブコーディング専用Goロギングライブラリ - 思考プロセスとシステム情報を詳細に記録","archived":false,"fork":false,"pushed_at":"2025-07-09T06:21:45.000Z","size":54,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-09T06:30:16.003Z","etag":null,"topics":["debugging","development-tools","golang","logging","open-source","performance","structured-logging","system-info","vibe-coding"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ktanaha.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-09T05:05:27.000Z","updated_at":"2025-07-09T06:21:49.000Z","dependencies_parsed_at":"2025-07-09T06:31:11.917Z","dependency_job_id":"ce914e0a-54d4-4eaa-bd89-93e30d45a620","html_url":"https://github.com/ktanaha/vibe-coding-logger","commit_stats":null,"previous_names":["ktanaha/vibe-coding-logger"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ktanaha/vibe-coding-logger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ktanaha%2Fvibe-coding-logger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ktanaha%2Fvibe-coding-logger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ktanaha%2Fvibe-coding-logger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ktanaha%2Fvibe-coding-logger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ktanaha","download_url":"https://codeload.github.com/ktanaha/vibe-coding-logger/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ktanaha%2Fvibe-coding-logger/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265375530,"owners_count":23755250,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["debugging","development-tools","golang","logging","open-source","performance","structured-logging","system-info","vibe-coding"],"created_at":"2025-07-14T23:55:27.086Z","updated_at":"2025-07-14T23:55:28.348Z","avatar_url":"https://github.com/ktanaha.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎯 Vibe Coding Logger\n\n[![Go Version](https://img.shields.io/badge/Go-1.24+-00ADD8?style=flat\u0026logo=go)](https://golang.org)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Build Status](https://github.com/ktanaha/vibe-coding-logger/workflows/CI/badge.svg)](https://github.com/ktanaha/vibe-coding-logger/actions)\n[![GitHub Actions](https://img.shields.io/badge/GitHub_Actions-2088FF?style=flat\u0026logo=github-actions\u0026logoColor=white)](https://github.com/ktanaha/vibe-coding-logger/actions)\n\nバイブコーディング（思考プロセスを重視したプログラミング）に特化した強力なGoロギングライブラリです。\n\n## ✨ 特徴\n\n- 🧠 **バイブコーディング専用機能**: 思考プロセス、決定、学習、ブレイクスルーなどを詳細に記録\n- 📊 **操作追跡**: 入力・出力・処理内容を自動的に追跡\n- 🖥️ **自動システム情報収集**: OS、言語バージョン、Git情報、環境変数を自動記録\n- 🔄 **高度なエラーハンドリング**: リトライ、リカバリー、サーキットブレーカー機能\n- 📋 **構造化ログ**: JSON、テキスト形式での柔軟な出力\n- 🔍 **トレーシング対応**: 分散システムでの追跡に対応\n- ⚡ **高パフォーマンス**: 並行処理とバッファリング、キャッシュによる最適化\n\n## 🚀 クイックスタート\n\n### インストール\n\n```bash\ngo get github.com/ktanaha/vibe-coding-logger\n```\n\n### 基本的な使用方法\n\n```go\npackage main\n\nimport \"github.com/ktanaha/vibe-coding-logger/pkg/logger\"\n\nfunc main() {\n    // デフォルトロガーを作成\n    log := logger.Default()\n    \n    // 基本的なログ出力\n    log.Info(\"アプリケーション開始\")\n    log.Error(\"エラーが発生\", logger.String(\"component\", \"database\"))\n    \n    // フィールド付きログ\n    log.Info(\"ユーザーログイン\", \n        logger.String(\"user_id\", \"user123\"),\n        logger.Int(\"attempt\", 1))\n}\n```\n\n### バイブコーディング機能\n\n```go\n// バイブトラッカーの作成\nvibeTracker := logger.NewVibeTracker(log, \"session_123\", \"web_api\", \"coding\")\n\n// 思考プロセスの記録\nvibeTracker.LogThinkingProcess(\n    \"認証方式の検討\",\n    []string{\"JWT\", \"Session\", \"OAuth2\"})\n\n// 決定の記録\nvibeTracker.LogDecision(\n    \"JWT認証を採用\",\n    \"ステートレスで拡張性が高い\",\n    []string{\"Session認証\", \"OAuth2\"})\n\n// コード変更の記録\nvibeTracker.LogCodeChange(\n    \"auth.go\",\n    \"新規作成\",\n    \"\",\n    \"func AuthHandler() { ... }\",\n    \"JWT認証ハンドラーの実装\")\n```\n\n## 📖 詳細ドキュメント\n\n### 操作追跡\n\n```go\n// 操作の開始\ntracker := log.StartOperation(\"user_registration\", map[string]interface{}{\n    \"email\": \"user@example.com\",\n    \"username\": \"newuser\",\n})\n\n// 処理...\ntime.Sleep(100 * time.Millisecond)\n\n// 操作の完了\nlog.CompleteOperation(tracker, map[string]interface{}{\n    \"user_id\": \"user123\",\n    \"status\": \"active\",\n})\n```\n\n### システム情報の自動記録\n\n```go\n// システム情報の有効化/無効化\nlog.EnableSystemInfo(true)   // デフォルト: 有効\nlog.EnableRuntimeInfo(false) // デフォルト: 無効（パフォーマンス考慮）\n\n// 現在の設定確認\nfmt.Println(\"システム情報:\", log.IsSystemInfoEnabled())\nfmt.Println(\"ランタイム情報:\", log.IsRuntimeInfoEnabled())\n```\n\n#### 収集される情報\n\n**システム情報:**\n- OS（Linux, Windows, macOS）\n- アーキテクチャ（amd64, arm64等）\n- Go言語バージョン\n- CPU数、ホスト名、プロセスID\n\n**環境情報:**\n- 作業ディレクトリ、GOPATH、GOROOT\n- Git ブランチ、コミットハッシュ、リポジトリURL\n- エディタ情報\n- Node.js、Python、Dockerバージョン\n\n**ランタイム情報:**\n- Goroutine数、メモリ使用量\n- GC統計、スタック使用量\n\n### エラーハンドリング\n\n```go\n// バイブエラーハンドラー\nerrorHandler := logger.NewVibeErrorHandler(log, \"session_123\", \"web_api\")\n\n// コーディングエラーの処理\nerrorHandler.HandleCodingError(\n    err,\n    \"models/user.go\",\n    45,\n    \"db.Query(sql, params...)\",\n    \"接続プールの設定を見直し\")\n\n// リトライハンドラー\nretryHandler := logger.NewRetryHandler(log)\nerr := retryHandler.ExecuteWithRetry(\"api_call\", func() error {\n    return callExternalAPI()\n}, 3, 1*time.Second, map[string]interface{}{\n    \"endpoint\": \"https://api.example.com\",\n})\n```\n\n### カスタム設定\n\n```go\n// カスタムロガーの作成\nlog := logger.New(logger.DEBUG)\n\n// ファイルライターの追加\nfileWriter, _ := logger.NewFileWriter(\"app.log\")\nlog.AddWriter(fileWriter)\n\n// JSONフォーマッターの設定\nlog.SetFormatter(logger.NewJSONFormatter())\n\n// ローテーション設定\nrotatingWriter, _ := logger.NewRotatingFileWriter(\"app.log\", 10*1024*1024, 5)\nlog.AddWriter(rotatingWriter)\n```\n\n## 🎯 バイブコーディングでの活用\n\n### 推奨ワークフロー\n\n1. **セッション開始時**: 問題の理解と目標設定、環境情報を記録\n2. **思考プロセス**: 検討した選択肢と思考の流れを記録\n3. **決定の記録**: なぜその選択をしたかの理由を明確に\n4. **コード変更**: 変更の理由と期待する効果を記録\n5. **テスト結果**: 成功/失敗とその原因を詳細に\n6. **学習内容**: 新しく理解したことや気づきを記録\n7. **セッション終了**: 成果と次のステップ、環境変化を整理\n\n### システム情報の活用場面\n\n- **環境の再現**: 問題が発生した時の正確な環境情報\n- **パフォーマンス分析**: ハードウェア構成とパフォーマンスの関係\n- **バージョン管理**: 言語やツールのバージョンによる動作の違い\n- **チーム共有**: 他の開発者と環境情報を共有\n\n## ⚡ パフォーマンス最適化\n\n```go\n// バッファリングライターの使用\nbufferedWriter, _ := logger.NewBufferedFileWriter(\"app.log\", 100)\nlog.AddWriter(bufferedWriter)\n\n// ログレベルの適切な設定\nlog.SetLevel(logger.INFO) // 本番環境\nlog.SetLevel(logger.DEBUG) // 開発環境\n\n// システム情報の選択的有効化\nlog.EnableSystemInfo(true)   // 基本システム情報（軽量）\nlog.EnableRuntimeInfo(false) // ランタイム情報（重い、デバッグ時のみ）\n\n// 本番環境では最小限に\nif isProduction {\n    log.EnableSystemInfo(false)\n    log.EnableRuntimeInfo(false)\n    log.SetLevel(logger.WARN)\n}\n```\n\n## 📁 プロジェクト構造\n\n```\nvibe-coding-logger/\n├── pkg/logger/              # 公開API\n│   ├── interfaces.go        # インターフェース定義\n│   ├── logger.go           # メインロガー実装\n│   ├── system_info.go      # システム情報収集\n│   ├── tracker.go          # 操作・バイブトラッカー\n│   └── error_handler.go    # エラーハンドリング\n├── internal/               # 内部実装\n│   ├── formatter/          # ログフォーマッター\n│   └── writer/             # ログライター\n├── examples/               # 使用例\n├── tests/                  # テストコード\n├── docs/                   # ドキュメント\n└── README.md\n```\n\n## 🤝 コントリビューション\n\nコントリビューションを歓迎します！\n\n1. このリポジトリをフォーク\n2. フィーチャーブランチを作成 (`git checkout -b feature/amazing-feature`)\n3. 変更をコミット (`git commit -m 'Add amazing feature'`)\n4. ブランチにプッシュ (`git push origin feature/amazing-feature`)\n5. プルリクエストを作成\n\n詳細は [CONTRIBUTING.md](CONTRIBUTING.md) をご覧ください。\n\n## 📄 ライセンス\n\nこのプロジェクトは [MIT License](LICENSE) の下で公開されています。\n\n## 🙏 謝辞\n\n- バイブコーディング概念の発案者\n- Goコミュニティからの貴重なフィードバック\n- オープンソースライブラリのメンテナー\n\n## 📧 サポート\n\n- **Issues**: [GitHub Issues](https://github.com/ktanaha/vibe-coding-logger/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/ktanaha/vibe-coding-logger/discussions)\n- **Documentation**: [Wiki](https://github.com/ktanaha/vibe-coding-logger/wiki)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**バイブコーディングの体験向上に向けて、一緒に開発しましょう！**\n\n[⭐ Star this repository](https://github.com/ktanaha/vibe-coding-logger) | [📖 Read the docs](https://github.com/ktanaha/vibe-coding-logger/wiki) | [🐛 Report a bug](https://github.com/ktanaha/vibe-coding-logger/issues)\n\n\u003c/div\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fktanaha%2Fvibe-coding-logger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fktanaha%2Fvibe-coding-logger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fktanaha%2Fvibe-coding-logger/lists"}