Skip to content

Commit f7ea091

Browse files
authored
Revise CONTRIBUTING.md for clarity and structure
Updated the CONTRIBUTING.md file to enhance clarity and structure, including detailed sections on painting rules, game mechanics, enhancement ideas, and moderation policies.
1 parent 3413b0c commit f7ea091

1 file changed

Lines changed: 177 additions & 26 deletions

File tree

CONTRIBUTING.md

Lines changed: 177 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,213 @@
11
# Contributing to Commit-Art
22

3-
Commit-Art is a collaborative pixel canvas powered entirely by GitHub Issues and GitHub Actions.
3+
Commit-Art powers **The Global Rorschach Canvas**a collaborative 8×8 pixel grid driven entirely by GitHub Issues and GitHub Actions.
44

55
Every commit is a brushstroke.
66

7+
This document explains:
8+
9+
- How to participate
10+
- How the engine works
11+
- What enhancements are welcome
12+
- What changes will likely be rejected
13+
714
---
815

9-
## 🎨 How to Paint
16+
# 🎨 Painting the Canvas
17+
18+
Anyone can paint.
1019

11-
Create a new Issue using this exact format:
20+
## How to Paint
1221

22+
1. Open the **Issues** tab.
23+
2. Click **New Issue**.
24+
3. Use this exact format in the **title**:
25+
26+
```
1327
Paint [A5] #FF5733
28+
```
1429

15-
Valid ranges:
30+
## Valid Inputs
1631

17-
- Rows: A–H
18-
- Columns: 1–8
19-
- Color: 6-digit HEX code
32+
- Rows: **A–H**
33+
- Columns: **1–8**
34+
- Color: **6-digit HEX code**
2035

21-
Example:
36+
Examples:
2237

23-
Paint [C3] #00FFAA
38+
- `Paint [A1] #FF0000`
39+
- `Paint [H8] #00FFAA`
2440

2541
---
2642

27-
## 📏 Rules
43+
# ⏳ Game Rules
44+
45+
- 🕒 One paint per user every **24 hours**
46+
- 🔒 A painted tile is locked for **1 hour**
47+
- Format must match exactly
48+
- Invalid format → Issue labeled `Invalid`
49+
- Successful paint → Issue labeled `Completed`
50+
- Every action is permanently stored in `data/state.json`
51+
- SVG (`map.svg`) represents the live canvas state
2852

29-
- One pixel per issue.
30-
- Invalid formats are labeled `Invalid`.
31-
- Successful paints are labeled `Completed`.
32-
- Every action is permanently logged in `history.log`.
33-
- Do not spam or automate painting.
53+
Do not automate or spam painting.
54+
55+
This is a slow system by design.
3456

3557
---
3658

37-
## 🧠 Philosophy
59+
# 🧠 Philosophy
60+
61+
Commit-Art is a behavioral experiment.
62+
63+
The canvas is:
64+
65+
- Open
66+
- Mutable
67+
- Conflict-driven
68+
- Emergent
69+
70+
We intentionally avoid:
71+
72+
- Complex UI
73+
- Hidden backend logic
74+
- Centralized moderation algorithms
75+
- Off-platform state storage
76+
77+
GitHub is the engine.
78+
79+
Transparency is the rule.
80+
81+
---
82+
83+
# 🛠 Code Contributions
84+
85+
Contributions to the engine are welcome — but must respect the core philosophy.
3886

39-
This is a collaborative social experiment.
87+
## Architecture Overview
4088

41-
Conflict, cooperation, and evolution are part of the system.
89+
- Issue Title → Parsed by GitHub Action
90+
- Workflow validates format and rules
91+
- SVG (`map.svg`) is mutated
92+
- Persistent state stored in `data/state.json`
93+
- Commit history is the public ledger
4294

43-
However:
95+
Everything must remain:
96+
97+
- Deterministic
98+
- Serverless
99+
- GitHub-native
100+
101+
---
102+
103+
# 🚀 Enhancement Ideas
104+
105+
Enhancements should improve one of these areas:
106+
107+
---
108+
109+
## 1️⃣ Stability Improvements
110+
111+
- More robust input validation
112+
- Edge case handling
113+
- Improved cooldown calculations
114+
- Improved lock safety
115+
- Better cache-busting for SVG
116+
- State integrity verification
117+
118+
---
119+
120+
## 2️⃣ Game Mechanics (Carefully Considered)
121+
122+
Potential future mechanics:
123+
124+
- Tile ownership (consecutive paints)
125+
- Most contested tile tracking
126+
- Daily paint counters
127+
- Soft pixel decay after inactivity
128+
- Controlled canvas expansion (e.g., 10×10 after X paints)
129+
130+
Mechanics must:
131+
- Be minimal
132+
- Preserve simplicity
133+
- Avoid turning the system into a complex app
134+
135+
---
136+
137+
## 3️⃣ Observability & Transparency
138+
139+
- Auto-generated stats section in README
140+
- Lightweight leaderboard
141+
- Total paints counter
142+
- Timestamp display improvements
143+
144+
No external dashboards.
145+
146+
All metrics must live inside the repository.
147+
148+
---
149+
150+
## 4️⃣ Anti-Abuse Improvements
151+
152+
- Basic spam resistance
153+
- Pattern abuse detection
154+
- Safer automation guardrails
155+
156+
Must remain lightweight and transparent.
157+
158+
---
159+
160+
# ❌ Changes Likely to Be Rejected
161+
162+
- Adding a backend server
163+
- Adding a database
164+
- Replacing GitHub Actions
165+
- Adding a web frontend
166+
- Introducing complex authentication systems
167+
- Overengineering the canvas
168+
169+
The constraint *is the point*.
170+
171+
---
172+
173+
# 📦 How to Submit Code Changes
174+
175+
1. Fork the repository.
176+
2. Create a feature branch.
177+
3. Keep commits small and atomic.
178+
4. Clearly explain:
179+
- What changed
180+
- Why it improves the system
181+
- How it preserves philosophy
182+
5. Submit a Pull Request.
183+
184+
PRs that dramatically increase complexity will likely be declined.
185+
186+
---
187+
188+
# 🛡 Moderation
189+
190+
This is an open experiment, but:
44191

45192
- Harassment
46193
- Hate symbols
47194
- Explicit content
48-
- Automated abuse
195+
- Coordinated abuse
49196

50197
may be reverted or blocked.
51198

199+
The maintainer retains final decision authority.
200+
52201
---
53202

54-
## 🛠 Code Contributions
203+
# 🧩 The Core Principle
55204

56-
If you'd like to improve the engine:
205+
Input → Mutation → Public Record
57206

58-
1. Fork the repository.
59-
2. Create a feature branch.
60-
3. Submit a pull request with a clear description.
207+
If your contribution preserves this loop and keeps the system simple, it will likely be considered.
208+
209+
If it tries to transform Commit-Art into a traditional web app, it will not.
210+
211+
---
61212

62-
Keep changes minimal and aligned with the core concept.
213+
Build carefully.

0 commit comments

Comments
 (0)