{"id":19418963,"url":"https://github.com/playform/summary","last_synced_at":"2025-04-24T13:35:30.181Z","repository":{"id":250724925,"uuid":"834984931","full_name":"PlayForm/Summary","owner":"PlayForm","description":"🗣️ Summary —","archived":false,"fork":false,"pushed_at":"2024-11-07T02:06:35.000Z","size":77460,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"Current","last_synced_at":"2024-11-07T03:18:50.987Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PlayForm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"open_collective":"playform-cloud-collective"}},"created_at":"2024-07-28T22:45:25.000Z","updated_at":"2024-11-07T02:06:38.000Z","dependencies_parsed_at":"2024-10-28T11:11:15.837Z","dependency_job_id":null,"html_url":"https://github.com/PlayForm/Summary","commit_stats":null,"previous_names":["playform/summary"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlayForm%2FSummary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlayForm%2FSummary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlayForm%2FSummary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlayForm%2FSummary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PlayForm","download_url":"https://codeload.github.com/PlayForm/Summary/tar.gz/refs/heads/Current","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223954708,"owners_count":17231189,"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":"2024-11-10T13:15:43.854Z","updated_at":"2025-04-24T13:35:30.149Z","avatar_url":"https://github.com/PlayForm.png","language":"Rust","readme":"# [`Summary`] 🗣️\n\n[`Summary`] is a powerful command-line tool designed for efficient `Git`\nrepository analysis and summarization. It offers both sequential and parallel\nprocessing capabilities, along with flexible file filtering options.\n\n[`Summary`]: HTTPS://crates.io/crates/psummary\n\n```sh\nSummary -P \u003e Summary.diff\n```\n\n[`Summary`] will now generate the following [`Summary.diff`](./Summary.diff) for\nall the commits and tags between the first and the last commit.\n\n## Feature\n\n- Customizable file pattern matching.\n- Diff generation between `Git` tags.\n- Directory traversal and file filtering.\n- Exclusion of specified files or directories.\n- `Git` repository analysis.\n- Integration with [Pieces OS] for enhanced functionality.\n- Parallel and sequential processing modes.\n\n## [Pieces OS] Integration\n\nThe [`Summary`] CLI supports [Pieces OS], allowing it to:\n\n- Generate comprehensive diff logs and release notes automatically.\n- Provide AI-driven code analysis and insights.\n- Offer improved context-aware processing of repository changes.\n- Seamlessly interact with other [Pieces OS]-compatible development tools.\n\nBy leveraging [Pieces OS], [`Summary`] can tap into a broader ecosystem of\ndevelopment tools and services, significantly expanding its capabilities beyond\nbasic file processing.\n\n## Installation 🚀\n\n```sh\ncargo install psummary\n```\n\n## 🛠️ Usage\n\nThe Summary tool can be used with various options:\n\n```\nSummary 🗣️\n\nUsage: Summary [OPTIONS]\n\nOptions:\n  -P, --Parallel           Parallel ⏩\n  -R, --Root \u003cROOT\u003e        Root 📂 [default: .]\n  -E, --Exclude \u003cEXCLUDE\u003e  Exclude 🚫 [default: node_modules]\n      --Pattern \u003cPATTERN\u003e  Pattern 🔍 [default: .git]\n  -O, --Omit \u003cOMIT\u003e        Omit 🚫 [default: Documentation]\n  -h, --help               Print help\n  -V, --version            Print version\n```\n\nThis command will generate summaries for all the `Git` tags inside the specified\nrepository.\n\n## Options\n\nThe [`Summary`] tool can be used with various options:\n\n#### --Exclude or -E:\n\nExclude certain files or directories.\n\nDefault is:\n\n```sh\nSummary -P -E node_modules\n```\n\n#### --Omit or -O:\n\nSpecify regex patterns to omit files from processing.\n\nDefault is:\n\n```sh\nSummary -P \\\n\t--Omit \"(?i)documentation\" \\\n\t--Omit \"(?i)target\" \\\n\t--Omit \"(?i)changelog\\.md$\" \\\n\t--Omit \"(?i)summary\\.md$\"\n```\n\n#### --Parallel or -P:\n\nRun processing in parallel.\n\nDefault is:\n\n```sh\nSummary\n```\n\n#### --Pattern:\n\nSpecify a custom pattern for matching.\n\nDefault is:\n\n```sh\nSummary -P --Pattern .git\n```\n\n#### --Root or -R:\n\nSet the current working directory to a different folder.\n\nDefault is:\n\n```sh\nSummary -P --Root .\n```\n\nFor [Pieces OS] integration, refer to the [Pieces OS] documentation for specific\nflags and configuration options. [Pieces OS]\n\n## Examples\n\nAnalyze the current directory:\n\n```sh\nSummary\n```\n\nAnalyze a specific directory in parallel:\n\n```sh\nSummary -P -R D:\\Developer\n```\n\nExclude additional directories:\n\n```sh\nSummary -P -E \"node_modules target dist vendor\"\n```\n\nOmit specific file patterns:\n\n```sh\nSummary -P -O \"\\.md$\" -O \"\\.txt$\"\n```\n\n## Dependencies\n\n[`Summary`] relies on several Rust crates to provide its functionality:\n\n- `clap` - For parsing command-line arguments.\n- `futures` - For asynchronous programming abstractions.\n- `git2` - For `Git` repository operations.\n- `num_cpus` - For determining the number of CPUs for parallel processing.\n- `rayon` - For parallel processing.\n- `regex` - For pattern matching and text manipulation.\n- `tokio` - For asynchronous runtime.\n- `walkdir` - For efficient filesystem traversal.\n\n[Pieces OS] For extended functionality and system integration.\n\n[`Summary`]: HTTPS://crates.io/crates/psummary\n[Pieces OS]: HTTPS://Pieces.App\n\n## Changelog\n\nSee [`CHANGELOG.md`](CHANGELOG.md) for a history of changes to this CLI.\n","funding_links":["https://opencollective.com/playform-cloud-collective"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplayform%2Fsummary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplayform%2Fsummary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplayform%2Fsummary/lists"}