Skip to content

Commit 9aeb520

Browse files
authored
feat: Add `GSoC 2026 ideas documentation (#513)
1 parent 907d31e commit 9aeb520

File tree

2 files changed

+335
-0
lines changed

2 files changed

+335
-0
lines changed

docs/gsoc-ideas.mdx

Lines changed: 331 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,331 @@
1+
---
2+
title: GSoC '26 Ideas List
3+
description: Google Summer of Code 2026 Project Ideas for Pycord
4+
sidebar_position: 99
5+
sidebar_class_name: hidden
6+
---
7+
8+
[shortcut link to the list](#project-ideas)
9+
10+
## About Pycord
11+
12+
**Pycord** is a modern, easy-to-use, feature-rich, and async-ready API wrapper for Discord. We empower developers to create powerful Discord bots and applications with an intuitive Python interface.
13+
14+
- GitHub Organization: [Pycord-Development](https://github.com/Pycord-Development)
15+
- Main Repository: [pycord](https://github.com/Pycord-Development/pycord)
16+
- Documentation: [docs.pycord.dev](https://docs.pycord.dev)
17+
- Guide: where you are right now!
18+
19+
---
20+
21+
## GSoC 2026 Participation
22+
23+
**This is Pycord's first year applying to participate in Google Summer of Code!** We're planning to accept **1 contributor** for summer 2026.
24+
25+
## Getting Started
26+
27+
Before applying, we strongly encourage you to:
28+
29+
1. Join our community at [discord.gg/pycord](https://discord.gg/pycord)
30+
2. Check out our repositories and get familiar with Pycord
31+
3. Ask questions, discuss your ideas, and get feedback from our mentors and core developers
32+
4. Review our [documentation](https://docs.pycord.dev) and [guide](https://guide.pycord.dev)
33+
34+
## Contact & Communication
35+
36+
- Our Discord Server [discord.gg/pycord](https://discord.gg/pycord) is our primary communication channel
37+
- You can reach out by email at [admin@pycord.dev](mailto:admin@pycord.dev)
38+
39+
When reaching out, please:
40+
41+
- Introduce yourself and your background
42+
- Mention which project(s) interest you **and why**
43+
- Ask specific questions about the project scope or requirements
44+
- Share any relevant experience, insight or ideas you have
45+
46+
Mentorship note: Ideas list a primary mentor. Additional mentors may be assigned from the Pycord team based on project fit.
47+
48+
---
49+
50+
## Project Ideas
51+
52+
### 1. Guide Remake
53+
54+
**Size:** Small (90 hours) or Medium (175 hours)
55+
56+
**Difficulty:** Medium
57+
58+
**Category:** Infrastructure
59+
60+
**Mentor:** [Paillat](https://github.com/Paillat-dev)
61+
62+
#### Description
63+
64+
The current Pycord guide at [guide.pycord.dev](https://guide.pycord.dev) has accumulated technical debt and contains outdated content. We need a complete remake using modern web technologies to provide a good learning experience for new Pycord developers.
65+
66+
This project involves both documentation and web development work. You'll be rebuilding the guide from the ground up with a modern tech stack while updating all tutorials and examples to reflect current Discord API features and Pycord best practices.
67+
68+
The new guide should serve as the primary learning resource for developers new to Pycord, covering everything from basic bot setup to advanced features.
69+
70+
#### Expected Outcomes
71+
72+
- New guide website built with Astro framework and Tailwind CSS v4
73+
- Updated tutorials covering the latest Discord features and Pycord capabilities
74+
- Modern, responsive design that works seamlessly across devices
75+
- Beginner-friendly documentation
76+
77+
#### Stretch Goals (Medium / 175h scope)
78+
79+
- Full working code examples integrated and continuously synchronized from the core GitHub repository
80+
- Video tutorials or animated examples for complex concepts
81+
- Multi-language support or internationalization framework using Crowdin
82+
- Advanced topics section covering best practices and optimization
83+
84+
#### Skills Required/Preferred
85+
86+
Non-negotiable:
87+
88+
- Python (intermediate level)
89+
- Technical writing and documentation skills
90+
- Web development fundamentals (HTML, CSS, JavaScript)
91+
- Basic understanding of Discord bots and the Discord API
92+
93+
Preferred:
94+
95+
- Experience with Astro framework
96+
- Strong knowledge of Tailwind CSS
97+
- Prior experience writing developer documentation
98+
- Familiarity with Pycord or discord.py
99+
100+
#### Resources
101+
102+
- Current Guide: [guide.pycord.dev](https://guide.pycord.dev)
103+
- Guide Repository: [github.com/Pycord-Development/guide](https://github.com/Pycord-Development/guide)
104+
- Pycord Core: [github.com/Pycord-Development/pycord](https://github.com/Pycord-Development/pycord)
105+
- Pycord Examples: [github.com/Pycord-Development/pycord/tree/master/examples](https://github.com/Pycord-Development/pycord/tree/master/examples)
106+
107+
---
108+
109+
### 2. Pycord-next: The Future of Pycord
110+
111+
**Size:** Medium (175 hours) or Large (350 hours)
112+
113+
**Difficulty:** Hard
114+
115+
**Category:** Core Development
116+
117+
**Mentor:** [Paillat](https://github.com/Paillat-dev)
118+
119+
#### Description
120+
121+
Pycord-next is an ambitious ongoing refactor that aims to modernize and improve the core architecture of Pycord. This project is not about completing the entire refactor, but rather making meaningful, substantial contributions that push the project forward.
122+
123+
As a contributor, you'll work closely with mentors and the core team to understand Pycord's internals, make architectural decisions, and implement changes that will shape the future of the library. This is a unique opportunity to have a lasting impact on a library used by thousands of Discord bot developers.
124+
125+
Success in this project means demonstrating the ability to understand complex async Python codebases, make well-reasoned design decisions, and implement clean, well-typed, well-documented code.
126+
127+
#### Expected Outcomes
128+
129+
- Meaningful contributions to the pycord-next refactor following the project roadmap
130+
- Well-documented code changes with comprehensive type annotations
131+
- Participation in architectural discussions and decision-making
132+
- Pull requests that advance specific areas of the refactor (models, gateway, HTTP client, etc.)
133+
- Understanding and documentation of design decisions for future contributors
134+
135+
Potential focus areas:
136+
137+
- Model system refactoring
138+
- Gateway connection handling improvements
139+
- HTTP client modernization
140+
- Type system improvements and full typing coverage
141+
142+
#### Skills Required/Preferred
143+
144+
Non-negotiable:
145+
146+
- Advanced Python knowledge
147+
- Strong understanding of async/await and asyncio
148+
- Solid grasp of Object-Oriented Programming principles
149+
- Experience with Python type hints and static typing
150+
- Ability to read and understand large codebases
151+
152+
Preferred:
153+
154+
- Prior experience with Pycord or discord.py
155+
- Understanding of the Discord API and WebSocket protocols
156+
- Experience with API wrapper design patterns
157+
- Familiarity with modern Python tooling (mypy, ruff, etc.)
158+
159+
#### Important Note
160+
161+
Applicants interested in this project should spend significant time exploring the Pycord codebase before applying. We expect candidates to demonstrate familiarity with the library's architecture in their proposals.
162+
163+
#### Resources
164+
165+
- Pycord-next Repository: [github.com/Pycord-Development/pycord-next](https://github.com/Pycord-Development/pycord-next)
166+
- Main Pycord Repository: [github.com/Pycord-Development/pycord](https://github.com/Pycord-Development/pycord)
167+
- Discord API Documentation: [discord.com/developers/docs](https://discord.com/developers/docs)
168+
169+
---
170+
171+
### 3. Discord Bot Testing Framework
172+
173+
**Size:** Medium (175 hours) or Large (350 hours)
174+
175+
**Difficulty:** Hard
176+
177+
**Category:** Infrastructure/Automation
178+
179+
**Mentor:** [Paillat](https://github.com/Paillat-dev)
180+
181+
#### Description
182+
183+
Testing Discord bots is notoriously difficult because they rely on external services and real-time events. This project aims to create a comprehensive testing framework that allows developers to write reliable, reproducible tests for their Pycord bots.
184+
185+
The framework should allow users to simulate Discord events, mock API responses, and verify bot behavior without needing a real Discord connection. This involves creating a new repository with the testing tools as well as potential contributions to Pycord core to ensure compatibility and testability.
186+
187+
#### Expected Outcomes
188+
189+
- A standalone testing library for Pycord bots (new repository)
190+
- Event simulation system allowing developers to trigger customizable mock events
191+
- Response verification tools to check bot outputs and API calls
192+
- Mock Discord API client for offline testing
193+
- Integration with popular Python testing frameworks (pytest)
194+
- Comprehensive documentation and example test suites
195+
196+
#### Stretch Goals (Large / 350h scope)
197+
198+
- Integration testing tools for multi-bot scenarios
199+
- Performance testing utilities
200+
- CI/CD integration examples and GitHub Actions templates
201+
- Contributions to Pycord core for improved testability
202+
203+
#### Skills Required/Preferred
204+
205+
Non-negotiable:
206+
207+
- Advanced Python knowledge
208+
- Experience with testing frameworks (pytest preferred)
209+
- Understanding of mocking and test doubles
210+
- Familiarity with async Python testing patterns
211+
212+
Preferred:
213+
214+
- Experience with Pycord or discord.py
215+
- Knowledge of the Discord API structure
216+
- Prior experience building testing tools or frameworks
217+
- Understanding of CI/CD pipelines
218+
219+
#### Resources
220+
221+
- Pycord Repository: [github.com/Pycord-Development/pycord](https://github.com/Pycord-Development/pycord)
222+
- pytest Documentation: [docs.pytest.org](https://docs.pytest.org)
223+
- Discord API Documentation: [discord.com/developers/docs](https://discord.com/developers/docs)
224+
225+
---
226+
227+
## Your Own Idea
228+
229+
We welcome original project ideas! If you have a creative concept that uses or may improves Pycord in a meaningful way, we'd love to hear about it.
230+
231+
Requirements for custom proposals:
232+
233+
- Must use or otherwise be related to Pycord in a meaningful way
234+
- Should be achievable within the GSoC timeframe (90-350 hours)
235+
- Must have clear, measurable outcomes
236+
- Needs to benefit the Pycord community or ecosystem
237+
238+
Before submitting a custom idea:
239+
240+
1. Join our Discord and discuss your idea with the community
241+
2. Get feedback from and find potential mentors there
242+
3. Refine your proposal based on community input (not limited to feedback from mentors)
243+
4. Ensure scope is appropriate for GSoC
244+
245+
---
246+
247+
## Application Process
248+
249+
### How to Apply
250+
251+
1. Familiarize yourself with Pycord and the project you're interested in
252+
2. Join our Discord (mentioned above) and introduce yourself in the GSoC channel
253+
3. Discuss your proposal with potential mentors before submitting
254+
4. Submit your application
255+
256+
### Application Template
257+
258+
Your application should include:
259+
260+
1. About You
261+
- Name and contact information
262+
- Educational background
263+
- Relevant experience (coding, open source, Discord bots, etc.)
264+
- Why you're interested in Pycord and GSoC
265+
266+
2. Project Proposal
267+
- Which project you're applying for and why
268+
- Your understanding of the project goals
269+
- Any unique approaches or ideas you'd bring to the project
270+
271+
3. Technical Background
272+
- Programming languages you know (especially Python)
273+
- Relevant technologies (web frameworks, databases, etc.)
274+
- Links to your code (GitHub, personal projects, etc.)
275+
- Previous contributions to open source (if any)
276+
277+
4. Availability
278+
- Time commitment you can make (hours per week)
279+
- Any known schedule conflicts during the coding period
280+
- **Your timezone!**
281+
282+
### Tips for Strong Applications
283+
284+
- Don't wait until the last minute to reach out
285+
- Show you understand the project and have concrete ideas
286+
- Making a small contribution to Pycord before applying demonstrates commitment but is not a hard requirement
287+
- Good communication is essential for remote mentorship
288+
- Ask questions, we wouldd rather answer questions than receive an unclear proposal
289+
290+
---
291+
292+
## General Information
293+
294+
### What We're Looking For
295+
296+
We value:
297+
298+
- Clear communication and willingness to ask for help
299+
- Self-motivated learning and problem-solving skills
300+
- Community engagement and collaborative spirit
301+
- Quality over quantity in code and documentation
302+
- Passion for open source and helping other developers
303+
304+
### Mentorship Style
305+
306+
Our mentors will:
307+
308+
- Provide regular feedback and guidance (minimum 3 hours per week)
309+
- Help you navigate the codebase and community
310+
- Review your work and suggest improvements
311+
- Be available on Discord for questions
312+
- Conduct weekly check-ins to track progress
313+
314+
We expect contributors to:
315+
316+
- Communicate proactively about progress and blockers
317+
- Participate actively in the Pycord community
318+
- Write clean, documented code following our style guidelines
319+
- Be open to feedback and willing to iterate
320+
321+
---
322+
323+
## Questions?
324+
325+
If you have any questions about these projects or GSoC in general:
326+
327+
- Join our Discord: [discord.gg/pycord](https://discord.gg/pycord)
328+
- Email us at [admin@pycord.dev](mailto:admin@pycord.dev)
329+
- Read more about GSoC [summerofcode.withgoogle.com](https://summerofcode.withgoogle.com/)
330+
331+
We look forward to reading your applications!

src/scss/main.scss

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,10 @@ body {
236236
width: 2.7em;
237237
}
238238

239+
.hidden {
240+
display: none !important;
241+
}
242+
239243
@font-face {
240244
font-family: Whitney;
241245
font-weight: 300;

0 commit comments

Comments
 (0)