Markdown Converter
Agent skill for markdown-converter
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Sign in to like and favorite skills
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
MiniOS is an educational operating system project supporting ARM64 and x86-64 architectures. The project follows a phased development approach with 7 main phases, currently at Phase 6 (75% complete) - Shell and User Interface. Phase 5 (File System) is complete with SFS achieving 100% feature parity with RAMFS. This is a learning OS designed to demonstrate core OS concepts clearly.
# Quick dashboard view ./project_dashboard.sh # Detailed status ./project_status.sh # List all issues gh issue list --repo ahmad-luqman/build-your-own-os # List high priority issues gh issue list --label "high-priority" --state open # List bugs gh issue list --label "bug" --state open
# Create a new issue gh issue create --title "Title" --body "Description" --label "bug,shell,high-priority" # View an issue gh issue view <number> # Edit an issue (add labels) gh issue edit <number> --add-label "in-progress" # Assign issue to yourself gh issue edit <number> --add-assignee @me # Close an issue when complete gh issue close <number> --comment "Fixed in commit <hash>" # Reopen an issue gh issue reopen <number>
# Add issue to project gh project item-add 9 --owner ahmad-luqman --url https://github.com/ahmad-luqman/build-your-own-os/issues/<number> # View project open https://github.com/users/ahmad-luqman/projects/9
Issues are organized with the following labels:
Priority Labels:
high-priority - Critical issues needing immediate attentionmedium-priority - Important but not urgentlow-priority - Nice to have improvementsType Labels:
bug - Something isn't workingfeature - New functionalityenhancement - Improvements to existing featuresdocumentation - Documentation updatestesting - Test-related tasksComponent Labels:
shell - Shell/CLI relatedsfs - SFS filesystemmemory - Memory managementperformance - Performance optimizationsPhase Labels:
phase-5 - File Systemphase-6 - User Interfacephase-7 - Polish & DocumentationWhen starting work, check these first:
Use:
gh issue list --label "bug" --state open or ./project_dashboard.sh
Starting Work on an Issue:
# Pick an issue gh issue list --label "bug" --state open # Assign to yourself gh issue edit <number> --add-assignee @me # Add in-progress label gh issue edit <number> --add-label "in-progress" # Create a branch (optional) git checkout -b issue-<number>-description
During Development:
# Comment on progress gh issue comment <number> --body "Working on fix, found that..." # Link commits by mentioning issue git commit -m "Fix: Description (#<number>)"
Completing an Issue:
# Close with comment gh issue close <number> --comment "Fixed in commit <hash>" # Or close via commit message git commit -m "Fixes #<number>: Description"
The following helper scripts are available:
./project_dashboard.sh - Visual dashboard of project status./project_status.sh - Detailed status report./setup_github_labels.sh - Create/update labels (only run once)./setup_github_project.sh - Initial project setup (already complete)# Build for ARM64 (default) make # Build for x86-64 make ARCH=x86_64 # Clean build artifacts make clean # Build and test in VM make test # Build debug version with symbols and logging make DEBUG=1 # Display build information make info # Quick build and test make quick-test
# Phase-specific testing ./tools/test-phase1.sh # Phase 1 foundation testing ./tools/test-phase3.sh # Phase 3 memory testing ./tools/test-phase4.sh # Phase 4 system services testing # Multi-phase testing ./test_phases.sh # Test all completed phases ./test_all_phases.sh # Comprehensive testing ./demo_phases_12.sh # Demo phases 1-2 # Debug session make debug # Start debug session
tools/build/arch-*.mksrc/ ├── arch/ # Architecture-specific code (arm64/, x86_64/) ├── boot/ # Bootloader implementations ├── kernel/ # Core kernel functionality ├── drivers/ # Device drivers (uart/, timer/, interrupt/) ├── fs/ # File system implementations (vfs/, sfs/, block/, ramfs/) ├── shell/ # Shell implementation (core/, commands/, parser/, advanced/) └── userland/ # User space applications and libraries
Phase 6 In Progress (75% Complete) - Shell and User Interface
| operatorThe build system automatically selects appropriate toolchains:
aarch64-elf-gcc, aarch64-elf-ld, aarch64-elf-asx86_64-elf-gcc, x86_64-elf-ld, nasmMakefile: Main build configurationsrc/kernel/kernel.h: Core kernel structures and interfacessrc/include/: Central header definitionsdocs/ARCHITECTURE.md: Detailed system architecturedocs/BUILD.md: Build system documentationsvc #0 instruction, arguments in x0-x5, return in x0syscall instruction, arguments in rdi, rsi, rdx, rcx, r8, r9, return in rax/ (root), not /ramfscommand1 | command2command < input and command > outputUse
make DEBUG=1 for:
src/kernel/src/arch/<arch>/src/drivers/ with appropriate abstractionssrc/userland/ and update Makefile targetsFixes #<number> or Related to #<number>Run
./project_dashboard.sh to see current priorities
Check for assigned issues:
gh issue list --assignee @me
Look for bugs first:
gh issue list --label "bug" --state open
Ensure tests pass:
make test
IMPORTANT: this context may or may not be relevant to your tasks. You should not respond to this context unless it is highly relevant to your task.