{"id":50592332,"url":"https://github.com/yangarbiter/sync_db","last_synced_at":"2026-06-05T11:30:19.611Z","repository":{"id":351233946,"uuid":"1208954333","full_name":"yangarbiter/sync_db","owner":"yangarbiter","description":null,"archived":false,"fork":false,"pushed_at":"2026-04-14T05:49:56.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-14T07:33:29.824Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/yangarbiter.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-13T00:29:27.000Z","updated_at":"2026-04-14T05:49:58.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/yangarbiter/sync_db","commit_stats":null,"previous_names":["yangarbiter/sync_db"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/yangarbiter/sync_db","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangarbiter%2Fsync_db","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangarbiter%2Fsync_db/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangarbiter%2Fsync_db/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangarbiter%2Fsync_db/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yangarbiter","download_url":"https://codeload.github.com/yangarbiter/sync_db/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangarbiter%2Fsync_db/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33939225,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-05T02:00:06.157Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2026-06-05T11:30:17.736Z","updated_at":"2026-06-05T11:30:19.605Z","avatar_url":"https://github.com/yangarbiter.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sync_db\n\nShell wrappers that sync command history into an Obsidian vault.\n\n## What this does\n\nThese wrappers append every interactive shell command you run to a daily Markdown file in your Obsidian vault:\n\n- Bash via `PROMPT_COMMAND`\n- Zsh via `preexec` + `precmd` hooks\n\nEach entry includes UTC timestamp, local command time, hostname, shell, exit code, git branch/commit (when in a git repo), working directory, and command.\n\n## 1) Set up your Obsidian vault\n\nIf you already have a vault, note its filesystem path and use that as `OBSIDIAN_VAULT`.\n\nIf you do **not** have one yet:\n\n1. Open Obsidian.\n2. Click **Create new vault**.\n3. Pick a vault name and location (example: `$HOME/Obsidian/MyVault`).\n4. Confirm the vault opens, then copy the full path.\n\n## 2) Install these scripts\n\nPick a location that is stable on your machine (for example `~/.local/share/sync_db`) and copy this repo there.\n\nExample install commands:\n\n```bash\nmkdir -p ~/.local/share\ncp -R /workspace/sync_db ~/.local/share/sync_db\n```\n\n\u003e If you cloned this repo directly to a permanent location, you can skip the copy step.\n\n## 3) Configure environment variables\n\nSet your vault path (required):\n\n```bash\nexport OBSIDIAN_VAULT=\"$HOME/Obsidian/MyVault\"\n```\n\nOptional: customize the subdirectory inside the vault (default is `command-log`):\n\n```bash\nexport OBSIDIAN_COMMANDS_SUBDIR=\"command-log\"\n```\n\n## 4) Enable for Bash\n\nAdd this line to `~/.bashrc`:\n\n```bash\nsource ~/.local/share/sync_db/obsidian_sync_bash.sh\n```\n\nReload shell:\n\n```bash\nsource ~/.bashrc\n```\n\n## 5) Enable for Zsh\n\nAdd this line to `~/.zshrc`:\n\n```zsh\nsource ~/.local/share/sync_db/obsidian_sync_zsh.zsh\n```\n\nReload shell:\n\n```zsh\nsource ~/.zshrc\n```\n\n## Log output\n\nLogs are written to:\n\n`$OBSIDIAN_VAULT/$OBSIDIAN_COMMANDS_SUBDIR/YYYY-MM-DD.md`\n\nExample:\n\n`$HOME/Obsidian/MyVault/command-log/2026-04-13.md`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyangarbiter%2Fsync_db","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyangarbiter%2Fsync_db","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyangarbiter%2Fsync_db/lists"}