devlooped / devlooped/dotnet-file
Revampt as dotnet-cat
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 63
- Forks
- 6
- PR merge metrics
- No merged PRs in 30d
Description
Given https://www.linfo.org/cat.html definition:
cat is one of the most frequently used commands on Unix-like operating systems. It has three related functions with regard to text files: displaying them, combining copies of them and creating new ones.
And the catbag concept, we want to:
- Rename project to dotnet-cat
- Revamp implementation to use Spectre.Console for better progress and overall output
- Leverage proper globing for more precise sync
- Add significant test coverage to improve reliability since the globing isn't trivial
Some key features:
- Should allow flexible globing with multiple include/exclude strings, such as:
[file]
url = https://github.com/git-ecosystem/git-credential-manager/tree/v2.6.0/src/shared/Core/Interop
include = *.cs
include = **/*FileSystem.cs
exclude = **/MacOS/**/*.*
- CLI should allow specifying this via multiple
-i|--includeand-e|--excludeoptions. - CLI should provide a
--dry-runfor all commands (includingadd, so you can test your include/excludes) - Include/exclude would only be supported initially for github tree URLs (since it requires the GH CLI to fetch the directory contents)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing CLI entry points, especially the add command, and the current handling of GitHub tree URLs; the issue names no files or tests. Done means the project is renamed, CLI output uses Spectre.Console, include/exclude globbing and dry-run options work as specified, and significant test coverage is added.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, github
- Domain
- cli, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100
