Compare commits
5 Commits
61af5bb313
...
e8fa7e1f28
| Author | SHA1 | Date | |
|---|---|---|---|
| e8fa7e1f28 | |||
| 1cf39a70cf | |||
| bbd7d3725b | |||
| f3ef92be4f | |||
| 34e24c9979 |
41
.devcontainer/Dockerfile
Normal file
41
.devcontainer/Dockerfile
Normal file
@@ -0,0 +1,41 @@
|
||||
# ClaudeOS build environment
|
||||
#
|
||||
# Provides everything needed to build and test a bare-metal i386 kernel:
|
||||
# - Clang + LLD for cross-compilation to i386-elf
|
||||
# - GRUB 2 tools for generating bootable ISO and floppy images
|
||||
# - QEMU (i386) for running integration tests
|
||||
# - CMake + Ninja for the build system
|
||||
# - xorriso and mtools used internally by grub-mkrescue / grub-mkimage
|
||||
|
||||
FROM alpine:3.23
|
||||
|
||||
RUN apk add --no-cache \
|
||||
# Core build tools
|
||||
clang \
|
||||
lld \
|
||||
cmake \
|
||||
ninja \
|
||||
make \
|
||||
git \
|
||||
# GRUB image generation
|
||||
grub \
|
||||
xorriso \
|
||||
mtools \
|
||||
# QEMU for running the OS
|
||||
qemu-system-i386 \
|
||||
# Handy utilities
|
||||
file \
|
||||
ca-certificates
|
||||
|
||||
# Verify the cross-compilation toolchain can produce an i386-elf binary.
|
||||
# Compile and link separately so ld.lld is invoked directly, avoiding the
|
||||
# host gcc linker driver (which rejects -m32 on non-x86 hosts such as aarch64).
|
||||
RUN echo 'void _start(void){for(;;)__asm__("hlt");}' > /tmp/test.c \
|
||||
&& clang -v -target i386-elf -march=i386 -ffreestanding -fno-stack-protector \
|
||||
-c /tmp/test.c -o /tmp/test.o \
|
||||
&& ld.lld -m elf_i386 -e _start --nostdlib /tmp/test.o -o /tmp/test.elf \
|
||||
&& file /tmp/test.elf | grep -q "ELF 32-bit.*386" \
|
||||
&& echo "Toolchain OK" \
|
||||
&& rm /tmp/test.c /tmp/test.o /tmp/test.elf
|
||||
|
||||
WORKDIR /workspaces/claude-os
|
||||
24
.devcontainer/devcontainer.json
Normal file
24
.devcontainer/devcontainer.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"name": "ClaudeOS Dev",
|
||||
"build": {
|
||||
"dockerfile": "Dockerfile",
|
||||
"context": ".."
|
||||
},
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": [
|
||||
"ms-vscode.cmake-tools",
|
||||
"ms-vscode.cpptools",
|
||||
"ms-vscode.cpptools-extension-pack"
|
||||
],
|
||||
"settings": {
|
||||
"cmake.generator": "Ninja",
|
||||
"cmake.configureSettings": {
|
||||
"CMAKE_TOOLCHAIN_FILE": "${workspaceFolder}/cmake/toolchain-i386-clang.cmake"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"postCreateCommand": "echo 'ClaudeOS devcontainer ready!'",
|
||||
"remoteUser": "root"
|
||||
}
|
||||
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
build/
|
||||
*.iso
|
||||
*.img
|
||||
8
HUMAN.md
8
HUMAN.md
@@ -3,12 +3,14 @@ This document describes which files are written fully by humans, which had human
|
||||
|
||||
## Fully Human
|
||||
The following files were written completely by humans:
|
||||
- HUMAN.md
|
||||
- README.md
|
||||
- `HUMAN.md`
|
||||
- `README.md`
|
||||
- Everything in `vendor/`. While we don't actually know if it was written by humans, certainly the AI used for this project has not touched it.
|
||||
|
||||
## Partially Human
|
||||
The following files were written partially by humans:
|
||||
The following files were written partially by humans or was generated by an AI and was later edited:
|
||||
|
||||
- `.devcontainer/Dockerfile`
|
||||
|
||||
## Fully AI
|
||||
Any file not in the above two categories were completely written by an AI without a human manually editing the file afterwards.
|
||||
7
PROMPT.md
Normal file
7
PROMPT.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Prompt
|
||||
|
||||
The following prompt was given to GitHub Copilot (Claude Sonnet 4.6) on 23 February 2026:
|
||||
|
||||
> Please implement the task list in this readme
|
||||
|
||||
The task list referred to is the one found in README.md, which describes how to build ClaudeOS — an AI-built operating system written in C, targeting 80386 hardware, providing a UNIX-like shell environment.
|
||||
@@ -32,7 +32,7 @@ The source code uses the following directory structure:
|
||||
|
||||
# Task list
|
||||
An AI implementing this operating system should implement features in this order.
|
||||
After each feature, it should create a new Git commit.
|
||||
After each feature, it should create a new Git commit and push the commit.
|
||||
The git commit should describe what is done and why certain choices were made.
|
||||
The title of the commit should always end with (AI), to indicate that it was written by an AI.
|
||||
|
||||
|
||||
0
apps/.gitkeep
Normal file
0
apps/.gitkeep
Normal file
0
docs/.gitkeep
Normal file
0
docs/.gitkeep
Normal file
0
libs/.gitkeep
Normal file
0
libs/.gitkeep
Normal file
0
src/.gitkeep
Normal file
0
src/.gitkeep
Normal file
0
src/it/.gitkeep
Normal file
0
src/it/.gitkeep
Normal file
0
vendor/.gitkeep
vendored
Normal file
0
vendor/.gitkeep
vendored
Normal file
Reference in New Issue
Block a user