FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

bharat3645/hackathon: CLI that scaffolds a minimal hackathon project skeleton (README, LICENSE, .gitignore, starter file, git init) in seconds - for actually starting to build at kickoff instead of losing time to boilerplate. · GitHub

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hackathon

A tiny CLI that scaffolds a minimal hackathon project skeleton in seconds — so at kickoff you spend zero minutes on boilerplate (README, license, .gitignore, a starter file, git init) and go straight to building.

This is a scaffolding CLI, not a hackathon framework, judging platform, or team-formation tool. It creates a directory with a few files and gets out of your way.

What it creates

python3 scaffold.py <project-name> [--stack python|node|web]

Creates <project-name>/ containing:

  • README.md — templated with the project name, a pitch placeholder, a "Team" section, and a "How to run" section
  • LICENSE — MIT, pre-filled with the same copyright holder/year as this repo
  • .gitignore — appropriate to the chosen stack
  • a minimal starter file for the stack (main.py, index.js, or index.html)
  • an initialized git repo (best effort — skipped quietly if git isn't available)

It refuses to overwrite an existing directory.

How to run

python3 scaffold.py my-idea --stack python

Real output from an actual run

$ python3 scaffold.py my-idea --stack python
Created /private/tmp/scaffold_demo/my-idea/ (python stack)

$ find my-idea -type f -not -path '*/.git/*' | sort
my-idea/.gitignore
my-idea/LICENSE
my-idea/README.md
my-idea/main.py

$ cat my-idea/main.py
print("hello from my-idea")

$ python3 my-idea/main.py
hello from my-idea

The same command works with --stack node (generates index.js) and --stack web (generates index.html), each with a stack-appropriate .gitignore. Trying to scaffold into a name that already exists fails loudly instead of silently overwriting:

$ python3 scaffold.py my-idea --stack python
error: Refusing to overwrite existing directory: /private/tmp/scaffold_demo/my-idea

How to run the tests

python3 -m unittest test_scaffold.py -v

Real output from an actual run

test_cli_creates_project (test_scaffold.ScaffoldCLITests) ... ok
test_cli_refuses_overwrite (test_scaffold.ScaffoldCLITests) ... ok
test_all_stacks_have_gitignore_and_starter (test_scaffold.ScaffoldFunctionTests) ... ok
test_git_init_ran (test_scaffold.ScaffoldFunctionTests) ... ok
test_node_stack (test_scaffold.ScaffoldFunctionTests) ... ok
test_python_stack (test_scaffold.ScaffoldFunctionTests) ... ok
test_refuses_to_overwrite_existing_directory (test_scaffold.ScaffoldFunctionTests) ... ok
test_web_stack (test_scaffold.ScaffoldFunctionTests) ... ok

----------------------------------------------------------------------
Ran 8 tests in 0.179s

OK

Requirements

Python 3.9+, standard library only — no dependencies to install.

Files

  • scaffold.py — the CLI (argparse, stdlib only)
  • test_scaffold.py — unittest suite covering all three stacks, the overwrite guard, and the CLI entry point itself
  • LICENSE — MIT

About

CLI that scaffolds a minimal hackathon project skeleton (README, LICENSE, .gitignore, starter file, git init) in seconds - for actually starting to build at kickoff instead of losing time to boilerplate.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages


Back | FazBrowse Home | New Git URL