Skip to content

Instantly share code, notes, and snippets.

View ChrisNeff's full-sized avatar
:shipit:
Shipping. 🛳️

Christopher Neff ChrisNeff

:shipit:
Shipping. 🛳️
View GitHub Profile
@ChrisNeff
ChrisNeff / small-bdd-example.md
Created November 28, 2025 20:17 — forked from bdfinst/small-bdd-example.md
Small BDD Example
Feature: I want to be able to add items to a shopping cart so that I can purchase them

Scenario: Adding a new item to an empty cart
Given the cart is empty
When I add item 123 to the cart
Then the cart should contain item 123
And the quantity should be 1

Scenario: Increasing quantity for an item already in the cart
Scenario: A story is ready to start
Given we have a story to refine
When we decompose the story
And we agree that any team member with the technical skills can work on the story
Then the team member should be able to complete the story in less than 3 days
And the team member should not need to ask clarifying questions
And the team memeber should have all information needed to test the story
Scenario: Swarming user stories as a team
Given we have a story we can complete in less than 3 days


When we decompose the story
And we agree that any team member with the technical skills can work on the story
Then the team member should be able to complete the story in less than 3 days
And the team member should not need to ask clarifying questions
And the team memeber should have all information needed to test the story
@ChrisNeff
ChrisNeff / feature-flag-decision.md
Created November 28, 2025 20:14 — forked from bdfinst/feature-flag-decision.md
Feature Flag Decision Tree

Feature Flag Decision Tree

graph TD
    Start[New Code Change] --> Q1{Is this a large or<br/>high-risk change?}
    
    Q1 -->|Yes| Q2{Do you need gradual<br/>rollout or testing<br/>in production?}
    Q1 -->|No| Q3{Is the feature<br/>incomplete or spans<br/>multiple releases?}
    
    Q2 -->|Yes| UseFF1[✓ USE FEATURE FLAG<br/>Enables safe rollout<br/>and quick rollback]
@ChrisNeff
ChrisNeff / os-corp-dev-practices.md
Created November 27, 2025 15:29 — forked from bdfinst/os-corp-dev-practices.md
Contrast best practices between OS and enterprise
Aspect Open Source Enterprise
Governance Maintainers, community consensus, meritocracy-based influence Empowered teams, lightweight oversight, guardrails over gates
Code Review Public PRs, async reviews from global contributors, emphasis on transparency Small PRs, fast feedback loops, pair/mob programming as alternative
Documentation README-driven, contributor guides essential, public wikis Living documentation, lightweight ADRs, docs as code
Branching Strategy Fork-and-PR model, contributors work in personal forks Trunk-based development, short-lived feature branches (< 1 day)
Communication Public channels (GitHub issues, Discord, mailing lists) Co-located teams (in space /and or time), minimal ceremony
Release Cadence Varies widely, often semver-based, maintainer-driven Continuous delivery, deploy on merge, feature flags for controlled rollout
Testing CI on PRs, community-contributed
EMOJI CHEAT SHEET
Emoji emoticons listed on this page are supported on Campfire, GitHub, Basecamp, Redbooth, Trac, Flowdock, Sprint.ly, Kandan, Textbox.io, Kippt, Redmine, JabbR, Trello, Hall, plug.dj, Qiita, Zendesk, Ruby China, Grove, Idobata, NodeBB Forums, Slack, Streamup, OrganisedMinds, Hackpad, Cryptbin, Kato, Reportedly, Cheerful Ghost, IRCCloud, Dashcube, MyVideoGameList, Subrosa, Sococo, Quip, And Bang, Bonusly, Discourse, Ello, and Twemoji Awesome.
However some of the emoji codes are not super easy to remember, so here is a little cheat sheet.
✈ Got flash enabled? Click the emoji code and it will be copied to your clipboard.
People
:bowtie:
:smile:
@ChrisNeff
ChrisNeff / Book.md
Created August 26, 2024 13:10 — forked from robconery/Book.md
Obsidian Bujo Templates
title description author created updated
{{title}}
{{description}}
{{author}}
{"DATE:YYYY-MM-DD HH:mm:ss" => nil}
{"DATE:YYYY-MM-DD HH:mm:ss" => nil}

cover|150

@ChrisNeff
ChrisNeff / CHANGELOG.md
Created August 20, 2024 20:46 — forked from juampynr/CHANGELOG.md
Sample CHANGELOG

Change Log

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[Unreleased] - yyyy-mm-dd

Here we write upgrading notes for brands. It's a team effort to make them as

@ChrisNeff
ChrisNeff / merge_vs_rebase_vs_squash.md
Created December 2, 2023 13:12 — forked from mitchellh/merge_vs_rebase_vs_squash.md
Merge vs. Rebase vs. Squash

I get asked pretty regularly what my opinion is on merge commits vs rebasing vs squashing. I've typed up this response so many times that I've decided to just put it in a gist so I can reference it whenever it comes up again.

I use merge, squash, rebase all situationally. I believe they all have their merits but their usage depends on the context. I think anyone who says any particular strategy is the right answer 100% of the time is wrong, but I think there is considerable acceptable leeway in when you use each. What follows is my personal and professional opinion:

@ChrisNeff
ChrisNeff / AlexaPassthrough.json
Last active February 17, 2022 15:11
Alexa pass-through
{
"interactionModel": {
"languageModel": {
"invocationName": "<REPLACE ME>",
"intents": [
{
"name": "GetUserIntent",
"slots": [
{
"name": "phrase",