Skip to content
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
1 change: 1 addition & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
HUGGINGFACE_TOKEN=hf_***
4 changes: 4 additions & 0 deletions .github/dco.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# This enables DCO bot for you, please take a look https://github.com/probot/dco
# for more details.
require:
members: false
14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.env
*.pyc
*.lock
.DS_Store
**/.DS_Store
**/__pycache__/
/notes
/scripts
/backend/venv
.ipynb_checkpoints/
/.venv/
**/.idea
/notebooks/controls/mergekit_models/*
/notebooks/benchmarks/commonsense_mcqa/profiles/profiles.json
27 changes: 27 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
repos:
- repo: https://github.com/ibm/detect-secrets
# If you desire to use a specific version of detect-secrets, you can replace `master` with other git revisions such as branch, tag or commit sha.
# You are encouraged to use static refs such as tags, instead of branch name
#
# Running "pre-commit autoupdate" automatically updates rev to latest tag
rev: 0.13.1+ibm.61.dss
hooks:
- id: detect-secrets # pragma: whitelist secret
# Add options for detect-secrets-hook binary. You can run `detect-secrets-hook --help` to list out all possible options.
# You may also run `pre-commit run detect-secrets` to preview the scan result.
# when "--baseline" without "--use-all-plugins", pre-commit scan with just plugins in baseline file
# when "--baseline" with "--use-all-plugins", pre-commit scan with all available plugins
# add "--fail-on-unaudited" to fail pre-commit for unaudited potential secrets
args: [--baseline, .secrets.baseline, --use-all-plugins]
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.2.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-added-large-files
- repo: https://github.com/pycqa/isort
rev: 5.12.0
hooks:
- id: isort
name: isort (python)
args: ["--profile", "black", "--filter-files"]
122 changes: 122 additions & 0 deletions .secrets.baseline

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions .whitesource
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"settingsInheritedFrom": "whitesource-config/whitesource-config@master"
}
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Changelog

## Version 0.1.0 (2025-08-25)

## What's Changed

⚠️ Some alert

### :tada: New Features / Improvements
* chore: Add read me

### :bug: Fixes

### :package: Dependency updates

### :wrench: Maintenance

### :heavy_plus_sign: Other Changes
94 changes: 94 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# Contributing

[fork]: https://github.com/IBM/AISteer360/fork
[pr]: https://github.com/IBM/AISteer360/compare
[released]: https://help.github.com/articles/github-terms-of-service/

We are pleased that you would like to contribute to AISteer360. We welcome both reporting issues and submitting pull requests.

## Reporting issues
Please make sure to include any potentially useful information in the issue, so we can pinpoint the issue faster without going back and forth.

- What SHA of AISteer360 are you running? If this is not the latest SHA on the main branch, please try if the problem persists with the latest version.
- Python versions

## Contributing a change
Contributions to this project are [released][released] to the public under the project's [opensource license](https://github.com/IBM/AISteer360/blob/main/LICENSE).

Contributors must _sign off_ that they adhere to these requirements by adding a `Signed-off-by` line to all commit messages with an email address that matches the commit author:

```
feat: this is my commit message

Signed-off-by: Random J Developer <random@developer.example.org>
```


Coding Style Guidelines
We are using tools to enforce code style:
- iSort, to sort imports
- Black, to format code

We run a series of checks on the codebase on every commit using pre-commit. To install the hooks, run:
`pre-commit install`

To run the checks on-demand, run:
`pre-commit run --all-files`

## Contributing to documentation
`uv pip install -e ".[docs]"`

We use [MkDocs](https://www.mkdocs.org/) to write documentation.

To run the documentation server, run:

```bash
mkdocs serve
```

The server will be available at [http://localhost:8000](http://localhost:8000).

### Pushing Documentation to GitHub Pages

Run the following:

```bash
mkdocs gh-deploy
```

## Submitting a pull request

1. [Fork][fork] and clone the repository
2. Create a new branch: `git checkout -b my-branch-name`
3. Make your change, push to your fork and [submit a pull request][pr]
4. Wait for your pull request to be reviewed and merged.


## Developer info

We are pleased that you are developing new functionality for the toolkit. Before committing any code, please make sure
you run the secret scanning below.

### Secret scanning

This repository uses IBM's
[detect-secrets](https://github.com/ibm/detect-secrets) to scan for secrets
before the code is pushed to GitHub. Follow installation instructions in their
repository:
<https://github.com/ibm/detect-secrets?tab=readme-ov-file#example-usage>

To update the secrets database manually, run:

```commandline
detect-secrets scan --update .secrets.baseline
```

To audit detected secrets, use:

```commandline
detect-secrets audit .secrets.baseline
```

If the pre-commit hook raises an error but the audit command succeeds with just
`Nothing to audit!` then run `detect-secrets scan --update .secrets.baseline`
to perform a full scan and then repeat the `audit` command.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]
Copyright 2025 IBM Research

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
34 changes: 34 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
NOTICE

This distribution contains code licensed under multiple open source licenses.

1. Original Toolkit Code
Name: aisteer360 — AI Steerability 360 Toolkit
Version: 0.1.0
Copyright © 2025 IBM Research
Licensed under the Apache License, Version 2.0
https://www.apache.org/licenses/LICENSE-2.0

2. Third-Party Component: MergeKit
Version: 0.0.5.1
License: GNU Lesser General Public License v3.0 or later (LGPL-3.0-or-later)
License text: https://www.gnu.org/licenses/lgpl-3.0.html
Source: https://pypi.org/project/mergekit/0.0.5.1/

MergeKit is distributed as an independent Python package dependency and is not
modified or redistributed by this project. This project specifically depends on
the LGPL-licensed version 0.0.5.1. Versions after 0.0.5.1 (starting with v0.1)
use the Business Source License (BSL), which cannot be distributed under
Apache 2.0 terms and are therefore excluded from this toolkit.

3. Third-Party Component: TRL (Hugging Face)
Version: 0.16.1
License: Apache License, Version 2.0
License text: https://www.apache.org/licenses/LICENSE-2.0
Source: https://github.com/huggingface/trl

License Summary:
- The original aisteer360 toolkit code is licensed under Apache 2.0.
- MergeKit v0.0.5.1 is licensed under LGPL-3.0-or-later and included as an unmodified dependency.
- TRL v0.16.1 is licensed under Apache 2.0 and included as an unmodified dependency.
- MergeKit versions after 0.0.5.1 use the BSL and are not included in this distribution.
Loading