From faf199aca7fc075725d5b1d4dbeb949716aab011 Mon Sep 17 00:00:00 2001 From: Michael Wegener Date: Mon, 2 Jun 2025 17:23:36 +0200 Subject: [PATCH] feat: Improve documentation and add project files (#1) (#104) * feat: Add CONTRIBUTING.md * feat: Add CODE_OF_CONDUCT.md * feat: Add SECURITY.md * feat: Add LICENSE file * feat: Update README.md with improved documentation and project details * fix: Generalize README.md for forking workflow * fix: Correct Project Structure in README.md * fix: Correct Build Status badge URL in README.md * fix: Correct Build Status badge URL to point to original repository's live workflow * fix: Correct License badge URL to point to original repository Co-authored-by: Jane Alesi --- CODE_OF_CONDUCT.md | 45 ++++++++++++++++ CONTRIBUTING.md | 57 ++++++++++++++++++++ LICENSE | 21 ++++++++ README.md | 130 +++++++++++++++++++++++++++------------------ SECURITY.md | 25 +++++++++ 5 files changed, 226 insertions(+), 52 deletions(-) create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE create mode 100644 SECURITY.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..d4f4f78 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,45 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at [info@satware.ai](mailto:info@satware.ai). + +All complaints will be reviewed and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the reporter of any incident. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..fa4fe15 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,57 @@ +# Contributing to satware.ai Website + +We welcome contributions to the `satware.ai` website! Your help is invaluable in making our documentation better. Please take a moment to review this document to understand how to contribute. + +## How to Contribute + +1. **Fork the Repository**: Start by forking the `satwareAG-ironMike/satware.ai` repository to your GitHub account. + +2. **Clone Your Fork**: Clone your forked repository to your local machine: + ```bash + git clone https://github.com/YOUR_USERNAME/satware.ai.git + cd satware.ai + ``` + +3. **Create a New Branch**: Create a new branch for your feature or bug fix. Use a descriptive name (e.g., `feature/add-new-page`, `fix/broken-link`): + ```bash + git checkout -b feature/your-feature-name + ``` + +4. **Set up Local Development**: Follow the "Local Development" instructions in the `README.md` to get the website running locally. + ```bash + ./mkdocs.sh + ``` + This will start a live-reloading server at `http://localhost:8000`. + +5. **Make Your Changes**: + * **Documentation**: Most content is written in Markdown files located in the `docs/` directory. + * **Styling**: Custom styles are defined in `overrides/assets/css/custom.scss`. Changes to this file will be automatically compiled to `docs/assets/css/custom.css` by the `scss_watcher.py` script running in your Docker container. + * **Configuration**: The main configuration is in `mkdocs.yml`. + +6. **Test Your Changes**: Before submitting, ensure your changes work as expected by viewing them on your local development server. + +7. **Commit Your Changes**: Write clear and concise commit messages. + ```bash + git add . + git commit -m "feat: Add new section on AI agents" + ``` + (Consider using [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) for commit messages.) + +8. **Push to Your Fork**: + ```bash + git push origin feature/your-feature-name + ``` + +9. **Create a Pull Request**: Go to your forked repository on GitHub and create a new Pull Request targeting the `main-mkdocs` branch of the `satwareAG-ironMike/satware.ai` repository. + * Provide a clear title and description of your changes. + * Reference any related issues. + +## Code of Conduct + +Please note that this project is released with a [Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project, you agree to abide by its terms. + +## Security Policy + +If you discover any security vulnerabilities, please report them responsibly by following our [Security Policy](SECURITY.md). + +Thank you for contributing! diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..5b0e568 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 satware AG + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 148bca2..391a0c3 100644 --- a/README.md +++ b/README.md @@ -1,81 +1,107 @@ -# satwareai-mkdocs +# satware.ai Website -A documentation website for satware.ai built with MkDocs and the Material for MkDocs theme. +[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/satwareAG/satware.ai/deploy-live.yml?branch=main-mkdocs&label=Build%20Status)](https://github.com/satwareAG/satware.ai/actions/workflows/deploy-live.yml) +[![MkDocs Material](https://img.shields.io/badge/docs-MkDocs%20Material-blue.svg)](https://squidfunk.github.io/mkdocs-material/) +[![License](https://img.shields.io/github/license/satwareAG/satware.ai)](LICENSE) -## Overview +A modern, responsive documentation website for satware.ai, built with [MkDocs](https://www.mkdocs.org/) and the beautiful [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) theme. This repository serves as the source for the static website deployed to GitHub Pages. -This project contains the source files for the satware.ai documentation website. It uses MkDocs as the static site generator and the Material for MkDocs theme for styling and enhanced functionality. +## ✨ Features -## Setup and Installation +* **Clean & Responsive Design**: Powered by Material for MkDocs, ensuring a great experience on any device. +* **Easy Documentation**: Write content in Markdown, and MkDocs handles the rest. +* **Local Development with Docker**: Simple setup for local development with live-reloading. +* **Automated Deployment**: Seamless deployment to GitHub Pages via GitHub Actions. -1. Clone the repository: - ```bash - git clone https://github.com/satware-ag/satwareai-mkdocs.git - cd satwareai-mkdocs - ``` +## 🚀 Getting Started +### Local Development -2. Create and activate a virtual environment: +Developing locally is streamlined using Docker, which encapsulates all necessary dependencies. - ```bash - python -m venv venv - source venv/bin/activate # On Windows: venv\Scripts\activate +**Prerequisites:** + +* [Docker](https://www.docker.com/get-started/) installed and running on your system. + +**Steps:** + +1. **Fork the original repository**: Fork the `satwareAG/satware.ai` repository to your GitHub account. +2. **Clone your fork**: + ```bash + git clone https://github.com/YOUR_USERNAME/satware.ai.git + cd satware.ai ``` + (Replace `YOUR_USERNAME` with your GitHub username.) -3. Install the dependencies: +3. **Start the development server**: + ```bash + ./mkdocs.sh + ``` + This command will build the Docker image (if not already built) and start a local development server. The website will be accessible at [http://localhost:8000](http://localhost:8000). Any changes you make to the documentation files (`docs/`) will automatically trigger a live reload in your browser. - ```bash - pip install -r requirements.txt - ``` +### Project Structure - -## Development - -To start the development server: - - -```bash -./dev.sh +``` +. +├── .github/ # GitHub Actions workflows for CI/CD +│ └── workflows/ # Contains deploy-live.yml and deploy-preview.yml +├── .gitignore # Specifies intentionally untracked files to ignore +├── .repoinsight/ # Configuration for repository insights (if applicable) +├── docker/ # Docker-related files +│ └── mkdocs-material/ # Dockerfile for the MkDocs Material environment +├── docs/ # Markdown source files for the documentation +│ ├── index.md # Homepage content +│ └── ... # Other documentation pages and assets +├── mkdocs.sh # Script for local development with Docker +├── mkdocs.yml # Main MkDocs configuration file +├── overrides/ # Custom theme overrides and assets (e.g., SCSS) +│ └── assets/ +│ └── css/ +│ └── custom.scss +├── scss_watcher.py # Python script to watch and compile SCSS +├── tasks.md # Markdown file for project tasks/notes +└── README.md # This file ``` -Or manually: +## 🛠️ Technologies Used -```bash -mkdocs serve -``` +* **Static Site Generator**: MkDocs +* **Theme**: Material for MkDocs (v9.6.14) +* **Containerization**: Docker +* **CI/CD**: GitHub Actions +* **Styling**: SCSS (Sass) with `pysassc` +* **Language**: Python (v3.13-slim-bullseye in Docker) +* **SCSS Watcher**: Custom Python script (`scss_watcher.py`) +## 🌐 Deployment -This will start a local development server at [http://127.0.0.1:8000/](http://127.0.0.1:8000/) that automatically reloads when you make changes to the documentation. +The `satware.ai` website is automatically deployed to GitHub Pages. -### SCSS Compilation +**Workflow for your fork (for testing/preview):** -The project uses SCSS for styling. To compile SCSS files to CSS: +1. **Push to your fork**: When you push changes to your fork (`https://github.com/YOUR_USERNAME/satware.ai`), specifically to the `main-mkdocs` branch. +2. **GitHub Pages Setup**: Ensure GitHub Pages is enabled for your fork, building from the `gh-pages` branch. +3. **GitHub Actions Trigger**: A GitHub Actions workflow (`ci.yml`) is triggered. +4. **Build & Deploy**: This workflow builds the static website using MkDocs and deploys it to the `gh-pages` branch of your fork. +5. **Live Website**: The static website becomes available at `https://YOUR_USERNAME.github.io/satware.ai/`. +**Workflow for the main repository (live site):** +* Changes merged into the `main-mkdocs` branch of the *original* `satwareAG/satware.ai` repository will trigger the live site deployment to `https://satware.ai/`. -```bash -python compile_scss.py -``` +## ❓ Troubleshooting -## Building the Site +* **SCSS Changes Not Reflecting**: Ensure the `scss_watcher.py` is running correctly within your Docker container. Check the Docker logs for any errors during SCSS compilation. The `scss_watcher.py` monitors `overrides/assets/css/custom.scss` and compiles it to `docs/assets/css/custom.css`. +* **Docker Issues**: If you encounter issues with the `./mkdocs.sh` script, verify that Docker is running and that you have the necessary permissions. -To build the static site: +## 🤝 Contributing +Contributions are welcome! Please see our [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. -```bash -mkdocs build -``` +## 📄 License -This will create a `site` directory with the built static site. +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. +## 📧 Contact -## Theme Customization - -The site uses the Material for MkDocs theme with custom overrides located in the `docs/overrides` directory. Additional styling is provided through SCSS files in the `docs/stylesheets` directory. - -## Documentation - -For more information about MkDocs and the Material for MkDocs theme, refer to: - -- [MkDocs Documentation](https://www.mkdocs.org/getting-started/) -- [Material for MkDocs Documentation](https://squidfunk.github.io/mkdocs-material/getting-started/) \ No newline at end of file +For any inquiries or support, please contact [info@satware.ai](mailto:info@satware.ai). diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..db644e9 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,25 @@ +# Security Policy + +## Reporting a Vulnerability + +We take the security of the `satware.ai` website seriously. If you discover any security vulnerabilities, we appreciate your responsible disclosure. + +Please report any vulnerabilities by sending an email to [security@satware.ai](mailto:security@satware.ai). + +**Please include the following information in your report:** + +* A clear and concise description of the vulnerability. +* Steps to reproduce the vulnerability. +* The potential impact of the vulnerability. +* Any proof-of-concept code or screenshots that can help us understand the issue. + +## Our Commitment + +* We will acknowledge receipt of your report within 2 business days. +* We will investigate the reported vulnerability promptly. +* We will keep you informed about the progress of our investigation and any remediation efforts. +* We will notify you once the vulnerability has been resolved. + +We kindly request that you do not disclose the vulnerability publicly until we have had a reasonable opportunity to address it. + +Thank you for helping us keep `satware.ai` secure.