Skip to content
Merged
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
19 changes: 0 additions & 19 deletions .github/ISSUE_TEMPLATE.md

This file was deleted.

48 changes: 48 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
name: Bug report
description: Report a problem with kubesplit
labels:
- bug
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report a bug!
- type: input
id: kubesplit-version
attributes:
label: kubesplit version
description: Output of `kubesplit --version`
placeholder: e.g. 0.6.0
validations:
required: true
- type: input
id: python-version
attributes:
label: Python version
description: Output of `python --version`
placeholder: e.g. 3.12.4
validations:
required: true
- type: input
id: os
attributes:
label: Operating System
placeholder: e.g. macOS 15.1, Ubuntu 24.04
validations:
required: true
- type: textarea
id: description
attributes:
label: Description
description: What were you trying to do? What happened? What did you expect to happen?
validations:
required: true
- type: textarea
id: what-i-did
attributes:
label: What I did
description: Paste the command(s) you ran and the output. Include the full traceback if there was a crash.
render: shell
validations:
required: true
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
blank_issues_enabled: false
31 changes: 31 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
name: Feature request
description: Suggest an idea or enhancement for kubesplit
labels:
- enhancement
body:
- type: markdown
attributes:
value: |
Thanks for suggesting an improvement!
- type: textarea
id: problem
attributes:
label: What problem are you trying to solve?
description: Describe the use case or limitation you're running into.
validations:
required: true
- type: textarea
id: solution
attributes:
label: Proposed solution
description: What would you like kubesplit to do? Include example CLI usage if relevant.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Any workarounds or alternative approaches you've tried.
validations:
required: false
33 changes: 33 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Pull Request

## Description

<!-- What does this PR change and why? -->

Fixes #<issue_number>

## Changes

<!-- Bullet the key changes (code, docs, config, tests) -->

-

## How to test

<!-- Exact commands/steps a reviewer can run to verify -->

```bash
poe lint:all
poe test
make integration-tests
```

## Checklist

- [ ] PR title follows [Conventional Commits](https://www.conventionalcommits.org/) with a scope (e.g. `feat(cli): ...`)
- [ ] `poe style` run (formatting)
- [ ] `poe lint:all` passes (ruff, pylint, pyright, ty)
- [ ] `poe test` (unit tests) passes
- [ ] `make integration-tests` passes
- [ ] Docs updated under `docs/` (tutorials/how-to/reference/explanation) and registered in `mkdocs.yml`, if this changes CLI flags, behavior, or concepts
- [ ] `pre-commit run --all-files` passes
16 changes: 11 additions & 5 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Agent Instructions

This document provides context and instructions for AI agents working on this repository (`yamkix`).
This document provides context and instructions for AI agents working on this repository (`kubesplit`).

## Project Overview

- **Repository**: [looztra/yamkix](https://github.com/looztra/yamkix)
- **Repository**: [looztra/kubesplit](https://github.com/looztra/kubesplit)
- **Language**: Python (managed via `uv`)
- **Main Branch**: `main`

Expand Down Expand Up @@ -79,9 +79,15 @@ This project uses `poethepoet` for task management. Common tasks:

## Specific Implementation Details

- **Configuration**: Managed in `src/yamkix/config.py`.
- **CLI**: Implemented using `typer` in `src/yamkix/_cli.py`.
- **YAML Handling**: Uses `ruamel.yaml` in `src/yamkix/yamkix.py` and `src/yamkix/yaml_writer.py`.
- **Configuration**: Managed in `src/kubesplit/config.py`.
- **CLI**: Implemented using `typer` in `src/kubesplit/_cli.py`.
- **Conversion**: Multidoc YAML input is split into per-resource descriptors in
`src/kubesplit/convert.py`, wrapped by `K8SDescriptor` in `k8s_descriptor.py`,
grouped by namespace in `namespaces.py`, and written to disk by `output.py`.
- **YAML Formatting**: Delegates the opinionated `ruamel.yaml` output to the
external [`yamkix`](https://github.com/looztra/yamkix) library
(`yamkix.config`, `yamkix.yaml_writer`, `yamkix.comments`) — a project
dependency, not part of this codebase.

## General Guidelines for Agents

Expand Down