Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Translated README (readmeai_auto) #31

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 110 additions & 0 deletions README_EN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
```
# YamlGuardian
YamlGuardian

## Integração Contínua

Este projeto utiliza o GitHub Actions para integração contínua. O fluxo de trabalho de CI é definido no arquivo `.github/workflows/ci.yml`. Ele executa testes em cada push e pull request para garantir que a base de código permaneça estável.

## Recurso de Auto-Merge

Adicionamos um novo recurso de auto-merge ao nosso fluxo de trabalho de CI. Este recurso mescla automaticamente pull requests se todas as verificações de CI forem aprovadas. O processo de auto-merge é tratado pela GitHub Action `peter-evans/merge`. Isso garante que apenas PRs que passem em todas as verificações sejam mesclados, mantendo a estabilidade da base de código.

## Instruções de Configuração

### Pré-requisitos

- Python 3.8 ou superior
- Poetry

### Instalando o Poetry

Se você não tiver o Poetry instalado, pode instalá-lo usando o seguinte comando:

```sh
curl -sSL https://install.python-poetry.org | python3 -
```

### Configurando o Projeto

1. Clone o repositório:

```sh
git clone https://github.com/nobu007/YamlGuardian.git
cd YamlGuardian
```

2. Instale as dependências usando o Poetry:

```sh
poetry install
```

### Executando Testes

Você pode executar os testes usando o seguinte comando:

```sh
poetry run python -m unittest discover -s tests
```

### Executando Testes de Casos Limite

Para executar os testes de casos limite, use o seguinte comando:

```sh
poetry run python -m unittest tests/test_validate.py
```

### Analisando a Estrutura do Diretório

Para analisar a estrutura do diretório e identificar as mudanças necessárias, execute o seguinte script:

```sh
poetry run python yamlguardian/directory_analyzer.py
```

As mudanças identificadas serão salvas em um arquivo CSV chamado `directory_structure_changes.csv` no diretório raiz.

### Analisando e Salvando a Estrutura do Diretório

Para analisar a estrutura do diretório e salvar as alterações em um arquivo CSV, use o método `analyze_and_save_directory_structure` em `YamlGuardian`:

```python
from yamlguardian.core import YamlGuardian

guardian = YamlGuardian(schema_file='path/to/schema.yaml')
guardian.analyze_and_save_directory_structure(root_dir='path/to/root_dir', csv_file='path/to/output.csv')
```

### Executando o Servidor FastAPI

Para executar o servidor FastAPI usando `uvicorn`, use o seguinte comando:

```sh
uvicorn main:app --reload
```

### Validando Dados YAML

Para validar os dados YAML usando o endpoint `/validate`, envie uma requisição POST para `http://127.0.0.1:8000/validate` com o conteúdo YAML no corpo da requisição. Por exemplo:

```sh
curl -X POST "http://127.0.0.1:8000/validate" -H "Content-Type: application/json" -d '{"yaml_content": "name: John\nage: 30"}'
```

## Corrigindo Erros de CI

Se você encontrar erros de CI, siga estas etapas para resolvê-los:

1. **Verifique os logs de CI**: Revise os logs na aba GitHub Actions para identificar a causa do erro.
2. **Problemas comuns**:
- **Problemas de dependência**: Certifique-se de que todas as dependências estejam corretamente especificadas em `pyproject.toml` e execute `poetry install` para instalá-las.
- **Falhas nos testes**: Execute os testes localmente usando `poetry run python -m unittest discover -s tests` para identificar e corrigir quaisquer testes com falha.
- **Erros de linting**: Certifique-se de que seu código adere às regras de linting do projeto. Execute `poetry run flake8` para verificar erros de linting e corrigi-los adequadamente.
3. **Re-execute o fluxo de trabalho de CI**: Após corrigir os problemas, envie suas alterações para acionar o fluxo de trabalho de CI novamente.

## Documentação de Design

Para documentação detalhada do design, consulte o arquivo [DESIGN.md](DESIGN.md).
```
110 changes: 110 additions & 0 deletions README_JA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
```markdown
# YamlGuardian
YamlGuardian

## 継続的インテグレーション

このプロジェクトでは、継続的インテグレーションに GitHub Actions を使用しています。CI ワークフローは、`.github/workflows/ci.yml` ファイルで定義されています。これは、すべてのプッシュおよびプルリクエストでテストを実行し、コードベースが安定した状態を維持するようにします。

## 自動マージ機能

CI ワークフローに新しい自動マージ機能を追加しました。この機能は、すべての CI チェックが成功した場合に、プルリクエストを自動的にマージします。自動マージプロセスは、`peter-evans/merge` GitHub Action によって処理されます。これにより、すべてのチェックに合格した PR のみがマージされ、コードベースの安定性が維持されます。

## セットアップ手順

### 前提条件

- Python 3.8 以上
- Poetry

### Poetry のインストール

Poetry がインストールされていない場合は、次のコマンドを使用してインストールできます。

```sh
curl -sSL https://install.python-poetry.org | python3 -
```

### プロジェクトのセットアップ

1. リポジトリをクローンします。

```sh
git clone https://github.com/nobu007/YamlGuardian.git
cd YamlGuardian
```

2. Poetry を使用して依存関係をインストールします。

```sh
poetry install
```

### テストの実行

次のコマンドを使用してテストを実行できます。

```sh
poetry run python -m unittest discover -s tests
```

### エッジケーステストの実行

エッジケーステストを実行するには、次のコマンドを使用します。

```sh
poetry run python -m unittest tests/test_validate.py
```

### ディレクトリ構造の分析

ディレクトリ構造を分析し、必要な変更を特定するには、次のスクリプトを実行します。

```sh
poetry run python yamlguardian/directory_analyzer.py
```

特定された変更は、ルートディレクトリにある `directory_structure_changes.csv` という名前の CSV ファイルに保存されます。

### ディレクトリ構造の分析と保存

ディレクトリ構造を分析し、変更を CSV ファイルに保存するには、`YamlGuardian` の `analyze_and_save_directory_structure` メソッドを使用します。

```python
from yamlguardian.core import YamlGuardian

guardian = YamlGuardian(schema_file='path/to/schema.yaml')
guardian.analyze_and_save_directory_structure(root_dir='path/to/root_dir', csv_file='path/to/output.csv')
```

### FastAPI サーバーの実行

`uvicorn` を使用して FastAPI サーバーを実行するには、次のコマンドを使用します。

```sh
uvicorn main:app --reload
```

### YAML データの検証

`/validate` エンドポイントを使用して YAML データを検証するには、リクエストボディに YAML コンテンツを含めて `http://127.0.0.1:8000/validate` に POST リクエストを送信します。 例:

```sh
curl -X POST "http://127.0.0.1:8000/validate" -H "Content-Type: application/json" -d '{"yaml_content": "name: John\nage: 30"}'
```

## CI エラーの修正

CI エラーが発生した場合は、次の手順に従って解決してください。

1. **CI ログの確認**: GitHub Actions タブのログを確認して、エラーの原因を特定します。
2. **一般的な問題**:
- **依存関係の問題**: すべての依存関係が `pyproject.toml` で正しく指定されていることを確認し、`poetry install` を実行してインストールします。
- **テストの失敗**: `poetry run python -m unittest discover -s tests` を使用してローカルでテストを実行し、失敗しているテストを特定して修正します。
- **Lint エラー**: コードがプロジェクトの lint ルールに準拠していることを確認します。`poetry run flake8` を実行して lint エラーを確認し、それに応じて修正します。
3. **CI ワークフローの再実行**: 問題を修正した後、変更をプッシュして CI ワークフローを再度トリガーします。

## 設計ドキュメント

詳細な設計ドキュメントについては、[DESIGN.md](DESIGN.md) ファイルを参照してください。
```