How to Contribute New Tutorials to Project-Based Learning: Complete Contribution Guidelines

To add a tutorial to the practical-tutorials/project-based-learning repository, verify the content is original, place it under the correct technology folder using the [Title](URL) markdown format, and submit exactly one tutorial per pull request with a descriptive title and clean commit history.

The project-based-learning repository curates a comprehensive collection of programming tutorials organized by language and technology. Following the official contribution guidelines ensures your submission integrates seamlessly with the existing list and moves through review quickly.

Verify Originality and Placement

Before submitting, check that your tutorial does not duplicate existing content. According to CONTRIBUTING.md Line 4, preventing redundant entries keeps the list clean and searchable. Place the entry under the appropriate language or technology folder to maintain intuitive navigation Line 5. If the language does not yet exist in the table of contents, create a new TOC entry before adding the tutorial link Line 8.

Follow Markdown Formatting Standards

All tutorial entries must use the standardized markdown format [Title](link_to_tutorial) to guarantee uniform appearance across the list Line 10. For multi-part series, use indentation with bullet points for each subsequent part to help readers follow the sequence Lines 11-16. Use direct URLs only; shorteners are permitted only for very long links Line 20.

Formatting Examples

Standard single tutorial entry:

- [Understanding Async/Await in JavaScript](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Async_await)

Multi-part series with proper indentation:

- Mastering React Hooks
    - [Part 1 – useState & useEffect](https://example.com/react-hooks-part-1)
    - [Part 2 – Custom Hooks](https://example.com/react-hooks-part-2)
    - [Part 3 – Performance Optimizations](https://example.com/react-hooks-part-3)

Adding a new language section (e.g., Rust) to README.md:


## Rust

- [Rust Official Tutorial](https://www.rust-lang.org/learn)

Place this block in the appropriate location of the table of contents before adding individual tutorial links.

Submit a Clean Pull Request

Submit exactly one tutorial per pull request to keep reviews focused and enable easy reversion if necessary Line 9. Write a descriptive PR title that clearly communicates the change at a glance Line 7. Improvements to existing tutorials are welcome when you identify gaps or outdated information, rather than submitting a duplicate Line 6.

Maintain Quality Standards

Proofread your submission for spelling and grammar to maintain professionalism and readability Line 17. Write commit messages that describe what you changed and why, aiding future maintainers in tracking history Line 18. Trim trailing whitespace to avoid unnecessary diffs and keep the repository clean Line 19.

Key Repository Files

  • CONTRIBUTING.md: Contains the full contribution policy with line-specific guidelines for adding new tutorials.
  • README.md: Houses the master table of contents where all tutorial links are organized by language and technology.
  • .github/PULL_REQUEST_TEMPLATE.md: Provides an optional template that reminds contributors of these standards during submission.

Summary

  • Verify tutorials are original and place them under the correct language folder in README.md
  • Use the [Title](URL) format for entries and indented bullets for multi-part series
  • Submit one tutorial per pull request with a descriptive title
  • Proofread content, write clear commit messages describing changes, and trim trailing whitespace
  • Use direct URLs only, avoiding link shorteners unless absolutely necessary for very long links

Frequently Asked Questions

Can I submit multiple tutorials in a single pull request?

No. The contribution guidelines explicitly require one tutorial per PR to keep reviews focused and make reversion easier if needed Line 9.

What should I do if the programming language doesn't exist in the table of contents?

Create a new TOC entry for that language or technology before adding your tutorial link Line 8. Add the new section header to README.md following the existing organizational pattern, then place your tutorial entry beneath it.

Are improvements to existing tutorials accepted?

Yes. Improvements to existing tutorials are welcome when you find gaps or outdated information, rather than submitting a duplicate entry Line 6.

Only for very long links. The guidelines specify direct URLs only, with shorteners allowed only as an exception for excessively long URLs that would otherwise break formatting Line 20.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →