A creative dev automation engine for launching, documenting, and publishing projects
Project description
🌱 Greening
greening is an opinionated, full-stack project automation tool for solo developers and creative coders.
With just a few commands, you can scaffold a production-ready Python package complete with docs, tests, GitHub Actions workflows, PyPI packaging, and an auto-deployed GitHub Pages site. No boilerplate or setup hell, just instant polish.
Table of Contents
- 🍃 Why
greening? - 🌿 Key features
- 🌲 Getting started
- 🌻 GitHub authentication
- 🌳 Blog posts
- 🌴 Roadmap
- 🍀 Support
🍃 Why greening?
Most devs never ship their tools. Not because the code isn’t good, but because the surrounding friction is too high:
- How do I structure the project?
- How do I set up CI/CD, tests, and linting?
- How do I make it look legit?
- How do I talk about it?
greening answers all of that in one opinionated workflow.
🌿 Key features
greening automates your project creation pipeline:
✅ greening init - generates a starter greening.yaml config file
✅ greening new - scaffolds your entire Python project in-place
Additional features:
- Builds and pushes a polished GitHub Pages site
- Automatically initializes a Git repo
- Optionally creates a GitHub repository via API
- Optionally pushes to GitHub (main branch)
- Injects metadata throughout the project using Cookiecutter
- Uses Jekyll + Minimal Mistakes for clean, brandable documentation
- Auto-documentation with Sphinx + Read the Docs support
- Automatically wire in Google Analytics if configured
🌲 Getting started
1. Install greening
pip install greening
2. Run greening init
This creates a starter config file in your current directory:
greening init
It generates greening.yaml:
project_name: Test project
project_slug: test_project
github_username: chris-greening
author_name: Chris Greening
email: chris@christophergreening.com
# git_remote: git@github.com:chris-greening/test-repo.git
push: false
create_github_repo: true
3. Scaffold the project
Run this in the same directory as your config:
greening new
greening will generate your project in-place and optionally push it to GitHub.
🌻 GitHub authentication
To enable GitHub repo creation and pushing:
- Generate a GitHub Personal Access Token with
reposcope - Add it to your shell config:
export GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Then run:
source ~/.bashrc # or ~/.zshrc
See this blog post for more
🌳 Blog posts
Check the blog out for more info here
- Introducing Greening: Ship Beautiful Software, Fast
- Open Source is Soil: The Greening Philosophy
- The Philosophy Behind Greening: Developer Momentum
- How to Generate a GitHub Token for Pushing Repos with Greening
- How to Enable Google Analytics Tracking in Your Greening-Deployed Site
🌴 Roadmap
A focused, opinionated roadmap toward making Greening the most seamless developer automation tool for launching and shipping polished open source projects.
- Plugin ecosystem to support custom features, commands, etc. within the greening command-line tool
- Custom template support for creating tailor-made templates
- Idempotent execution so commands are safe to run repeatedly with no unexpected side effects
- Cleanup partial builds in the event of a command failure to prevent half-baked launches
🍀 Support
Reach out to me if you want to connect or have any questions and I will do my best to get back to you
- Email:
- Twitter:
- Personal contact form:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file greening-0.5.2.tar.gz.
File metadata
- Download URL: greening-0.5.2.tar.gz
- Upload date:
- Size: 4.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08a94a85298c501bb35456bc7c824b32b4b586dde3f9633cbaab1d4216123e60
|
|
| MD5 |
9b779c836637e206b8cdb8f229b66131
|
|
| BLAKE2b-256 |
679911875618a0aa65839b21a08ad41523d117c15ebc55c8d3f1a6533c77a805
|
File details
Details for the file greening-0.5.2-py3-none-any.whl.
File metadata
- Download URL: greening-0.5.2-py3-none-any.whl
- Upload date:
- Size: 4.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e76d6bb7d0dc393900d1cf5bb77cc0d391a4ee63be9ee8019ea3d99bd255875
|
|
| MD5 |
796d20ba743d7603c2b01ee25619d7e2
|
|
| BLAKE2b-256 |
aba0f1e585e5614a72d73a7715986dd6b676a56de477bafd7fed5b8e9d5e897e
|