https://github.com/playform/summary
🗣️ Summary —
https://github.com/playform/summary
Last synced: about 1 year ago
JSON representation
🗣️ Summary —
- Host: GitHub
- URL: https://github.com/playform/summary
- Owner: PlayForm
- License: cc0-1.0
- Created: 2024-07-28T22:45:25.000Z (over 1 year ago)
- Default Branch: Current
- Last Pushed: 2024-11-07T02:06:35.000Z (over 1 year ago)
- Last Synced: 2024-11-07T03:18:50.987Z (over 1 year ago)
- Language: Rust
- Homepage:
- Size: 73.9 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# [`Summary`] 🗣️
[`Summary`] is a powerful command-line tool designed for efficient `Git`
repository analysis and summarization. It offers both sequential and parallel
processing capabilities, along with flexible file filtering options.
[`Summary`]: HTTPS://crates.io/crates/psummary
```sh
Summary -P > Summary.diff
```
[`Summary`] will now generate the following [`Summary.diff`](./Summary.diff) for
all the commits and tags between the first and the last commit.
## Feature
- Customizable file pattern matching.
- Diff generation between `Git` tags.
- Directory traversal and file filtering.
- Exclusion of specified files or directories.
- `Git` repository analysis.
- Integration with [Pieces OS] for enhanced functionality.
- Parallel and sequential processing modes.
## [Pieces OS] Integration
The [`Summary`] CLI supports [Pieces OS], allowing it to:
- Generate comprehensive diff logs and release notes automatically.
- Provide AI-driven code analysis and insights.
- Offer improved context-aware processing of repository changes.
- Seamlessly interact with other [Pieces OS]-compatible development tools.
By leveraging [Pieces OS], [`Summary`] can tap into a broader ecosystem of
development tools and services, significantly expanding its capabilities beyond
basic file processing.
## Installation 🚀
```sh
cargo install psummary
```
## 🛠️ Usage
The Summary tool can be used with various options:
```
Summary 🗣️
Usage: Summary [OPTIONS]
Options:
-P, --Parallel Parallel ⏩
-R, --Root Root 📂 [default: .]
-E, --Exclude Exclude 🚫 [default: node_modules]
--Pattern Pattern 🔍 [default: .git]
-O, --Omit Omit 🚫 [default: Documentation]
-h, --help Print help
-V, --version Print version
```
This command will generate summaries for all the `Git` tags inside the specified
repository.
## Options
The [`Summary`] tool can be used with various options:
#### --Exclude or -E:
Exclude certain files or directories.
Default is:
```sh
Summary -P -E node_modules
```
#### --Omit or -O:
Specify regex patterns to omit files from processing.
Default is:
```sh
Summary -P \
--Omit "(?i)documentation" \
--Omit "(?i)target" \
--Omit "(?i)changelog\.md$" \
--Omit "(?i)summary\.md$"
```
#### --Parallel or -P:
Run processing in parallel.
Default is:
```sh
Summary
```
#### --Pattern:
Specify a custom pattern for matching.
Default is:
```sh
Summary -P --Pattern .git
```
#### --Root or -R:
Set the current working directory to a different folder.
Default is:
```sh
Summary -P --Root .
```
For [Pieces OS] integration, refer to the [Pieces OS] documentation for specific
flags and configuration options. [Pieces OS]
## Examples
Analyze the current directory:
```sh
Summary
```
Analyze a specific directory in parallel:
```sh
Summary -P -R D:\Developer
```
Exclude additional directories:
```sh
Summary -P -E "node_modules target dist vendor"
```
Omit specific file patterns:
```sh
Summary -P -O "\.md$" -O "\.txt$"
```
## Dependencies
[`Summary`] relies on several Rust crates to provide its functionality:
- `clap` - For parsing command-line arguments.
- `futures` - For asynchronous programming abstractions.
- `git2` - For `Git` repository operations.
- `num_cpus` - For determining the number of CPUs for parallel processing.
- `rayon` - For parallel processing.
- `regex` - For pattern matching and text manipulation.
- `tokio` - For asynchronous runtime.
- `walkdir` - For efficient filesystem traversal.
[Pieces OS] For extended functionality and system integration.
[`Summary`]: HTTPS://crates.io/crates/psummary
[Pieces OS]: HTTPS://Pieces.App
## Changelog
See [`CHANGELOG.md`](CHANGELOG.md) for a history of changes to this CLI.