Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/codefromanywhere/summarize-folder
Summarize folders
https://github.com/codefromanywhere/summarize-folder
code
Last synced: 23 days ago
JSON representation
Summarize folders
- Host: GitHub
- URL: https://github.com/codefromanywhere/summarize-folder
- Owner: CodeFromAnywhere
- Created: 2024-07-15T12:36:55.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-08-16T14:30:50.000Z (3 months ago)
- Last Synced: 2024-08-17T14:10:00.368Z (3 months ago)
- Topics: code
- Language: JavaScript
- Homepage:
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# summarize-folder
`summarize-folder` is a powerful Node.js CLI tool designed to analyze and manipulate folder structures and file contents. It offers three main functionalities: summarizing folder structures, reading file hierarchies, and writing file hierarchies.
## Features
- **Folder Summarization**: Scan folders recursively and generate a YAML file containing file sizes.
- **File Hierarchy Reading**: Retrieve and prune file contents based on a given structure.
- **File Hierarchy Writing**: Write file contents to a specified structure.
- **Gitignore Support**: Respects `.gitignore` and `.genignore` files for excluding files/folders.
- **UTF-8 Compatibility**: Ignores non-UTF-8 encoded files.## Installation
```bash
npm install -g summarize-folder
```## Usage
### Summarize Folder Sizes
```bash
summarize-folder size [path]
```Scans the current folder or specified path recursively and generates a `summary-filesizes.yaml` file containing the character count for each file.
### Read File Hierarchy
```bash
summarize-folder read [maxDepth]
```Retrieves the content for a pruned file list based on the structure defined in the input YAML file.
### Write File Hierarchy
```bash
summarize-folder write
```Writes file contents to the file system based on the structure and content defined in the input YAML file.
## Configuration
- `.gitignore`: Standard Git ignore file, respected by the tool.
- `.genignore`: Additional ignore file specific to this tool.## Dependencies
- `yaml`: Used for parsing and stringifying YAML content.
## License
ISC
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## Support
If you encounter any problems or have any questions, please open an issue in the GitHub repository.