Skip to content

parradam/go-fetch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-fetch

A CLI tool to fetch GitHub issues and save them as Markdown files.

Status

🚧 Work in progress

Current Features

  • ✅ Fetch issues from GitHub via REST API (currently first 30 issues)
  • ✅ Export to Markdown format
  • ✅ CLI interface with argument parsing and validation
  • ✅ User-friendly error handling
  • ✅ Convert GitHub data to internal domain models

Planned Features

  • Export to HTML format
  • Support multiple repositories via config file
  • Track sync state to avoid re-fetching
  • Fetch comments for issues
  • Pagination support for larger repositories (currently fetches first 30 issues)
  • Custom formatting

Usage

Fetch issues from a GitHub repository and save to Markdown:

go-fetch fetch golang/go
# Creates golang-go-issues.md

Show help:

go-fetch --help

Output

Issues are saved to {owner}-{repo}-issues.md in the current directory with:

  • Repository title and fetch timestamp
  • Issue number, title, author, state, and creation date
  • Full issue body text
  • Markdown formatting for easy reading

Example output structure:

# Issues for golang/go

Fetched: 2025-01-17T20:30:00Z

## Issue #12345: Bug in runtime

**Author:** username  
**State:** open  
**Created:** 2025-01-15

Issue description here...

---

Development

Run:

go run cmd/go-fetch/main.go fetch golang/go

Format code:

go fmt ./...

Lint code:

golangci-lint run

Build binary:

go build -o go-fetch cmd/go-fetch/main.go

Run binary:

./go-fetch fetch golang/go

Project Structure

go-fetch
├── LICENSE
├── README.md
├── cmd
│   └── go-fetch
│       └── main.go            # entry point
├── go-fetch
├── go.mod
└── internal
    ├── api                    # external API clients
    │   ├── client.go
    │   └── github
    │       ├── client.go
    │       └── types.go
    ├── commands
    │   └── fetch.go
    ├── models                 # domain models
    │   ├── comment.go
    │   └── issue.go
    └── output
        ├── formatter.go
        └── markdown.go

License

See the LICENSE file.

About

A CLI tool to fetch GitHub issues and comments.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages