{"id":31581161,"url":"https://github.com/k-jboon/devlog-utils","last_synced_at":"2026-05-18T02:10:16.213Z","repository":{"id":314600336,"uuid":"1056106719","full_name":"K-JBoon/devlog-utils","owner":"K-JBoon","description":"A set of scripts for tracking development progress by wrapping common build/test commands with git commits and structured logging.","archived":false,"fork":false,"pushed_at":"2025-09-13T12:47:00.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-09-13T14:53:10.617Z","etag":null,"topics":["bash-script","devlogs","utility"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/K-JBoon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE.txt","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":"2025-09-13T12:00:08.000Z","updated_at":"2025-09-13T12:47:04.000Z","dependencies_parsed_at":"2025-09-13T14:53:11.780Z","dependency_job_id":"d721e680-6c4b-47e4-8d43-48f9ba52b906","html_url":"https://github.com/K-JBoon/devlog-utils","commit_stats":null,"previous_names":["k-jboon/devlog-utils"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/K-JBoon/devlog-utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/K-JBoon%2Fdevlog-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/K-JBoon%2Fdevlog-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/K-JBoon%2Fdevlog-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/K-JBoon%2Fdevlog-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/K-JBoon","download_url":"https://codeload.github.com/K-JBoon/devlog-utils/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/K-JBoon%2Fdevlog-utils/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278526243,"owners_count":26001325,"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","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"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":["bash-script","devlogs","utility"],"created_at":"2025-10-05T21:54:05.814Z","updated_at":"2025-10-05T21:54:08.367Z","avatar_url":"https://github.com/K-JBoon.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DevLog Tool\n\nA set of scripts for tracking development progress by wrapping common build/test\ncommands with git commits and structured logging.\n\n## What it does\n\nEvery time you run a wrapped command (like `cargo devlog-test`), the tool will:\n\n1. Prompt you to describe what you've changed\n2. Stage all changes and create a commit with your description\n3. Run your command (e.g., `cargo run`)\n4. Capture the output and git diff\n5. Store everything in a TOML file in your project root's `.devlog/*.toml`\n\n## Installation\n\n1. Place the `devlog-wrapper` and `devlog-capture` scripts\nsomewhere in your PATH (e.g., `~/.local/bin/`)\n2. Make them executable: `chmod +x ~/.local/bin/devlog-*`\n\n## Creating Command Wrappers\n\nCreate small wrapper scripts for any commands you want to log.\nThe naming convention is `\u003ctool\u003e-devlog-\u003ccommand\u003e`:\n\n### For Rust projects\n\n```bash\n# ~/.local/bin/cargo-devlog-run\n#!/bin/bash\nshift\nexec devlog-wrapper cargo run \"$@\"\n\n# ~/.local/bin/cargo-devlog-test\n#!/bin/bash\nshift\nexec devlog-wrapper cargo test \"$@\"\n```\n\nMake sure your wrapper scripts are executable.\n\nFor Cargo specifically, this naming convention means you can now\nrun `cargo devlog-run` and `cargo devlog-test` as Cargo subcommands.\n\n## Usage\n\n1. Navigate to any git repository\n2. Run your wrapped command: `cargo devlog-test`\n3. Enter a brief description when prompted: \"What did you change?\"\n4. The script runs your command and logs everything\n\n## Data Storage\n\nAll devlog data is stored in `.devlog/data/` at the root of your git repository:\n\n```\nyour-project/\n├── .devlog/\n│   ├── main/\n│   │   ├── 001-entry.toml\n│   │   ├── 002-entry.toml\n│   │   └── ...\n│   └── feature/x11-support/\n│       ├── 001-entry.toml\n│       └── 002-entry.toml\n├── src/\n└── Cargo.toml\n```\n\nAdd `.devlog/` to your `.gitignore` to keep devlog data out of your repositories.\nI recommend adding it once to your global .gitignore.\n\n## TOML Entry Format\n\nEach entry contains:\n\n```toml\n[metadata]\ntimestamp = \"2025-09-12T10:30:00Z\"\nsequence = 1\ndescription = \"Added basic key event capture for X11\"\ncommand = \"cargo test\"\n\n[git]\ncommit_hash = \"abc123...\"\nbranch = \"feature/x11-capture\"\n\n[diff]\nfiles_changed = [\"src/main.rs\", \"tests/integration.rs\"]\nfiles_created = []\nfiles_deleted = []\ndiff_content = \"\"\"\n# Full git diff here\n\"\"\"\n\n[output]\nexit_code = 0\ncontent = \"\"\"\n# Command output here\n\"\"\"\n```\n\n## Workflow Example\n\n```bash\n# Working on a new feature\n$ cargo devlog-test\nWhat are you working on? Fix the key parsing logic for special characters\nrunning 5 tests\ntest key_parser::test_special_chars ... FAILED\n...\n\n# Entry 001-entry.toml created with your commit, diff, and test output\n\n# Try a different approach\n$ cargo devlog-run\nWhat did you change? Try using regex instead of manual parsing\nApplication started successfully\n...\n\n# Entry 002-entry.toml created\n\n# When ready, squash commits\n```\n\n## License\n\nLicensed under either of the following, at your choice:\n\n- [Apache License, Version 2.0](https://github.com/K-JBoon/devlog-utils/blob/master/LICENSE-APACHE.txt), or\n- [MIT license](https://github.com/K-JBoon/devlog-utils/blob/master/LICENSE-MIT.txt)\n\nUnless explicitly stated otherwise, any contribution intentionally submitted\nfor inclusion in this crate, as defined in the Apache-2.0 license, shall\nbe dual-licensed as above, without any additional terms or conditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fk-jboon%2Fdevlog-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fk-jboon%2Fdevlog-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fk-jboon%2Fdevlog-utils/lists"}