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
|
## Fully Human
|
||||||
The following files were written completely by humans:
|
The following files were written completely by humans:
|
||||||
- HUMAN.md
|
- `HUMAN.md`
|
||||||
- README.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.
|
- 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
|
## 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
|
## Fully AI
|
||||||
Any file not in the above two categories were completely written by an AI without a human manually editing the file afterwards.
|
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
|
# Task list
|
||||||
An AI implementing this operating system should implement features in this order.
|
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 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.
|
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