Skip to content

Conversation

vinc
Copy link
Owner

@vinc vinc commented Jun 14, 2025

WIP

@vinc
Copy link
Owner Author

vinc commented Jun 14, 2025

The first commits where vibe coded with Claude Sonnet 4 to test this new way of producing code. The result is not perfect and will need to be refactored to fit into the project but I'm surprised that it's actually working!

@ViktorPopp
Copy link

Aaarrrgghhh. Vibe coder! /s

@vinc
Copy link
Owner Author

vinc commented Jun 14, 2025

After one evening and the next morning vibe coding a libc for MOROS the result is pretty good! There's a major issue with memory corruption that showed up a few times that will need to be investigated again (it's not a new issue).

I'll do a few more sessions but I'm burning the available prompts and tokens pretty fast, then I'll need to review, really understand, and refactor everything before merging this PR. The current generation of models is getting pretty good for bootstrapping new features it seems.

One more step toward running DOOM inside MOROS 🎉

@vinc
Copy link
Owner Author

vinc commented Jun 14, 2025

> libc-test

running 23 tests
test moros::libc::string::test_string_length ... ok
test moros::libc::string::test_string_copy ... ok
test moros::libc::string::test_string_concatenation ... ok
test moros::libc::string::test_string_comparison ... ok
test moros::libc::string::test_string_search ... ok
test moros::libc::string::test_string_tokenization ... ok
test moros::libc::string::test_manual_duplication ... ok
test moros::libc::memory::test_memory_functions ... ok
test moros::libc::memory::test_memory_allocation ... ok
test moros::libc::memory::test_advanced_memory ... ok
test moros::libc::stdlib::test_qsort_basic ... ok
test moros::libc::stdlib::test_qsort_edge_cases ... ok
test moros::libc::stdio::test_file_operations ... ok
test moros::libc::stdio::test_printf_formatting ... ok
test moros::libc::dirent::test_directory_operations ... ok
test moros::libc::libgen::test_path_manipulation ... ok
test moros::libc::time::test_time_functions ... ok
test moros::libc::time::test_time_conversion ... ok
test moros::libc::errno::test_error_handling ... ok
test moros::libc::unistd::test_system_info ... ok
test moros::libc::stat::test_file_stats ... ok
test moros::libc::stdlib::test_math_conversion ... ok
test moros::libc::ctype::test_character_classification ... ok

test result: ok. 23 passed; 0 failed

@ViktorPopp
Copy link

One more step toward running DOOM inside MOROS 🎉

I think you will need a framebuffer first.

Also why are you using Claude?!?!?

Please don't turn this beautiful codebase into vibe coded spaghetti!!!

@vinc
Copy link
Owner Author

vinc commented Jun 15, 2025

I think you will need a framebuffer first.

There is one available already exactly for that purpose! Have a look at #687, #688, and #689.

Also why are you using Claude?!?!?

The best model keep changing with every new release, last week it was Google Gemini 2.5 Flash/Pro, and now it seems to be Claude Sonnet/Opus 4...

Please don't turn this beautiful codebase into vibe coded spaghetti!!!

Don't worry, I'm not going to merge this giant PR any time soon, if ever, at least not until the code is mine and perfectly integrated with the rest of the code base!

My main goal for MOROS is to build a personal hobby OS that can be fully understood by one single person to serve as an example or starting point for other personal hobby OSes, if the code complexity increase because of generated code (5k lines in less than 24h in that PR!) then the goal will be missed.

At the same time it's a good project to test this new way of producing code, and I'm not a C programmer so this was the perfect topic, hence this PR to experiment in the open in full transparency as always!

@vinc vinc added the experiment Experiment that might never be merged label Jun 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
experiment Experiment that might never be merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants