- Go 90%
- Nix 9.5%
- Dockerfile 0.5%
|
|
||
|---|---|---|
| .devcontainer | ||
| .github/workflows | ||
| cli | ||
| docs | ||
| fixtures | ||
| img | ||
| LICENSES | ||
| nix | ||
| scraping | ||
| .editorconfig | ||
| .envrc | ||
| .gitattributes | ||
| .gitignore | ||
| .goreleaser.yaml | ||
| cog.toml | ||
| demo.tape | ||
| Dockerfile | ||
| go.mod | ||
| go.sum | ||
| go.work | ||
| go.work.sum | ||
| LICENSE | ||
| main.go | ||
| README.md | ||
| REUSE.toml | ||
tubenoisseur: YouTuber Reference Scraper
Introduction
tubenoisseur is a command-line interface (CLI) built with Cobra meant to be coupled with a scheduling system, such as systemd or a cron job, to gather links in the description of videos from a YouTube channel, with the goal of mapping out their sources.
Philosophies
- Dependency Injection.
- Functional Core, Imperative Shell1.
- Parse, don't validate2.
- Test Driven Development3.
- You Aren't Gonna Need It4.
-
Bernhardt, G. (2012) Functional core, imperative shell. Destroy All Software. Available at: https://www.destroyallsoftware.com/screencasts/catalog/functional-core-imperative-shell (Accessed: May 1, 2026). ↩︎
-
King, A. (2019) Parse, don’t validate. Alexis King’s Blog. Available at: https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-validate/ (Accessed: September 29, 2025). ↩︎
-
Beck, K. (2003) Test-driven development: By example. Boston: Addison-Wesley (The Addison-Wesley signature series). ↩︎
-
Jeffries, R., Anderson, A. and Hendrickson, C. (2001) Extreme programming installed. Boston: Addison-Wesley (The XP series). ↩︎

