diff --git a/.gitignore b/.gitignore index 50207bf28..b638d5047 100644 --- a/.gitignore +++ b/.gitignore @@ -168,7 +168,13 @@ cython_debug/ .vscode/ # AI Assistant Config Files +.cursor/ +.clinerules/ +.roorules/ +AGENT.md CLAUDE.md +GEMINI.md +QWEN.md # Must-Gather Artifacts must-gather-collected/ diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 000000000..faaf6472c --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,19 @@ +# Overview +This is a testing repo for OpenDataHub and OpenShift AI, which are MLOps platforms for OpenShift. +The tests contained in the repo are high-level integration tests at the Kubernetes API level. + +# Documentation +All the general information about the repo is contained in the /docs directory. +At the start of each session, consider if you need to consult any of these files in order to answer: +- [Guidelines for Getting Started](./docs/GETTING_STARTED.md) +- [Developer Guide](./docs/DEVELOPER_GUIDE.md) +- [Style Guide](./docs/STYLE_GUIDE.md) + +# Specific Instructions +- Avoid unnecessary complexity: Aim for the simplest solution that works, while keeping the code clean. +- Avoid obvious comments: Only add comments to explain especially complex code blocks. +- Maintain code consistency: Follow existing code patterns and architecture. +- Maintain locality of behavior: Keep code close to where it's used. +- Make small, focused changes, unless explicitly asked otherwise. +- Keep security in mind: Avoid filtering sensitive information and running destructive commands. +- When in doubt about something, ask the user. diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 7b0775716..80d8a43d9 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -16,28 +16,3 @@ If a related issue doesn't exist, you can open a new issue using a relevant [iss ## Pull requests Follow the guidelines in [Developer guide](DEVELOPER_GUIDE.md) - - -## Adding new runtime -To add a new runtime, you need to: -1. Add a new file under [manifests](../utilities/manifests) directory. -2. Add `_INFERENCE_CONFIG` dict with: -```code - "support_multi_default_queries": True|False, # Optioanl, if set to True, `default_query_model` should contains a dict with corresponding inference_type - "default_query_model": { - "query_input": , - "query_output": , - "use_regex": True|False, # Optional, if set to True, `query_output` should be a regex - }, - "": { - "": { - "endpoint": "", - "header": "", - "body": '{, - "response": , - }, - }, -``` -3. See [caikit_standalone](../utilities/manifests/caikit_standalone.py) for an example diff --git a/docs/DEVELOPER_GUIDE.md b/docs/DEVELOPER_GUIDE.md index 1fb806e7f..bb8d0c924 100644 --- a/docs/DEVELOPER_GUIDE.md +++ b/docs/DEVELOPER_GUIDE.md @@ -176,3 +176,35 @@ Run tox: ```bash tox ``` + +## Adding new runtime +To add a new runtime, you need to: +1. Add a new file under [manifests](../utilities/manifests) directory. +2. Add `_INFERENCE_CONFIG` dict with: +```code + "support_multi_default_queries": True|False, # Optioanl, if set to True, `default_query_model` should contains a dict with corresponding inference_type + "default_query_model": { + "query_input": , + "query_output": , + "use_regex": True|False, # Optional, if set to True, `query_output` should be a regex + }, + "": { + "": { + "endpoint": "", + "header": "", + "body": '{, + "response": , + }, + }, +``` +3. See [caikit_standalone](../utilities/manifests/caikit_standalone.py) for an example + +## AI Usage +If using AI tooling to assist you in the process of writing or reviewing code: +1. Understand what you are doing --as a developer, you are ultimately responsible for the code. Always assume the code produced by the AI tools is unsafe and incorrect, and always double-check it. +2. We support [AGENTS.md](../AGENTS.md), an [open format](https://agents.md/) for guiding coding agents. If you use any proprietary tool that does not support `AGENTS.md` (e.g. Claude Code, Qwen Code, Gemini Code), you can create a symlink: +```bash +ln -s AGENTS.md CLAUDE.md +```