{"id":28988689,"url":"https://github.com/angrymane/vehicle-shadow","last_synced_at":"2025-06-24T22:06:36.531Z","repository":{"id":300509523,"uuid":"1001793186","full_name":"AngryMane/vehicle-shadow","owner":"AngryMane","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-22T04:35:13.000Z","size":162,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-22T05:26:18.336Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AngryMane.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-06-14T03:30:06.000Z","updated_at":"2025-06-22T04:35:16.000Z","dependencies_parsed_at":"2025-06-22T05:36:25.140Z","dependency_job_id":null,"html_url":"https://github.com/AngryMane/vehicle-shadow","commit_stats":null,"previous_names":["angrymane/vehicle-shadow"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AngryMane/vehicle-shadow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngryMane%2Fvehicle-shadow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngryMane%2Fvehicle-shadow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngryMane%2Fvehicle-shadow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngryMane%2Fvehicle-shadow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AngryMane","download_url":"https://codeload.github.com/AngryMane/vehicle-shadow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngryMane%2Fvehicle-shadow/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261764368,"owners_count":23206254,"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":[],"created_at":"2025-06-24T22:06:35.841Z","updated_at":"2025-06-24T22:06:36.484Z","avatar_url":"https://github.com/AngryMane.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vehicle Signal Shadow\n\nVehicle Signal Shadowは、車両のシグナルデータを管理するgRPCサービスです。  \nVSS（Vehicle Signal Specification）に基づいて、車両の各種センサーやアクチュエーターのデータを取得・設定・購読することができます。  \n\n## 機能\n\n- **シグナル取得**: 指定されたパスのシグナル値を取得\n- **シグナル設定**: シグナル値の設定（完全な置換または部分的な更新）\n- **シグナル購読**: シグナル値の変更をリアルタイムで購読\n- **シグナル購読解除**: 購読の停止\n\n## ビルド\n\n```bash\n# サーバーのビルド\ncargo build --release\n\n# CLIクライアントのビルド\ncd cli\ncargo build --release\n```\n\n## 使用方法\n\n### サーバーの起動\n\n```bash\n# 基本的な起動\ncargo run -- --vss path/to/vss.json\n\n# カスタム設定で起動\ncargo run -- --vss path/to/vss.json --server-addr \"0.0.0.0:50051\" --log-level debug\n\n# 環境変数を使用\nexport VSS_SERVER_ADDR=\"0.0.0.0:50051\"\nexport VSS_LOG_LEVEL=\"debug\"\ncargo run -- --vss path/to/vss.json\n```\n\n### CLIクライアントの使用\n\n```bash\n# シグナル値の取得\n./target/release/vehicle-signal-shadow-cli get \"Vehicle.Speed\"\n\n# シグナル値の設定\n./target/release/vehicle-signal-shadow-cli set --path \"Vehicle.Speed\" --value \"60.5\"\n\n# 部分的な更新\n./target/release/vehicle-signal-shadow-cli set --path \"Vehicle.Speed\" --value '{\"value\": 70.0, \"capability\": true}'\n\n# シグナルの購読\n./target/release/vehicle-signal-shadow-cli subscribe \"Vehicle.Speed\"\n```\n\n詳細な使用方法は [CLI README](cli/README.md) を参照してください。\n\n## 設定\n\n### コマンドライン引数\n\n- `--vss`: VSS JSONファイルのパス（必須）\n- `--server-addr`: サーバーのアドレス（デフォルト: \"[::1]:50051\"）\n- `--log-level`: ログレベル（デフォルト: \"info\"）\n- `--db-path`: データベースのパス（オプション、指定しない場合は一時ファイル）\n\n### 環境変数\n\n- `VSS_SERVER_ADDR`: サーバーのアドレス\n- `VSS_LOG_LEVEL`: ログレベル\n- `VSS_DB_PATH`: データベースのパス\n\n## アーキテクチャ\n\n```\nsrc/\n├── main.rs              # メインアプリケーション\n├── config.rs            # 設定管理\n├── error.rs             # エラー型定義\n├── signal.rs            # シグナルデータ構造\n├── vehicle_shadow.rs    # データベース操作\n├── vss_json_loader.rs   # VSS JSONローダー\n└── rpc/\n    ├── mod.rs\n    └── databroker_server.rs  # gRPCサーバー実装\n\ncli/\n├── Cargo.toml\n├── build.rs\n└── src/\n    └── main.rs          # CLIクライアント\n\nproto/\n└── vehicle-shadow/      # Protocol Buffers定義\n```\n\n## 開発\n\n### テストの実行\n\n```bash\n# 全テストの実行\ncargo test\n\n# 特定のテストの実行\ncargo test test_signal_creation\n```\n\n### プロトコルバッファの再生成\n\n```bash\ncargo build\n```\n\n## ライセンス\n\nこのプロジェクトはMITライセンスの下で公開されています。 ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangrymane%2Fvehicle-shadow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fangrymane%2Fvehicle-shadow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangrymane%2Fvehicle-shadow/lists"}