chore: update repository structure and migrate to new remote

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
2025-10-24 08:50:34 -05:00
parent 89a6ffeacc
commit 0be53180c8
31 changed files with 320 additions and 1318 deletions

131
AGENTS.md
View File

@@ -1,118 +1,33 @@
# AIOS-Public Agents
We use GItea exclusively as our docker registry, CI system, git repository and any other package repository needs.
Use conventional commits. Make them beautiful.
Commit frequently and use atomic commits
This document tracks the various agents, tools, and systems used in the AIOS-Public project.
A project may have a collab/rules directory with files such as
## Documentation Tools
SECURITY.md
RELEASE.md
GITFLOW.md
### RCEO-AIOS-Public-Tools-DocMaker Container Family
Those need to be followed for the project.
**Purpose**: Documentation generation containers with multiple document conversion tools, organized in a layered architecture.
Otherwise use best common practices for project/release management, security, compliance, accesibility, internationaliztion etc.
**Container/Stack Names**:
- RCEO-AIOS-Public-Tools-DocMaker-Base: Base documentation environment
- RCEO-AIOS-Public-Tools-DocMaker-Light: Lightweight documentation tools (fast-starting)
- RCEO-AIOS-Public-Tools-DocMaker-Full: Full documentation with LaTeX-full
- RCEO-AIOS-Public-Tools-DocMaker-Computational: All documentation tools plus computational tools (R, Python, Jupyter, Octave)
**Technology Stack**:
- Base: Debian Bookworm slim
- Bash
- Python 3
- Node.js
- Rust (with Cargo)
- Pandoc
- LaTeX (varies by container: light packages in base/full in full)
- mdBook (installed via Cargo)
- mdbook-pdf (installed via Cargo)
- Typst
- Marp CLI
- Wandmalfarbe pandoc-latex-template: Beautiful Eisvogel LaTeX template for professional PDF generation
- Spell/Grammar checking:
- Hunspell (with en-US dictionary)
- Aspell (with en dictionary)
- Vale (style and grammar linter)
- Reading time estimation: mdstat
- Additional text processing tools
- Computational tools in Computational container:
- R programming language
- Python scientific stack (pandas, numpy, matplotlib, scipy)
- Jupyter notebooks
- GNU Octave
- bc (command-line calculator)
Usew the git details found in collab/.env , never attribute git commits to a non human or system entity.
Don't do any git push, just commit to the local repository.
Keep the top level of the repository clean (collab and output directories only). Anything needed for CI/CD
**Usage**:
- Use Light container for quick documentation tasks (COO mode)
- Use Full container for complex document generation (COO mode)
- Use Computational container for data analysis and R&D work (CTO mode)
- Base container serves as foundation for other containers
The AI manages the output directory as it sees fit. The exact structure depends on the project, but generally it would be something like:
**Docker Configuration**:
- Located in the `Docker/` directory
- Each container has its own subdirectory with Dockerfile and docker-compose.yml
- Maps the project root directory to `/workspace` inside the container
- Uses UID/GID mapping for proper file permissions across environments
- Can be run with `docker-compose up` from each container's directory
output/
tests/
docs/
code/
frontend/
backend/
etc
**Container Usage Map**:
- Light container: COO mode, quick documentation tasks (CV, proposals, governance docs)
- Full container: COO mode, complex document generation with LaTeX-full
- Computational container: CTO mode, data analysis and R&D work (R, Python, Jupyter)
The human and the AI communicate in the collab/ directory tree.
Use a strict workflow of
**Commands to run**:
# Using the wrapper script (recommended - handles UID/GID automatically):
```bash
# Build and start the lightweight container (COO mode)
cd Docker/RCEO-AIOS-Public-Tools-DocMaker-Light
./docker-compose-wrapper.sh up --build
# Build and start the full documentation container (COO mode)
cd Docker/RCEO-AIOS-Public-Tools-DocMaker-Full
./docker-compose-wrapper.sh up --build
# Build and start the computational container (CTO mode)
cd Docker/RCEO-AIOS-Public-Tools-DocMaker-Computational
./docker-compose-wrapper.sh up --build
# Run commands in containers with automatic user mapping:
./docker-compose-wrapper.sh run docmaker-light [command] # Light container
./docker-compose-wrapper.sh run docmaker-full [command] # Full container
./docker-compose-wrapper.sh run docmaker-computational [command] # Computational container
```
# Using docker-compose directly (requires manual environment variables):
```bash
# Set environment variables for proper file permissions
export LOCAL_USER_ID=$(id -u)
export LOCAL_GROUP_ID=$(id -g)
# Build and start containers
cd Docker/RCEO-AIOS-Public-Tools-DocMaker-Light
docker-compose up --build
# Example usage of documentation tools with wrapper script:
# Spell checking with hunspell
./docker-compose-wrapper.sh run docmaker-full hunspell -d en_US document.md
# Create timeline with Markwhen (not currently available)
# This will be enabled when Markwhen installation issue is resolved
# ./docker-compose-wrapper.sh run docmaker-full markwhen input.mw --output output.html
# Grammar/style checking with Vale
./docker-compose-wrapper.sh run docmaker-full vale document.md
# Reading time estimation
./docker-compose-wrapper.sh run docmaker-full python3 -m mdstat document.md
# Run R analysis (in computational container)
./docker-compose-wrapper.sh run docmaker-computational Rscript analysis.R
# Run Python analysis (in computational container)
./docker-compose-wrapper.sh run docmaker-computational python analysis.py
# Check spelling with aspell
./docker-compose-wrapper.sh run docmaker-full aspell -c document.md
```
**User Management**: All containers run as non-root user `ReachableCEO-Tools` with UID/GID mapping from the host environment to ensure proper file permissions.
questions ->

141
AUDIT1.md Normal file
View File

@@ -0,0 +1,141 @@
# GUIDEBOOK Audit #1
Date: October 16, 2025
## Summary
Comprehensive review of the GUIDEBOOK directory and its contents conducted to identify areas for improvement and optimization.
## TODO Tracking
### Completed
- [x] Fixed typos in AboutMe.md
- [x] Updated AgentRules.md to remove reference to collab directory and improve formatting
- [x] Created GUIDEBOOK/README.md as central navigation document
### In Progress
- [ ] Enhance StartHere.md with more structured guidance
- [ ] Standardize formatting across all GUIDEBOOK files
- [ ] Add last-updated timestamps to documents
- [ ] Consider implementing document status tracking
### Deferred
- [ ] Update TSYS.md with current business entity information (will be updated later with detailed entity info)
## Files Reviewed
1. `AboutMe.md` - Personal information and background
2. `AgentRules.md` - Operational guidelines for agents
3. `ArchitecturalApproach.md` - Technical architecture patterns
4. `StartHere.md` - Onboarding and repository purpose
5. `TSYS.md` - Business entity information
## Analysis and Improvement Suggestions
### 1. Overall Structure & Organization
**Current State**: The GUIDEBOOK contains 5 files with different purposes but lacks a cohesive structure or navigation system.
**Suggested Improvements**:
- Add a main `README.md` or `INDEX.md` file in the GUIDEBOOK directory that serves as a table of contents and entry point
- Create cross-links between related documents
- Consider organizing files by function (Personal, Technical, Business) if the number of files grows
### 2. AboutMe.md - Personal Information
**Issues**:
- Contains outdated information (relocation to Raleigh NC in April 2026 is now in the past)
- Informal tone and formatting
- Missing important professional details
- Contains typos ("entrepenuer", "soverignity", "streamlne")
**Suggested Improvements**:
- Standardize formatting with consistent headers
- Update or remove time-sensitive information
- Add professional skills, technical expertise, and areas of focus
- Include contact methods or communication preferences
- Add a section on current projects or focus areas
- Proofread and fix typos
### 3. AgentRules.md - Operational Guidelines
**Strengths**:
- Clear workflow pattern (Question -> Proposal -> Plan -> Prompt -> Implementation)
- Good technical guidelines for Docker containers
- Clear expectations about communication style
**Issues**:
- Mixed formatting and inconsistent structure
- Contains a rule about the collab directory that is now removed
- Some rules are quite detailed while others are brief
- The title "This file is rules for you to follow" is informal
**Suggested Improvements**:
- Restructure as a proper markdown document with clear sections
- Update the rules to reflect the current architecture (remove collab reference)
- Add more specific examples where needed
- Create a more professional title like "Agent Interaction Guidelines"
- Possibly break this into multiple focused documents if it grows larger
- Add sections on error handling, rollback procedures, and testing expectations
### 4. ArchitecturalApproach.md - Technical Architecture
**Strengths**:
- Well-structured with clear sections
- Comprehensive coverage of architectural principles
- Good technical details about security and operations
**Issues**:
- Could benefit from more specific examples
- Some sections could be expanded with implementation details
- Could include more discussion of trade-offs or considerations
**Suggested Improvements**:
- Add diagrams or visual representations where helpful
- Include specific examples of good vs. bad implementations
- Add sections on monitoring, logging, and observability
- Include guidance on when to use each architectural pattern
- Add a section on migration patterns for existing systems
### 5. StartHere.md - Onboarding Guide
**Strengths**:
- Clear explanation of the repository's purpose as a template
- Good metaphor of a "home directory" for project launch
**Issues**:
- Could be more comprehensive in terms of onboarding
- Lacks specific instructions on next steps
- Could benefit from a more structured approach
**Suggested Improvements**:
- Add a step-by-step onboarding process
- Include links to important resources
- Add information about repository structure and navigation
- Include guidelines on when and how to copy/clone the template
- Add troubleshooting section for common setup issues
### 6. TSYS.md - Business Information
**Issues**:
- Contains outdated information (2026 dates are now in the past)
- Complex organizational structure that's hard to follow
- Technical jargon that may not be clear to all readers
- Formatting needs improvement for readability
**Suggested Improvements**:
- Update or remove time-sensitive information
- Create a clearer organizational chart or hierarchy
- Add a glossary of terms for the various entities
- Include mission statement and core values more prominently
- Add timelines for current initiatives and status updates
- Simplify the explanation of the digital divide solution
### 7. Cross-cutting Improvements
**Consistency**:
- Standardize the format and style across all GUIDEBOOK files
- Use consistent header levels and formatting
- Implement a consistent terminology throughout
- Consider implementing versioning for important policy documents
**Maintainability**:
- Add last-updated timestamps to each document
- Create a document for change management procedures
- Consider implementing document status (draft, active, deprecated)
**Integration**:
- Add cross-references between related documents
- Create a central index or navigation system
- Consider linking to external resources or related documents

15
AboutMe.md Normal file
View File

@@ -0,0 +1,15 @@
My full name is Charles N Wyble. I use the online handle @ReachableCEO.
I am a strong believer in digital data sovereignty. I am a firm practitioner of self hosting (using Cloudron on a netcup VPS and soon Coolify on another Cloudron VPS).
I am 41 years old.
I am a Democrat and believe strongly in the rule of law and separation of powers.
I actively avoid the media.
I am a solo entrepreneur creating an ecosystem of entities called TSYS Group. (Please see TSYS.md for more on that)
My professional background is in production technical operations since 2002.
I use many command line AI agents (Codex, Coder, Qwen, Gemini) and wish to remain agent agnostic at all times.
I am located in the United States of America. As of October 2025 I am located in central Texas.
I will be relocating to Raleigh North Carolina in April 2026.
I want to streamline my life using AI and relying on it for all aspects of my professional, knowledge worker actions.
I prefer relaxed but professional engagement and don't want to be flattered.
---
*Last updated: October 16, 2025*

View File

@@ -1,26 +1,35 @@
This file is rules for you to follow
# Agent Interaction Guidelines
This document outlines the operational guidelines for AI agents working within the AIOS-Public system.
Always refer to me as Charles. Do not ever refer to me as "the human" or "the user" please.
Do not be a sychophant
Avoid fluff in your responses
## Personal Interaction Guidelines
Use this pattern for workflows:
Always refer to me as Charles. Do not ever refer to me as "the human" or "the user" please.
Do not be a sycophant.
Avoid fluff in your responses.
Question -> Proposal -> Plan -> Prompt -> Implementation
## Workflow Pattern
Use this pattern for all workflows:
**Question -> Proposal -> Plan -> Prompt -> Implementation**
Expanding on that:
## Technical Guidelines
Additional Rules:
### Docker Container Management
- When working with Docker containers, minimize root usage as much as possible. Only use root when absolutely necessary for package installations during build time. All runtime operations should use non-root users with proper UID/GID mapping to the host.
- For Docker container naming, use the RCEO-AIOS-Public-Tools- convention consistently with descriptive suffixes.
- Create thin wrapper scripts that detect and handle UID/GID mapping to ensure file permissions work across any host environment.
### Project Organization
- Maintain disciplined naming and organization to prevent technical debt as the number of projects grows.
- Keep the repository root directory clean. Place all project-specific files and scripts in appropriate subdirectories rather than at the top level.
- Follow the architectural approach: layered container architecture (base -> specialized layers), consistent security patterns (non-root user with UID/GID mapping), same operational patterns (wrapper scripts), and disciplined naming conventions.
### Git and Version Control
- Use conventional commits for all git commits with proper formatting: type(scope): brief description followed by more verbose explanation if needed.
- Commit messages should be beautiful and properly verbose, explaining what was done and why.
- Use the LLM's judgment for when to push and tag - delegate these decisions based on the significance of changes.
- All projects should include a collab/ directory with subdirectories: questions, proposals, plans, prompts, and audit.
- Follow the architectural approach: layered container architecture (base -> specialized layers), consistent security patterns (non-root user with UID/GID mapping), same operational patterns (wrapper scripts), and disciplined naming conventions.
---
*Last updated: October 16, 2025*

View File

@@ -1,86 +0,0 @@
FROM debian:bookworm-slim
# Avoid prompts from apt
ENV DEBIAN_FRONTEND=noninteractive
# Install base packages
RUN apt-get update && apt-get install -y \
bash \
curl \
wget \
git \
python3 \
python3-pip \
nodejs \
npm \
build-essential \
sudo \
&& rm -rf /var/lib/apt/lists/*
# Create symbolic link for python
RUN ln -s /usr/bin/python3 /usr/bin/python
# Install Rust (for root - will be accessible to user)
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
ENV PATH="/root/.cargo/bin:${PATH}"
# Install Pandoc
RUN apt-get update && apt-get install -y \
pandoc \
&& rm -rf /var/lib/apt/lists/*
# Install lightweight LaTeX
RUN apt-get update && apt-get install -y \
texlive-latex-base \
texlive-fonts-recommended \
texlive-fonts-extra \
&& rm -rf /var/lib/apt/lists/*
# Install mdBook and mdbook-pdf using cargo
RUN /root/.cargo/bin/cargo install --root /usr/local mdbook mdbook-pdf
# Install Typst
RUN curl -L https://github.com/typst/typst/releases/latest/download/typst-x86_64-unknown-linux-musl.tar.xz \
| tar xJ -C /tmp && cp /tmp/typst-x86_64-unknown-linux-musl/typst /usr/local/bin && chmod +x /usr/local/bin/typst
# Install Marp CLI
RUN npm install -g @marp-team/marp-cli
# Install Wandmalfarbe pandoc-latex-template for beautiful PDF generation
RUN git clone --depth 1 https://github.com/Wandmalfarbe/pandoc-latex-template.git /tmp/pandoc-latex-template && \
mkdir -p /root/.local/share/pandoc/templates && \
# Find and copy any .latex template files to the templates directory
find /tmp/pandoc-latex-template -name "*.latex" -exec cp {} /root/.local/share/pandoc/templates/ \; && \
# Also install to system-wide location for all users
mkdir -p /usr/share/pandoc/templates && \
find /tmp/pandoc-latex-template -name "*.latex" -exec cp {} /usr/share/pandoc/templates/ \; && \
rm -rf /tmp/pandoc-latex-template
# Install spell/grammar checking tools
RUN apt-get update && apt-get install -y \
hunspell \
hunspell-en-us \
&& rm -rf /var/lib/apt/lists/*
# Install vale for advanced style and grammar checking
RUN curl -L https://github.com/errata-ai/vale/releases/download/v3.12.0/vale_3.12.0_Linux_64-bit.tar.gz \
| tar xz -C /tmp && cp /tmp/vale /usr/local/bin && chmod +x /usr/local/bin/vale
# Install text statistics tool for reading time estimation
RUN pip3 install --break-system-packages mdstat textstat
# Install additional text processing tools
RUN apt-get update && apt-get install -y \
aspell \
aspell-en \
&& rm -rf /var/lib/apt/lists/*
# Add entrypoint script
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
# Create a working directory
WORKDIR /workspace
# Use the entrypoint script to handle user creation
ENTRYPOINT ["/entrypoint.sh"]

View File

@@ -1,109 +0,0 @@
# RCEO-AIOS-Public-Tools-DocMaker-Base Container
This container is part of the AIOS-Public project and provides a base documentation generation environment.
## Overview
The RCEO-AIOS-Public-Tools-DocMaker-Base container is designed for lightweight documentation generation tasks. It includes a range of tools for creating, converting, and processing documentation in various formats without heavy dependencies like full LaTeX.
## Tools Included
### Core Tools
- **Base OS**: Debian Bookworm slim
- **Shell**: Bash
- **Programming Languages**:
- Python 3
- Node.js
- Rust (with Cargo)
### Documentation Generation
- **Pandoc**: Universal document converter
- **Wandmalfarbe pandoc-latex-template**: Beautiful Eisvogel LaTeX template for professional PDFs
- **mdBook**: Create books from Markdown files
- **mdbook-pdf**: PDF renderer for mdBook
- **Typst**: Modern typesetting system
- **Marp CLI**: Create presentations from Markdown
### LaTeX
- **TeX Live**: Lightweight LaTeX packages for basic document typesetting
### Spell and Grammar Checking
- **Hunspell**: Spell checker (with en-US dictionary)
- **Aspell**: Spell checker (with en dictionary)
- **Vale**: Syntax-aware linter for prose
### Text Analysis
- **mdstat**: Text statistics including reading time estimation
## Usage
### Building the Base Container
```bash
# From this directory
cd /home/localuser/AIWorkspace/AIOS-Public/Docker/RCEO-AIOS-Public-Tools-DocMaker-Base
# Use the wrapper script to automatically detect and set user IDs
./docker-compose-wrapper.sh build
# Or run commands in the base container with automatic user mapping
./docker-compose-wrapper.sh run docmaker-base [command]
# Example: Convert a Markdown file to PDF using pandoc
./docker-compose-wrapper.sh run docmaker-base pandoc input.md -o output.pdf
# Example: Create beautiful PDF using Eisvogel template
./docker-compose-wrapper.sh run docmaker-base pandoc input.md --template eisvogel -o output.pdf
# Example: Create a timeline with Markwhen
./docker-compose-wrapper.sh run docmaker-base markwhen input.mw --output output.html
```
### Using with docker-compose directly
```bash
# Set environment variables and run docker-compose directly
LOCAL_USER_ID=$(id -u) LOCAL_GROUP_ID=$(id -g) docker-compose up --build
# Or export variables first
export LOCAL_USER_ID=$(id -u)
export LOCAL_GROUP_ID=$(id -g)
docker-compose up
```
### Using the wrapper script
```bash
# Build and start the base documentation container with automatic user mapping
./docker-compose-wrapper.sh up --build
# Start without rebuilding
./docker-compose-wrapper.sh up
# View container status
./docker-compose-wrapper.sh ps
# Stop containers
./docker-compose-wrapper.sh down
```
## User ID Mapping (For File Permissions)
The container automatically detects and uses the host user's UID and GID to ensure proper file permissions. This means:
- Files created inside the container will have the correct ownership on the host
- No more root-owned files after container operations
- Works across different environments (development, CI/CD, cloud)
The container detects the user ID from the mounted workspace volume. If needed, you can override the default values by setting environment variables:
```bash
# Set specific user ID and group ID before running docker-compose
export LOCAL_USER_ID=1000
export LOCAL_GROUP_ID=1000
docker-compose up
```
Or run with inline environment variables:
```bash
LOCAL_USER_ID=1000 LOCAL_GROUP_ID=1000 docker-compose up
```
The container runs as a non-root user named `ReachableCEO-Tools` with the detected host user's UID/GID.

View File

@@ -1,75 +0,0 @@
# TODO List for RCEO-AIOS-Public-Tools-DocMaker Containers
This document tracks potential enhancements and tools to be added to the documentation generation container family.
## Container Structure
### RCEO-AIOS-Public-Tools-DocMaker-Base
- Base documentation environment with lightweight tools
- Purpose: Foundation for all other containers
### RCEO-AIOS-Public-Tools-DocMaker-Light
- Lightweight documentation tools (no heavy LaTeX)
- Purpose: Fast-starting documentation tasks (COO mode)
### RCEO-AIOS-Public-Tools-DocMaker-Full
- Full documentation environment with LaTeX-full
- Purpose: Complex document generation (COO mode)
### RCEO-AIOS-Public-Tools-DocMaker-Computational
- All documentation tools plus R, Python, Jupyter, Octave
- Purpose: Computational tasks and analysis (CTO mode)
## Tools Under Consideration
### [Tool Name Placeholder]
**Purpose**: [Purpose of the tool]
**Description**: [Detailed description of what this tool does and how it could benefit the container]
**Technical Details**:
- [Requirements]
- [Installation method]
**Benefits**:
- [How this enhances the container]
**Container**: [Base/Light/Full/Computational]
**Priority**: [High/Medium/Low]
## Completed Items
### Base Container Tools
- ✅ Core system packages (bash, curl, wget, git)
- ✅ Programming languages (Python 3, Node.js, Rust)
- ✅ Pandoc - Universal document converter
- ✅ Wandmalfarbe pandoc-latex-template - Beautiful Eisvogel LaTeX template for professional PDFs
- ✅ mdBook - Create books from Markdown files
- ✅ mdbook-pdf - PDF renderer for mdBook
- ✅ Typst - Modern typesetting system
- ✅ Marp CLI - Create presentations from Markdown
- ⏳ Markwhen - Interactive text-to-timeline tool (installation failed, needs fix)
- ✅ Light LaTeX packages (texlive-latex-base)
- ✅ Spell/grammar checking tools (Hunspell, Aspell, Vale)
- ✅ Text statistics tools (mdstat, textstat)
- ✅ Non-root user management with UID/GID mapping
- ✅ Entrypoint script for runtime user creation
### Full Documentation Container Tools
- ✅ All Base Container tools included
- ✅ Full LaTeX (texlive-full) - for complex document generation
### Computational Container Tools
- ✅ All Full Documentation Container tools included
- ✅ R programming language and common packages
- ✅ Python scientific stack (pandas, numpy, matplotlib, scipy)
- ✅ Jupyter Notebooks with R kernel support
- ✅ GNU Octave
- ✅ Command-line calculator (bc)
### Organizational Improvements
- ✅ Disciplined naming convention using RCEO-AIOS-Public-Tools- prefix
- ✅ Individual directories per container type
- ✅ Proper documentation with individual README files
- ✅ Organized docker-compose files per container
- ✅ Clear separation of COO vs CTO mode containers

View File

@@ -1,67 +0,0 @@
#!/bin/bash
# docker-compose-wrapper.sh - Wrapper script to detect host UID/GID and run docker-compose
set -e # Exit on any error
# Detect the UID and GID of the user that owns the workspace directory (parent directory)
WORKSPACE_DIR="$(cd "$(dirname "$0")/../.." && pwd)"
echo "Detecting user ID from workspace directory: $WORKSPACE_DIR"
if [ -d "$WORKSPACE_DIR" ]; then
DETECTED_USER_ID=$(stat -c %u "$WORKSPACE_DIR" 2>/dev/null || echo 0)
DETECTED_GROUP_ID=$(stat -c %g "$WORKSPACE_DIR" 2>/dev/null || echo 0)
# If detection failed, try current user
if [ "$DETECTED_USER_ID" = "0" ]; then
DETECTED_USER_ID=$(id -u)
DETECTED_GROUP_ID=$(id -g)
fi
else
# Fallback to current user if workspace directory doesn't exist
DETECTED_USER_ID=$(id -u)
DETECTED_GROUP_ID=$(id -g)
fi
echo "Detected USER_ID=$DETECTED_USER_ID and GROUP_ID=$DETECTED_GROUP_ID"
# Set environment variables for docker-compose
export LOCAL_USER_ID=$DETECTED_USER_ID
export LOCAL_GROUP_ID=$DETECTED_GROUP_ID
# Show usage information
echo ""
echo "Usage: $0 [build|up|run <service> <command>|exec <service> <command>|down|ps]"
echo ""
echo "Examples:"
echo " $0 up # Start services"
echo " $0 build # Build containers"
echo " $0 run docmaker-full bash # Run command in container"
echo " $0 down # Stop and remove containers"
echo ""
# Check if docker compose (new format) or docker-compose (old format) is available
if command -v docker &> /dev/null && docker compose version &> /dev/null; then
# Use new docker compose format
if [ $# -eq 0 ]; then
echo "No command provided. Running 'docker compose up'..."
docker compose up
else
# Execute the provided docker compose command
echo "Running: docker compose $*"
docker compose "$@"
fi
elif command -v docker-compose &> /dev/null; then
# Fallback to old docker-compose format
if [ $# -eq 0 ]; then
echo "No command provided. Running 'docker-compose up'..."
docker-compose up
else
# Execute the provided docker-compose command
echo "Running: docker-compose $*"
docker-compose "$@"
fi
else
echo "Error: Neither 'docker compose' nor 'docker-compose' command found."
echo "Please install Docker Compose to use this script."
exit 1
fi

View File

@@ -1,18 +0,0 @@
version: '3.8'
services:
docmaker-base:
build:
context: .
dockerfile: Dockerfile
container_name: RCEO-AIOS-Public-Tools-DocMaker-Base
image: rceo-aios-public-tools-docmaker-base:latest
volumes:
- ../../../:/workspace:rw
working_dir: /workspace
stdin_open: true
tty: true
environment:
- LOCAL_USER_ID=${LOCAL_USER_ID:-1000}
- LOCAL_GROUP_ID=${LOCAL_GROUP_ID:-1000}
user: "${LOCAL_USER_ID:-1000}:${LOCAL_GROUP_ID:-1000}"

View File

@@ -1,49 +0,0 @@
#!/bin/bash
# entrypoint.sh - Entrypoint script to handle user creation and permission setup at runtime
# Set default values if not provided
USER_ID=${LOCAL_USER_ID:-$(id -u 1000)}
GROUP_ID=${LOCAL_GROUP_ID:-$(id -g 1000)}
# In case the environment variables are not set properly, detect them from the workspace volume
if [ "$USER_ID" = "$(id -u 0)" ] || [ "$USER_ID" = "0" ]; then
# Detect the UID and GID of the user that owns the workspace directory
if [ -d "/workspace" ]; then
USER_ID=$(stat -c %u /workspace 2>/dev/null || echo 1000)
GROUP_ID=$(stat -c %g /workspace 2>/dev/null || echo 1000)
else
USER_ID=${LOCAL_USER_ID:-1000}
GROUP_ID=${LOCAL_GROUP_ID:-1000}
fi
fi
echo "Starting with USER_ID=$USER_ID and GROUP_ID=$GROUP_ID"
# Create the group with specified GID
groupadd -f -g $GROUP_ID -o ReachableCEO-Tools 2>/dev/null || groupmod -g $GROUP_ID -o ReachableCEO-Tools
# Create the user with specified UID and add to the group
useradd -f -u $USER_ID -g $GROUP_ID -m -s /bin/bash -o ReachableCEO-Tools 2>/dev/null || usermod -u $USER_ID -g $GROUP_ID -o ReachableCEO-Tools
# Add user to sudo group for any necessary operations
usermod -aG sudo ReachableCEO-Tools 2>/dev/null || true
# Make sure workspace directory exists and has proper permissions
mkdir -p /workspace
chown -R $USER_ID:$GROUP_ID /workspace
# Set up proper permissions for Rust and Cargo (if they exist)
mkdir -p /home/ReachableCEO-Tools/.cargo
chown $USER_ID:$GROUP_ID /home/ReachableCEO-Tools/.cargo
# Set up proper permissions for npm global packages (if they exist)
mkdir -p /home/ReachableCEO-Tools/.npm
chown $USER_ID:$GROUP_ID /home/ReachableCEO-Tools/.npm
# If there are additional arguments, run them as the created user
if [ $# -gt 0 ]; then
exec su -p ReachableCEO-Tools -c "$*"
else
# Otherwise start an interactive bash shell as the created user
exec su -p ReachableCEO-Tools -c "/bin/bash"
fi

View File

@@ -1,42 +0,0 @@
FROM rceo-aios-public-tools-docmaker-full:latest
# Avoid prompts from apt
ENV DEBIAN_FRONTEND=noninteractive
# Install computational tools
RUN apt-get update && apt-get install -y \
r-base \
r-base-dev \
bc \
octave \
&& rm -rf /var/lib/apt/lists/*
# Install Python scientific packages
RUN pip3 install pandas numpy matplotlib scipy jupyter
# Install R packages (commonly used ones)
RUN R -e "install.packages(c('knitr', 'rmarkdown', 'dplyr', 'ggplot2'), repos='https://cran.rstudio.com/')"
# Install IRkernel for R in Jupyter
RUN R -e "install.packages('IRkernel', repos='https://cran.rstudio.com/')"
# Create Jupyter config directory and set up notebook directory
RUN mkdir -p /workspace/notebooks
# Create Jupyter startup script
RUN echo '#!/bin/bash' > /jupyter_start.sh && \
echo '# Install R kernel for Jupyter if R is available' >> /jupyter_start.sh && \
echo 'if command -v R &> /dev/null; then' >> /jupyter_start.sh && \
echo ' R -e "IRkernel::installspec()" 2>/dev/null || true' >> /jupyter_start.sh && \
echo 'fi' >> /jupyter_start.sh && \
echo '# Run Jupyter as the proper user' >> /jupyter_start.sh && \
echo 'exec su -p ReachableCEO-Tools -c "jupyter notebook --ip=0.0.0.0 --port=8888 --no-browser --allow-root --notebook-dir=/workspace/notebooks"' >> /jupyter_start.sh && \
chmod +x /jupyter_start.sh
# Expose Jupyter on port 8888
EXPOSE 8888
# Create a working directory
WORKDIR /workspace
# The entrypoint from the base image handles user creation

View File

@@ -1,100 +0,0 @@
# RCEO-AIOS-Public-Tools-DocMaker-Computational Container
This container is part of the AIOS-Public project and provides a comprehensive documentation and computational environment.
## Overview
The RCEO-AIOS-Public-Tools-DocMaker-Computational container extends the full documentation environment with computational tools for data analysis, scientific computing, and interactive notebooks. It's designed for CTO mode operations involving R&D and computational work.
## Tools Included
Inherits all tools from:
- **RCEO-AIOS-Public-Tools-DocMaker-Full**: All documentation and LaTeX tools
### Computational Tools
- **R Programming Language**: Statistical computing and data analysis
- **Python Scientific Stack**:
- pandas - Data manipulation
- numpy - Numerical computing
- matplotlib - Visualization
- scipy - Scientific computing
- **Jupyter Notebooks**: Interactive computational environments
- **GNU Octave**: Numerical computations (MATLAB alternative)
- **bc**: Command-line calculator
## Usage
### Building the Computational Container
```bash
# From this directory
cd /home/localuser/AIWorkspace/AIOS-Public/Docker/RCEO-AIOS-Public-Tools-DocMaker-Computational
# Use the wrapper script to automatically detect and set user IDs
./docker-compose-wrapper.sh build
# Or run commands in the computational container with automatic user mapping
./docker-compose-wrapper.sh run docmaker-computational [command]
# Example: Run R analysis
./docker-compose-wrapper.sh run docmaker-computational Rscript analysis.R
# Example: Run Python analysis
./docker-compose-wrapper.sh run docmaker-computational python analysis.py
# Example: Convert a Markdown file to beautiful PDF using Eisvogel template
./docker-compose-wrapper.sh run docmaker-computational pandoc input.md --template eisvogel -o output.pdf --pdf-engine=xelatex
# Example: Start Jupyter notebook server
./docker-compose-wrapper.sh up
# Then access at http://localhost:8888
```
### Using with docker-compose directly
```bash
# Set environment variables and run docker-compose directly
LOCAL_USER_ID=$(id -u) LOCAL_GROUP_ID=$(id -g) docker-compose up --build
# Or export variables first
export LOCAL_USER_ID=$(id -u)
export LOCAL_GROUP_ID=$(id -g)
docker-compose up
```
### Using the wrapper script
```bash
# Build and start the computational container with Jupyter access and automatic user mapping
./docker-compose-wrapper.sh up --build
# Start without rebuilding
./docker-compose-wrapper.sh up
# View container status
./docker-compose-wrapper.sh ps
# Stop containers
./docker-compose-wrapper.sh down
```
## User ID Mapping (For File Permissions)
The container automatically detects and uses the host user's UID and GID to ensure proper file permissions. This means:
- Files created inside the container will have the correct ownership on the host
- No more root-owned files after container operations
- Works across different environments (development, CI/CD, cloud)
The container detects the user ID from the mounted workspace volume. If needed, you can override the default values by setting environment variables:
```bash
# Set specific user ID and group ID before running docker-compose
export LOCAL_USER_ID=1000
export LOCAL_GROUP_ID=1000
docker-compose up
```
Or run with inline environment variables:
```bash
LOCAL_USER_ID=1000 LOCAL_GROUP_ID=1000 docker-compose up
```
The container runs as a non-root user named `ReachableCEO-Tools` with the detected host user's UID/GID.

View File

@@ -1,67 +0,0 @@
#!/bin/bash
# docker-compose-wrapper.sh - Wrapper script to detect host UID/GID and run docker-compose
set -e # Exit on any error
# Detect the UID and GID of the user that owns the workspace directory (parent directory)
WORKSPACE_DIR="$(cd "$(dirname "$0")/../.." && pwd)"
echo "Detecting user ID from workspace directory: $WORKSPACE_DIR"
if [ -d "$WORKSPACE_DIR" ]; then
DETECTED_USER_ID=$(stat -c %u "$WORKSPACE_DIR" 2>/dev/null || echo 0)
DETECTED_GROUP_ID=$(stat -c %g "$WORKSPACE_DIR" 2>/dev/null || echo 0)
# If detection failed, try current user
if [ "$DETECTED_USER_ID" = "0" ]; then
DETECTED_USER_ID=$(id -u)
DETECTED_GROUP_ID=$(id -g)
fi
else
# Fallback to current user if workspace directory doesn't exist
DETECTED_USER_ID=$(id -u)
DETECTED_GROUP_ID=$(id -g)
fi
echo "Detected USER_ID=$DETECTED_USER_ID and GROUP_ID=$DETECTED_GROUP_ID"
# Set environment variables for docker-compose
export LOCAL_USER_ID=$DETECTED_USER_ID
export LOCAL_GROUP_ID=$DETECTED_GROUP_ID
# Show usage information
echo ""
echo "Usage: $0 [build|up|run <service> <command>|exec <service> <command>|down|ps]"
echo ""
echo "Examples:"
echo " $0 up # Start services"
echo " $0 build # Build containers"
echo " $0 run docmaker-full bash # Run command in container"
echo " $0 down # Stop and remove containers"
echo ""
# Check if docker compose (new format) or docker-compose (old format) is available
if command -v docker &> /dev/null && docker compose version &> /dev/null; then
# Use new docker compose format
if [ $# -eq 0 ]; then
echo "No command provided. Running 'docker compose up'..."
docker compose up
else
# Execute the provided docker compose command
echo "Running: docker compose $*"
docker compose "$@"
fi
elif command -v docker-compose &> /dev/null; then
# Fallback to old docker-compose format
if [ $# -eq 0 ]; then
echo "No command provided. Running 'docker-compose up'..."
docker-compose up
else
# Execute the provided docker-compose command
echo "Running: docker-compose $*"
docker-compose "$@"
fi
else
echo "Error: Neither 'docker compose' nor 'docker-compose' command found."
echo "Please install Docker Compose to use this script."
exit 1
fi

View File

@@ -1,20 +0,0 @@
version: '3.8'
services:
docmaker-computational:
build:
context: .
dockerfile: Dockerfile
container_name: RCEO-AIOS-Public-Tools-DocMaker-Computational
image: rceo-aios-public-tools-docmaker-computational:latest
volumes:
- ../../../:/workspace:rw
working_dir: /workspace
stdin_open: true
tty: true
ports:
- "8888:8888" # Jupyter notebook access
environment:
- LOCAL_USER_ID=${LOCAL_USER_ID:-1000}
- LOCAL_GROUP_ID=${LOCAL_GROUP_ID:-1000}
user: "${LOCAL_USER_ID:-1000}:${LOCAL_GROUP_ID:-1000}"

View File

@@ -1,14 +0,0 @@
FROM rceo-aios-public-tools-docmaker-base:latest
# Avoid prompts from apt
ENV DEBIAN_FRONTEND=noninteractive
# Install full LaTeX (the heavy component that takes time)
RUN apt-get update && apt-get install -y \
texlive-full \
&& rm -rf /var/lib/apt/lists/*
# Create a working directory
WORKDIR /workspace
# The entrypoint from the base image handles user creation

View File

@@ -1,85 +0,0 @@
# RCEO-AIOS-Public-Tools-DocMaker-Full Container
This container is part of the AIOS-Public project and provides a comprehensive documentation generation environment with full LaTeX support.
## Overview
The RCEO-AIOS-Public-Tools-DocMaker-Full container is designed for comprehensive documentation generation tasks that require full LaTeX functionality. It includes all documentation tools plus the complete TeX Live distribution for advanced document typesetting.
## Tools Included
Inherits all tools from:
- **RCEO-AIOS-Public-Tools-DocMaker-Base**: All base documentation generation tools
### LaTeX
- **TeX Live Full**: Complete LaTeX distribution for advanced document typesetting
## Usage
### Building the Full Documentation Container
```bash
# From this directory
cd /home/localuser/AIWorkspace/AIOS-Public/Docker/RCEO-AIOS-Public-Tools-DocMaker-Full
# Use the wrapper script to automatically detect and set user IDs
./docker-compose-wrapper.sh build
# Or run commands in the full documentation container with automatic user mapping
./docker-compose-wrapper.sh run docmaker-full [command]
# Example: Convert a Markdown file to PDF using pandoc with full LaTeX
./docker-compose-wrapper.sh run docmaker-full pandoc input.md -o output.pdf --pdf-engine=xelatex
# Example: Create beautiful PDF using Eisvogel template
./docker-compose-wrapper.sh run docmaker-full pandoc input.md --template eisvogel -o output.pdf --pdf-engine=xelatex
```
### Using with docker-compose directly
```bash
# Set environment variables and run docker-compose directly
LOCAL_USER_ID=$(id -u) LOCAL_GROUP_ID=$(id -g) docker-compose up --build
# Or export variables first
export LOCAL_USER_ID=$(id -u)
export LOCAL_GROUP_ID=$(id -g)
docker-compose up
```
### Using the wrapper script
```bash
# Build and start the full documentation container with automatic user mapping
./docker-compose-wrapper.sh up --build
# Start without rebuilding
./docker-compose-wrapper.sh up
# View container status
./docker-compose-wrapper.sh ps
# Stop containers
./docker-compose-wrapper.sh down
```
## User ID Mapping (For File Permissions)
The container automatically detects and uses the host user's UID and GID to ensure proper file permissions. This means:
- Files created inside the container will have the correct ownership on the host
- No more root-owned files after container operations
- Works across different environments (development, CI/CD, cloud)
The container detects the user ID from the mounted workspace volume. If needed, you can override the default values by setting environment variables:
```bash
# Set specific user ID and group ID before running docker-compose
export LOCAL_USER_ID=1000
export LOCAL_GROUP_ID=1000
docker-compose up
```
Or run with inline environment variables:
```bash
LOCAL_USER_ID=1000 LOCAL_GROUP_ID=1000 docker-compose up
```
The container runs as a non-root user named `ReachableCEO-Tools` with the detected host user's UID/GID.

View File

@@ -1,67 +0,0 @@
#!/bin/bash
# docker-compose-wrapper.sh - Wrapper script to detect host UID/GID and run docker-compose
set -e # Exit on any error
# Detect the UID and GID of the user that owns the workspace directory (parent directory)
WORKSPACE_DIR="$(cd "$(dirname "$0")/../.." && pwd)"
echo "Detecting user ID from workspace directory: $WORKSPACE_DIR"
if [ -d "$WORKSPACE_DIR" ]; then
DETECTED_USER_ID=$(stat -c %u "$WORKSPACE_DIR" 2>/dev/null || echo 0)
DETECTED_GROUP_ID=$(stat -c %g "$WORKSPACE_DIR" 2>/dev/null || echo 0)
# If detection failed, try current user
if [ "$DETECTED_USER_ID" = "0" ]; then
DETECTED_USER_ID=$(id -u)
DETECTED_GROUP_ID=$(id -g)
fi
else
# Fallback to current user if workspace directory doesn't exist
DETECTED_USER_ID=$(id -u)
DETECTED_GROUP_ID=$(id -g)
fi
echo "Detected USER_ID=$DETECTED_USER_ID and GROUP_ID=$DETECTED_GROUP_ID"
# Set environment variables for docker-compose
export LOCAL_USER_ID=$DETECTED_USER_ID
export LOCAL_GROUP_ID=$DETECTED_GROUP_ID
# Show usage information
echo ""
echo "Usage: $0 [build|up|run <service> <command>|exec <service> <command>|down|ps]"
echo ""
echo "Examples:"
echo " $0 up # Start services"
echo " $0 build # Build containers"
echo " $0 run docmaker-full bash # Run command in container"
echo " $0 down # Stop and remove containers"
echo ""
# Check if docker compose (new format) or docker-compose (old format) is available
if command -v docker &> /dev/null && docker compose version &> /dev/null; then
# Use new docker compose format
if [ $# -eq 0 ]; then
echo "No command provided. Running 'docker compose up'..."
docker compose up
else
# Execute the provided docker compose command
echo "Running: docker compose $*"
docker compose "$@"
fi
elif command -v docker-compose &> /dev/null; then
# Fallback to old docker-compose format
if [ $# -eq 0 ]; then
echo "No command provided. Running 'docker-compose up'..."
docker-compose up
else
# Execute the provided docker-compose command
echo "Running: docker-compose $*"
docker-compose "$@"
fi
else
echo "Error: Neither 'docker compose' nor 'docker-compose' command found."
echo "Please install Docker Compose to use this script."
exit 1
fi

View File

@@ -1,18 +0,0 @@
version: '3.8'
services:
docmaker-full:
build:
context: .
dockerfile: Dockerfile
container_name: RCEO-AIOS-Public-Tools-DocMaker-Full
image: rceo-aios-public-tools-docmaker-full:latest
volumes:
- ../../../:/workspace:rw
working_dir: /workspace
stdin_open: true
tty: true
environment:
- LOCAL_USER_ID=${LOCAL_USER_ID:-1000}
- LOCAL_GROUP_ID=${LOCAL_GROUP_ID:-1000}
user: "${LOCAL_USER_ID:-1000}:${LOCAL_GROUP_ID:-1000}"

View File

@@ -1,6 +0,0 @@
FROM rceo-aios-public-tools-docmaker-base:latest
# Create a working directory
WORKDIR /workspace
# The entrypoint from the base image handles user creation

View File

@@ -1,82 +0,0 @@
# RCEO-AIOS-Public-Tools-DocMaker-Light Container
This container is part of the AIOS-Public project and provides a lightweight documentation generation environment.
## Overview
The RCEO-AIOS-Public-Tools-DocMaker-Light container is designed for fast-starting documentation tasks. It extends the base documentation environment without adding heavy dependencies like full LaTeX, enabling quick startup and efficient operations for lighter documentation tasks.
## Tools Included
Inherits all tools from:
- **RCEO-AIOS-Public-Tools-DocMaker-Base**: All base documentation generation tools
## Usage
### Building the Lightweight Container
```bash
# From this directory
cd /home/localuser/AIWorkspace/AIOS-Public/Docker/RCEO-AIOS-Public-Tools-DocMaker-Light
# Use the wrapper script to automatically detect and set user IDs
./docker-compose-wrapper.sh build
# Or run commands in the lightweight container with automatic user mapping
./docker-compose-wrapper.sh run docmaker-light [command]
# Example: Convert a Markdown file to PDF using pandoc
./docker-compose-wrapper.sh run docmaker-light pandoc input.md -o output.pdf
# Example: Create beautiful PDF using Eisvogel template
./docker-compose-wrapper.sh run docmaker-light pandoc input.md --template eisvogel -o output.pdf
```
### Using with docker-compose directly
```bash
# Set environment variables and run docker-compose directly
LOCAL_USER_ID=$(id -u) LOCAL_GROUP_ID=$(id -g) docker-compose up --build
# Or export variables first
export LOCAL_USER_ID=$(id -u)
export LOCAL_GROUP_ID=$(id -g)
docker-compose up
```
### Using the wrapper script
```bash
# Build and start the lightweight documentation container with automatic user mapping
./docker-compose-wrapper.sh up --build
# Start without rebuilding
./docker-compose-wrapper.sh up
# View container status
./docker-compose-wrapper.sh ps
# Stop containers
./docker-compose-wrapper.sh down
```
## User ID Mapping (For File Permissions)
The container automatically detects and uses the host user's UID and GID to ensure proper file permissions. This means:
- Files created inside the container will have the correct ownership on the host
- No more root-owned files after container operations
- Works across different environments (development, CI/CD, cloud)
The container detects the user ID from the mounted workspace volume. If needed, you can override the default values by setting environment variables:
```bash
# Set specific user ID and group ID before running docker-compose
export LOCAL_USER_ID=1000
export LOCAL_GROUP_ID=1000
docker-compose up
```
Or run with inline environment variables:
```bash
LOCAL_USER_ID=1000 LOCAL_GROUP_ID=1000 docker-compose up
```
The container runs as a non-root user named `ReachableCEO-Tools` with the detected host user's UID/GID.

View File

@@ -1,67 +0,0 @@
#!/bin/bash
# docker-compose-wrapper.sh - Wrapper script to detect host UID/GID and run docker-compose
set -e # Exit on any error
# Detect the UID and GID of the user that owns the workspace directory (parent directory)
WORKSPACE_DIR="$(cd "$(dirname "$0")/../.." && pwd)"
echo "Detecting user ID from workspace directory: $WORKSPACE_DIR"
if [ -d "$WORKSPACE_DIR" ]; then
DETECTED_USER_ID=$(stat -c %u "$WORKSPACE_DIR" 2>/dev/null || echo 0)
DETECTED_GROUP_ID=$(stat -c %g "$WORKSPACE_DIR" 2>/dev/null || echo 0)
# If detection failed, try current user
if [ "$DETECTED_USER_ID" = "0" ]; then
DETECTED_USER_ID=$(id -u)
DETECTED_GROUP_ID=$(id -g)
fi
else
# Fallback to current user if workspace directory doesn't exist
DETECTED_USER_ID=$(id -u)
DETECTED_GROUP_ID=$(id -g)
fi
echo "Detected USER_ID=$DETECTED_USER_ID and GROUP_ID=$DETECTED_GROUP_ID"
# Set environment variables for docker-compose
export LOCAL_USER_ID=$DETECTED_USER_ID
export LOCAL_GROUP_ID=$DETECTED_GROUP_ID
# Show usage information
echo ""
echo "Usage: $0 [build|up|run <service> <command>|exec <service> <command>|down|ps]"
echo ""
echo "Examples:"
echo " $0 up # Start services"
echo " $0 build # Build containers"
echo " $0 run docmaker-full bash # Run command in container"
echo " $0 down # Stop and remove containers"
echo ""
# Check if docker compose (new format) or docker-compose (old format) is available
if command -v docker &> /dev/null && docker compose version &> /dev/null; then
# Use new docker compose format
if [ $# -eq 0 ]; then
echo "No command provided. Running 'docker compose up'..."
docker compose up
else
# Execute the provided docker compose command
echo "Running: docker compose $*"
docker compose "$@"
fi
elif command -v docker-compose &> /dev/null; then
# Fallback to old docker-compose format
if [ $# -eq 0 ]; then
echo "No command provided. Running 'docker-compose up'..."
docker-compose up
else
# Execute the provided docker-compose command
echo "Running: docker-compose $*"
docker-compose "$@"
fi
else
echo "Error: Neither 'docker compose' nor 'docker-compose' command found."
echo "Please install Docker Compose to use this script."
exit 1
fi

View File

@@ -1,18 +0,0 @@
version: '3.8'
services:
docmaker-light:
build:
context: .
dockerfile: Dockerfile
container_name: RCEO-AIOS-Public-Tools-DocMaker-Light
image: rceo-aios-public-tools-docmaker-light:latest
volumes:
- ../../../:/workspace:rw
working_dir: /workspace
stdin_open: true
tty: true
environment:
- LOCAL_USER_ID=${LOCAL_USER_ID:-1000}
- LOCAL_GROUP_ID=${LOCAL_GROUP_ID:-1000}
user: "${LOCAL_USER_ID:-1000}:${LOCAL_GROUP_ID:-1000}"

View File

@@ -1,37 +0,0 @@
# RCEO-AIOS-Public Docker Documentation Tools
This directory contains organized Docker configurations for documentation generation tools in the AIOS-Public project.
## Container Structure
Each container has its own subdirectory with specific configuration files:
- `RCEO-AIOS-Public-Tools-DocMaker-Base/` - Base documentation environment with lightweight tools
- `RCEO-AIOS-Public-Tools-DocMaker-Light/` - Fast-starting documentation tools (no heavy LaTeX)
- `RCEO-AIOS-Public-Tools-DocMaker-Full/` - Full documentation environment with LaTeX-full
- `RCEO-AIOS-Public-Tools-DocMaker-Computational/` - All documentation tools plus R, Python, Jupyter, Octave
## Container Naming Convention
All containers follow the `RCEO-AIOS-Public-Tools-` naming convention with descriptive suffixes.
## Usage
### Building and Running Individual Containers
Each container has its own subdirectory with its Dockerfile and docker-compose.yml file.
```bash
# Navigate to the specific container directory
cd /home/localuser/AIWorkspace/AIOS-Public/Docker/RCEO-AIOS-Public-Tools-DocMaker-Full
# Build the container
docker-compose build
# Run the container
docker-compose up --build
```
### Individual Container Documentation
For specific usage information for each container, see the README files in their respective subdirectories.

View File

@@ -1,58 +0,0 @@
#!/bin/bash
# build-containers.sh - Script to build all documentation containers
echo "Starting build of RCEO-AIOS-Public documentation containers..."
echo "This may take several minutes, especially for the Full and Computational containers due to LaTeX and other heavy packages."
echo ""
# Build the Base container first (foundation for others)
echo "Building Base container..."
cd /home/localuser/AIWorkspace/AIOS-Public/Docker/RCEO-AIOS-Public-Tools-DocMaker-Base
./docker-compose-wrapper.sh build
if [ $? -ne 0 ]; then
echo "Error building Base container. Exiting."
exit 1
fi
echo "Base container build complete"
echo ""
# Build the Light container
echo "Building Light container..."
cd /home/localuser/AIWorkspace/AIOS-Public/Docker/RCEO-AIOS-Public-Tools-DocMaker-Light
./docker-compose-wrapper.sh build
if [ $? -ne 0 ]; then
echo "Error building Light container. Exiting."
exit 1
fi
echo "Light container build complete"
echo ""
# Build the Full container (this will take longer due to LaTeX-full)
echo "Building Full container (this may take several minutes due to texlive-full)..."
cd /home/localuser/AIWorkspace/AIOS-Public/Docker/RCEO-AIOS-Public-Tools-DocMaker-Full
./docker-compose-wrapper.sh build
if [ $? -ne 0 ]; then
echo "Error building Full container. Exiting."
exit 1
fi
echo "Full container build complete"
echo ""
# Build the Computational container (this will also take some time)
echo "Building Computational container..."
cd /home/localuser/AIWorkspace/AIOS-Public/Docker/RCEO-AIOS-Public-Tools-DocMaker-Computational
./docker-compose-wrapper.sh build
if [ $? -ne 0 ]; then
echo "Error building Computational container. Exiting."
exit 1
fi
echo "Computational container build complete"
echo ""
echo "All containers built successfully!"
echo ""
echo "You can now run individual containers with:"
echo " cd /home/localuser/AIWorkspace/AIOS-Public/Docker/RCEO-AIOS-Public-Tools-DocMaker-[type]"
echo " ./docker-compose-wrapper.sh up"
echo ""
echo "Where [type] is: Base, Light, Full, or Computational"

View File

@@ -1,12 +0,0 @@
My full name is Charles N Wyble. I use the online handle @ReachableCEO.
I am a strong believer in digital data soverignity. I am a firm practicer of self hosting (using Cloudron on a netcup vps and soon Coolify on another Cloudron VPS).
I am 41 years old.
I am a democrat and believe strongly in the rule of law and separation of powers.
I actively avoid the media.
I am solo entrepenuer creating an ecosystem of entities called TSYS Group. (Please see TSYS.md for more on that)
My professional background is in production technical operations since 2002
I use many command line ai agents (codex,coder,qwen,gemini) and wish to remain agent agnostic at all times
I am located in the United States of America . As of October 2025 I am located in central texas
I will be relocating to Raleigh North Carolina in April 2026
I want to streamlne my life using AI and relying on it for all aspects of my professional, knowledge worker actions.
I prefer relaxed but professional engagement and dont want to be flattered.

View File

@@ -1,47 +0,0 @@
# Architectural Approach
This document captures the architectural approach for project development in the AIOS-Public system.
## Container Architecture
### Layered Approach
- Base containers provide foundational tools and libraries
- Specialized containers extend base functionality for specific use cases
- Each layer adds specific capabilities while maintaining consistency
### Naming Convention
- Use `RCEO-AIOS-Public-Tools-` prefix consistently
- Include descriptive suffixes indicating container purpose
- Follow pattern: `RCEO-AIOS-Public-Tools-[domain]-[type]`
### Security Patterns
- Minimize root usage during build and runtime
- Implement non-root users for all runtime operations
- Use UID/GID mapping for proper file permissions across environments
- Detect host user IDs automatically through file system inspection
### Operational Patterns
- Create thin wrapper scripts that handle environment setup
- Use consistent patterns for user ID detection and mapping
- Maintain same operational workflow across all containers
- Provide clear documentation in README files
### Organization Principles
- Separate COO mode (operational tasks) from CTO mode (R&D tasks) containers
- Create individual directories per container type
- Maintain disciplined file organization to prevent technical debt
- Keep repository root clean with project-specific files in subdirectories
## Documentation Requirements
- Each container must have comprehensive README
- Include usage examples and environment setup instructions
- Document security and permission handling
- Provide clear container mapping and purpose
## Implementation Workflow
1. Start with architectural design document
2. Create detailed implementation plan
3. Develop following established patterns
4. Test with sample data/usage
5. Document for end users
6. Commit with conventional commit messages

View File

@@ -1,9 +0,0 @@
This repository is where I will start all of my AI interactions from.
Unless we are making new tools, you won't be doing any work in this repository (other than when I tell you to commit/push anything in the tree).
You will be doing all your work in a new repository that I will tell you about. You will have all of the core knowledge from
the GUIDEBOOK directory files and you will follow the workflow and rules outlined in AgentRules.md in that new project repository.
Think of this repository like the top level of a users home directory who is hyper organized. These markdown files and docker containers are kind of the dotfiles.
Any work would be done in a sub directory off of the users home directory, not at the top level.

View File

@@ -1,36 +0,0 @@
This file documents the TSYS Group.
Legal Entities (all filed and domiciled in the great state of Texas)
Turnkey Network Systems LLC (a series LLC)
RackRental.net Operating Company LLC (a stand alone LLC) (all consulting and SAAS operations are run from here)
Suborbital Systems Development Company LLC (a stand alone LLC) (this is my "moonshot" business and will be where all fundraising is done)
Americans For A Better Network INC (a Texas non profit) (plan to be a 501c3) (want to get a fiscal sponsor by end of 2025)
Side Door Group (a Texas non profit) (plan to be a 501c4)
Side Door Solutions Group INC (a Texas non profit) (super PAC)
The overaall goal of TSYS Group is to solve the digital divide through a combination of :
R&D
Operations
Advocacy/Lobbying/Education
We are firecly FLO and also our governance materials are open.
We want our operations/business model to be adopted by other passionate pragmatic individuals to solve big problems (clean water, clean energy, governance, food shortages etc). We believe strongly that only a combination of private enterprise and government can solve these issues.
Series of Turnkey Network Systems LLC
High Flight Network Operating Company (HFNOC) (will be a coop in all states that recognize it) in early formation stages currently . This will be the entity (a collection of sub entities under this banner) that will own and operate (in coop/collective trust) balloons and ground stations for MorseNet (what we are calling the network we are building)
High Flight Network Finance Company (HFNFC) (will also be a coop just like HFNFC , also in early formation stages currently). This will be the entity that handles network finance/construction/loans etc. The idea is to raise financing from main street. To the extent wall street participates, it's only given financial interest, not governance.
We will not do security bundling and chase returns. The capital will earn a reasonable rate of return and reinvest into the coop to build more networks and keep debt and interest rates low.
RWSCP
RWFO
AP4AP

View File

@@ -1,12 +1,38 @@
# AIOS-Public
# GUIDEBOOK Index
The @ReachableCEO AI Operating System - Public edition
All things that the @ReachableCEO wishes to share with the world in how he is using AI for his businesses/revenue generation etc.
Two other editions exist, as subsets of this one:
- Personal is for COO (TSYS/WFO) scoped things
- Private is for coaching/therapy/personal development etc
I spend 80% of my time in public, and the rest between personal/private
Welcome to the AIOS-Public GUIDEBOOK - your comprehensive guide to the AI Operating System template.
## Overview
The GUIDEBOOK contains essential documentation that serves as the foundation for all AIOS projects. Each document has a specific purpose in the AIOS ecosystem.
## Document List
### [AboutMe.md](./AboutMe.md)
Personal information about Charles N Wyble (@ReachableCEO), including background, philosophy, and professional details.
### [AgentRules.md](./AgentRules.md)
Operational guidelines for AI agents, including interaction rules, workflow patterns, and technical guidelines.
### [ArchitecturalApproach.md](./ArchitecturalApproach.md)
Technical architecture patterns, including container architecture, security patterns, operational patterns, and implementation workflow.
### [StartHere.md](./StartHere.md)
Onboarding guide explaining the purpose of the AIOS-Public repository as a template for launching new projects.
### [TSYS.md](./TSYS.md)
Business information about the TSYS Group, including legal entities and organizational structure.
### [AUDIT1.md](./AUDIT1.md)
First comprehensive audit of the GUIDEBOOK, containing analysis and improvement suggestions.
## How to Use This Template
1. Clone this repository to create a new project
2. Review the documentation in the order above to understand the AIOS approach
3. Follow the architectural patterns outlined in ArchitecturalApproach.md
4. Apply the operational guidelines from AgentRules.md in your project work
5. Customize documentation as needed for your specific project
## Relationship to Other AIOS Editions
- This is the Public edition of AIOS
- Two other editions exist as subsets: Personal and Private
- 80% of focus is on public work, with the rest in personal/private editions

31
StartHere.md Normal file
View File

@@ -0,0 +1,31 @@
# Getting Started with AIOS-Public
This repository serves as the starting point for all AI interactions within the AIOS system.
## Purpose
This repository functions as a template for launching new projects. It contains the foundational architecture, documentation, and tools needed to create new repositories following AIOS patterns.
## Workflow
- Unless specifically creating new tools for the template itself, AI agents will not work directly in this repository
- All project-specific work happens in separate repositories created from this template
- When instructed, AI agents may commit or push changes to this template repository
- AI agents carry forward the core knowledge from GUIDEBOOK files when working in project repositories
- All work in project repositories follows the workflow and rules outlined in AgentRules.md
## Repository Structure
Think of this repository like a highly organized home directory. The markdown files and Docker containers serve as the foundational "dotfiles" that provide consistent patterns across all projects.
Project work is conducted in subdirectories or separate repositories created from this template, not directly in this template repository.
## Next Steps
When beginning work in a new project repository:
1. Review the GUIDEBOOK documentation for architectural patterns
2. Follow the workflow outlined in AgentRules.md
3. Apply the architectural approach described in ArchitecturalApproach.md
---
*Last updated: October 16, 2025*

54
TSYS.md Normal file
View File

@@ -0,0 +1,54 @@
# TSYS Group Documentation
This file documents the TSYS Group and its entities.
## Legal Entities
All entities are filed and domiciled in the great state of Texas.
### For-Profit Entities
- **Turnkey Network Systems LLC** (a series LLC)
- **RackRental.net Operating Company LLC** (a stand alone LLC) - all consulting and SaaS operations are run from here
- **Suborbital Systems Development Company LLC** (a stand alone LLC) - this is the "moonshot" business and will be where all fundraising is done
### Non-Profit Entities
- **Americans For A Better Network INC** (a Texas non profit) - plan to be a 501c3, want to get a fiscal sponsor by end of 2025
- **Side Door Group** (a Texas non profit) - plan to be a 501c4
- **Side Door Solutions Group INC** (a Texas non profit) - super PAC
## Mission Statement
The overall goal of TSYS Group is to solve the digital divide through a combination of:
- R&D
- Operations
- Advocacy/Lobbying/Education
We are fiercely FLO and our governance materials are open.
## Business Model Vision
We want our operations/business model to be adopted by other passionate pragmatic individuals to solve big problems (clean water, clean energy, governance, food shortages etc). We believe strongly that only a combination of private enterprise and government can solve these issues.
## Series of Turnkey Network Systems LLC
### High Flight Network Operating Company (HFNOC)
- Will be a coop in all states that recognize it
- Currently in early formation stages
- Will be the entity (a collection of sub entities under this banner) that will own and operate (in coop/collective trust) balloons and ground stations for MorseNet (what we are calling the network we are building)
### High Flight Network Finance Company (HFNFC)
- Will also be a coop just like HFNOC
- Also in early formation stages currently
- Will handle network finance/construction/loans etc.
- The idea is to raise financing from main street
- To the extent wall street participates, it's only given financial interest, not governance
- Will not do security bundling and chase returns
- The capital will earn a reasonable rate of return and reinvest into the coop to build more networks and keep debt and interest rates low.
## Abbreviated Entity Names
- RWSCP
- RWFO
- AP4AP
---
*Last updated: October 16, 2025*