Giter Club home page Giter Club logo

arcade-constitution's Introduction

𝒯𝒽𝑒 π’œπ“‡π’Έπ’Άπ’Ήπ‘’ π’žπ‘œπ“ƒπ“ˆπ“‰π’Ύπ“‰π“Šπ“‰π’Ύπ‘œπ“ƒ

Arcade is a game where you get prizes for building, documenting, and shipping projects.

The spirit of Arcade is for you to build stuff in a hacker mindset. Start a project, push it to an MVP as fast as possible, publish it, then iterate quickly. We have rules and standards for review, but the ultimate thing those rules are trying to get at is "are you doing real work on personal projects in a hacker mindset".

This is the first draft of a living document defines "what counts" for the Hack Club Arcade. It should be a short and sweet reference for Arcade players and reviewers alike. Comments, pull requests, and questions are welcome.

The Essential Phases

Arcade has three essential phases:

  1. Build projects and log your hours with /arcade
  2. Document progress in a git-based versioning system
  3. Ship a shareable version in #scrapbook when it's ready

After you ship, you'll get a ticket for every hour that passes review. Spend these tickets with /shop

What counts as a "Project"?

A project is a self-directed creative effort toward an output that other people can meaningfully experience.

Fine Print
  • leetcode or similar challenges do not count
  • Homework or work done for a job/commission are not self-directed and therefore don't count
  • Projects started (but not finished) before Arcade are okay, but only the work done during Arcade can be logged
  • Tutorial projects that are 1:1 copies of the tutorial do not count. If you're doing a tutorial, you need to "make it your own" in some way

What counts as "Documenting progress"?

The journey of each project must be shared in a public git repository, with at least one update committed per hour logged.

Fine Print
  • Every update needs a link to the git commit for that hour
  • For code or other text-based content, put the actual code in the repo. For everything else, images or videos are fineβ€”in the repo though!
  • Any git-based system is allowed, but GitHub is preferred. Many of our review automations are built around GitHub, so other systems may be more annoying for you to use.
  • When submitting a single session scrapbook, you are required to include 2 mini-scraps throughout the session to help our reviewers clearly understand your progress. It is a progress update (not necessarily a git-commit) showing your progress through this part of the session. This could be screenshots of art or CAD or product of your code, or git commits, multiple times throughout your session and sent in the thread.

What counts as "Shipped"?

A shipped project must be shared in a way that other people can experience to the greatest possible extent.

Fine Print
  • Your repo needs a README
  • Ships must be shared in the Hack Club Slack with a post in #scrapbook. They also need a screenshot or video or URL to experience the thing
  • There must be a component of the ship that can be experienced by people in Slack
  • For digital but non-code projects, a fileβ€”and, for some online tools, a linkβ€”of the "most native" type for the project must be included. STL and .blend for Blender, PNG and project link for Figma, Gerber file and CAD file for PCBs, STEP export and STL for CAD (with a link for OnShape projects), PNG for and source file (PSD, XCF, etc) for digital art…

Some examples of "native" websites diffferent types of projects are below. Keep in mind, this isn't an exhaustive list, but a big part of "shipping" a project is getting others to experience it & this is a good way to do that.

Python Projects

In particular we find python projects are often the hardest to ship. A couple approaches you can take:

  • If you have a package, you can publish it to PyPi
  • If you make a game or executable, you can publish it with pygame or pyinstaller
  • If all else fails, you can publish it to GitHub and include a requirements.txt file & a poetry.lock file & cut a release

Many python projects end up being just a script.py file in a repo, which isn't a real project because it may only work on your machine. Keep in mind that the goal is to make your project accessible to others & everyone has different versions of python and different dependencies installed.

The Essential Vibes

The gray areas of "what counts" are ultimately resolved with a vibe check. Here are some vibey questions we may ask ourselves when assessing whether something counts for Arcade:

  • How technical is this project?
  • Is this person pushing themselves?
  • Does this project feel wholesome?
  • Is this a highly self-directed project?
  • Is this a good story?
  • Am I amazed?

These are not criteria or requirements, they are just vibes. But when a project is in a gray zone, these vibes guide our decisions.

Other Rules

  • This is a living, changing document. Rules have changed and will continue changing. For practical reasons we have to enforce whatever the latest rules are, even for hours that were submitted before the change.
  • You can't bank more than 25 hours at a time, because of arcane technical reasons, but also because you should be shipping and iterating on a loop tighter than 25 hours
  • If you use an AI tool to generate code, explain broadly which tool and how you used it at the top of the file. Using AI is fine but we are going to make a judgment call on how much we consider it to be "your work". Undeclared AI is considered plagiarism, so please be honest
  • If we think you have knowingly submitted something fradulent, we will either give you negative hours or just ban you outright
  • Nothing that breaks the law or facilitates breaking of laws, please

Happy Hacking!

Build stuff, get stuff, repeat. All summer. (ends August 31st)

arcade-constitution's People

Contributors

polytroper avatar bellesea avatar maxwofford avatar

Stargazers

aw avatar Lewin Kelly avatar Michal Stonjek avatar  avatar om tomar avatar Rishi Kumar Naidu  avatar Selo Inan avatar Petros Dhespollari avatar Zigao Wang avatar Woohyun Jung avatar Elvis Mao avatar OnscreenProton avatar  avatar Max Kendall avatar Alanik avatar Michael Zegar avatar  avatar Elliot avatar  avatar MoPaMo avatar taisan avatar Arsh_DEV avatar zach latta avatar Jeremy avatar Phyo Thet Pai avatar Artem Kovalevskyi avatar  avatar RandomSearch avatar Vic avatar Oliver P. avatar Kestrel avatar Mohit Tiwari avatar Kieran Klukas avatar  avatar Dillon Barnes avatar

Watchers

zach latta avatar Matthew Stanciu avatar Caleb Denio avatar Ben avatar Dillon Barnes avatar  avatar

arcade-constitution's Issues

my account was deactivated and I don't know why

I tried to contact to the hackclub team via [email protected] and I haven't received any response, if I violated any rule please tell me.

I can't access the slack workspace for arcade club, I try to access it via the invitation link and it pops up the following message:

account deactivated

the text says (in Spanish) It seems like your account in your hackblub workspace has been deactivated.

kind regards.

Samuel Mateo Rodriguez.

Does contributing to OSS count?

There's this project - frappe/gantt - that I've worked on a lot in the past. There are many new issues and I'd like to work and publish a new version. I will be doing this on my own, basically (the Frappe org seems to have Gantt on unmaintained) - would this count towards Arcade?

Thanks!

CAD file size problems + alternate source control nature

Hello,

There has been some questions raised at the CAD proof questions articulated in this document. Specifically, about uploading source files, .step and .stl files. For some users, these can easily be gargantuan, even when using git lfs (only 1gb limit). As such, their sessions may be denied.

However, there is an easy solution to most of these problems. Many CAD sources host any projects using their software on their servers, which means the burden to provide such files is lessened. Also, for example OnShape has a source control system with commits/changes, etc.

Is it possible for the constitution be amended to allow these methods of open source? Or at least be eased? Any change would be preferrable. Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.