{"id":17321836,"url":"https://github.com/earthboundkid/springerle","last_synced_at":"2026-01-11T23:03:57.363Z","repository":{"id":46290350,"uuid":"337835750","full_name":"earthboundkid/springerle","owner":"earthboundkid","description":"A cookiecutter tool written in Go","archived":false,"fork":false,"pushed_at":"2025-03-19T19:46:59.000Z","size":224,"stargazers_count":16,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-14T16:01:22.729Z","etag":null,"topics":["cookiecutter","go","project-builder"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/earthboundkid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"carlmjohnson"}},"created_at":"2021-02-10T19:48:11.000Z","updated_at":"2024-09-17T21:21:18.000Z","dependencies_parsed_at":"2024-01-25T05:27:59.830Z","dependency_job_id":"8f64024b-f3c5-4f31-85e8-16416a605516","html_url":"https://github.com/earthboundkid/springerle","commit_stats":null,"previous_names":["earthboundkid/springerle","carlmjohnson/springerle"],"tags_count":11,"template":false,"template_full_name":"earthboundkid/go-cli","purl":"pkg:github/earthboundkid/springerle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthboundkid%2Fspringerle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthboundkid%2Fspringerle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthboundkid%2Fspringerle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthboundkid%2Fspringerle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/earthboundkid","download_url":"https://codeload.github.com/earthboundkid/springerle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthboundkid%2Fspringerle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28326177,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T22:11:01.104Z","status":"ssl_error","status_checked_at":"2026-01-11T22:10:58.990Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cookiecutter","go","project-builder"],"created_at":"2024-10-15T13:39:55.433Z","updated_at":"2026-01-11T23:03:57.341Z","avatar_url":"https://github.com/earthboundkid.png","language":"Go","funding_links":["https://github.com/sponsors/carlmjohnson"],"categories":[],"sub_categories":[],"readme":"# Springerle [![GoDoc](https://godoc.org/github.com/carlmjohnson/springerle?status.svg)](https://godoc.org/github.com/carlmjohnson/springerle) [![Go Report Card](https://goreportcard.com/badge/github.com/carlmjohnson/springerle)](https://goreportcard.com/report/github.com/carlmjohnson/springerle)\n\nSpringerle are a kind of [German prestamped cookie](https://drawinglinks.substack.com/p/springerle-cookies). Springerle is a command line tool for creating simple prestamped project files with the txtar format and Go templates. Inspired by [Cookiecutter](https://cookiecutter.readthedocs.io/) and [JTree Stamp](https://github.com/publicdomaincompany/jtree/tree/master/langs/stamp).\n\n![](images/springerle.jpeg)\n\n## Installation\n\nFirst install [Go](http://golang.org).\n\nIf you just want to install the binary to your current directory and don't care about the source code, run\n\n```bash\nGOBIN=$(pwd) go install github.com/carlmjohnson/springerle@latest\n```\n\n## Screenshots\n\n```\n$ springerle -h\nspringerle v0.21.4 - create simple projects with the txtar format and Go templates.\n\nUsage:\n\n    springerle [options] \u003cproject file or URL\u003e\n\nProject files are Go templates processed as txtar files. The preamble to the\ntxtar file is used as a series of prompts for creating the template context.\nEach line should be formated as \"key: User prompt question? default value\" with\ncolon and question mark used as delimiters. Lines beginning with # or without a\ncolon are ignored. If the default value is \"y\" or \"n\", the prompt will be\ntreated as a boolean. Prompt lines may use templates directives, e.g. to\ntransform a prior prompt value into a default or skip irrelevant prompts, but\npremable template directives must be valid at the line level. That is, there\ncan be no multiline blocks in the preamble.\n\nTo templatize files that contain other templates, set -left-delim and\n-right-delim options to something not used in the template.\n\nIn addition to the default Go template functions, templates can use the\nfunctions listed below. In order to avoid name clashes, the added function\nnames follow a specific pattern: they combine their original package and\nfunction names using no punctuation and only lowercase letters. E.g.,\nstrings.LastIndexByte becomes stringslastindexbyte.\n\nFrom package strings:\n\nstringscompare stringscontains stringscontainsany stringscontainsrune\nstringscount stringsequalfold stringsfields stringsfieldsfunc stringshasprefix\nstringshassuffix stringsindex stringsindexany stringsindexbyte\nstringsindexfunc stringsindexrune stringsjoin stringslastindex\nstringslastindexany stringslastindexbyte stringslastindexfunc stringsmap\nstringsrepeat stringsreplace stringsreplaceall stringssplit stringssplitafter\nstringssplitaftern stringssplitn stringstitle stringstolower\nstringstolowerspecial stringstotitle stringstotitlespecial stringstoupper\nstringstoupperspecial stringstovalidutf8 stringstrim stringstrimfunc\nstringstrimleft stringstrimleftfunc stringstrimprefix stringstrimright\nstringstrimrightfunc stringstrimspace stringstrimsuffix\n\nFrom package path/filepath:\n\nfilepathabs filepathbase filepathclean filepathdir filepathext\nfilepathfromslash filepathisabs filepathjoin filepathmatch filepathrel\nfilepathsplit filepathsplitlist filepathtoslash filepathvolumename\n\nFrom package time:\n\ntimedate timenow timeparse timeparseduration\n\nFrom github.com/huandu/xstrings:\n\nxstringscenter xstringscount xstringsdelete xstringsexpandtabs\nxstringsfirstrunetolower xstringsfirstrunetoupper xstringsinsert\nxstringslastpartition xstringsleftjustify xstringslen xstringspartition\nxstringsreverse xstringsrightjustify xstringsrunewidth xstringsscrub\nxstringsshuffle xstringsshufflesource xstringsslice xstringssqueeze\nxstringssuccessor xstringsswapcase xstringstocamelcase xstringstokebabcase\nxstringstosnakecase xstringstranslate xstringswidth xstringswordcount\nxstringswordsplit\n\nFrom github.com/mitchellh/go-wordwrap\n\nwordwrapwrapstring wrapstring\n\nThe 'wordwrap' package is a slight exception to the rules for added function\nnames. Both 'wordwrapwrapstring' and 'wrapstring' are aliases to the same\nfunction.\n\nOptions:\n  -context JSON\n        JSON object to use as template context\n  -dest path\n        destination path (default \".\")\n  -dry-run\n        dry run output only (output txtar to stdout)\n  -dump-context path\n        path to load/save context produced by user input\n  -left-delim delimiter\n        left delimiter to use when parsing template (default \"{{\")\n  -right-delim delimiter\n        right delimiter to use when parsing template (default \"}}\")\n  -verbose\n        log debug output (default silent)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fearthboundkid%2Fspringerle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fearthboundkid%2Fspringerle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fearthboundkid%2Fspringerle/lists"}