VCS inspired by Git.
Project description
🌲 Codetrail: Where Code Goes Hiking
🤔 What's This All About?
Welcome to the learning experience! First things first: Codetrail is not trying to be the next Git. Heck, we're actually using Git as our version control system. We're just crazy enough to build our own distributed version control system from scratch because... why not?
💡 The Mission
We're here to prove that with:
- A dangerous amount of curiosity
- Caffeine (lots of it)
- Sheer, unadulterated determination
- And perhaps a slight dash of madness
You can build a distributed version control system from the ground up. Is it practical? Probably not. Is it educational? Absolutely! Will it be fun? You bet your last semicolon it will be!
📑 Design & Documentation
RFCs (Request for Comments)
We believe in learning by doing, but also in documenting why we did what we did. Each major feature comes with its own RFC in the /docs/rfcs directory. These RFCs explain our thinking, design decisions, and implementation details.
Current RFCs:
- RFC-001: Codetrail Initialize Command
- More to come as we build this thing!
Want to contribute a new feature? Start by reading our existing RFCs to understand our design philosophy, then draft your own RFC before diving into code. We promise to read it, even if it's written on a napkin (digital napkins preferred).
🗺️ Roadmap (Or: How We're Building This Thing)
Phase 1: Baby Steps 🐣
- Project setup (You're looking at it!)
-
init- Because every journey needs a starting point. (CODETRAIL001) -
config- Local config only (we're keeping it simple, folks) -
add- Teachingcodetrailwhich files to track -
commit- Making our first memories together
Phase 2: Walking Steadily 🚶
-
status- Finding out what's going on -
log- A trip down memory lane -
branch- Because sometimes we need parallel universes -
checkout- Time travel between branches
Phase 3: Starting to Run 🏃
-
merge- Bringing parallel universes together -
reset- For when we mess up (it happens) -
revert- For when we mess up but want to be fancy about fixing it - Basic conflict resolution (pray we don't need this)
Future Dreams 💭
- Remote repository support
- Push/pull mechanisms
- Interactive rebase (because we're ambitious)
- Whatever cool feature you suggest!
🎯 What Makes Codetrail Different?
Unlike other VCS projects that try to compete with Git, we're here to:
- Learn how Git's magic actually works
- Break things (intentionally, of course)
- Fix those things (eventually)
- Document every "aha!" and "oh no!" moment
- Share the journey with fellow code adventurers
🚀 Getting Started
Prerequisites
- Python 3.8 or higher
- poetry (Python package manager)
Basic Usage
# From PyPI
pip install codetrail
# For development
git clone https://github.com/mochams/codetrail
cd codetrail
poetry install
# Run to see supported commands
codetrail --help
# Run to see usage of a particular command e.g init
codetrail init --help
# Run your command. e.g init
codetrail init
🤝 Contributing
Found a bug? That's probably a feature! But if you insist, here's how you can help:
Before You Start
- Check out our RFCs in
/docs/rfcsto understand our design decisions - Browse through existing issues and pull requests
- For new features, consider writing an RFC first
Development Process
- Clone the repo
- Create your feature branch
- Write tests (yes, we're that serious)
- Commit your changes
- Push to the branch
- Open a Pull Request
RFC Process
- Check existing RFCs to avoid duplication
- Use the RFC template in
/docs/rfcs/Template.md - Submit RFC as a pull request
- Engage in discussion with maintainers
- Once approved, implement away!
👀 Watching the Project
Interested in following our journey? Here's how to stay updated:
- ⭐ Star the repository to show your support
- 👀 Watch the repository for all activity
- 🔔 Follow releases for major updates
- 📖 Check our Wiki for learning resources and documentation
⚠️ Warning
If you're looking for a production-ready VCS, you might want to stick with Git. If you're looking for an adventure in code that might occasionally explode in your face (in a good way), you're in the right place!
Made with ❤️ and excessive amounts of ☕
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file codetrail-0.3.0.tar.gz.
File metadata
- Download URL: codetrail-0.3.0.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.5 CPython/3.12.8 Linux/6.5.0-1025-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0eff35b60b1770cf8eb53524c5df6f47e60a93982d143f8769454a5e343fb7a2
|
|
| MD5 |
e8834b890515678e880c7039c9c559fd
|
|
| BLAKE2b-256 |
3b2513366fe0a1698fdf04803b29d15274615d92da93ee2543b1a11497716bae
|
File details
Details for the file codetrail-0.3.0-py3-none-any.whl.
File metadata
- Download URL: codetrail-0.3.0-py3-none-any.whl
- Upload date:
- Size: 15.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.5 CPython/3.12.8 Linux/6.5.0-1025-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5fc508f6ce40e7befa6953f49a218b41182e7776735be618c05b417b9ef2151b
|
|
| MD5 |
69cf5234453811165b49f1ba9de3041b
|
|
| BLAKE2b-256 |
caedbe63d390d7da9446ddbd830fbca468d7ba78ff70777d9ecc2424b7d03a74
|