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
21 changes: 21 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
name: Feature request
about: Suggest an idea for this project
---

**Feature request checklist**

- [ ] There are no issues that match the desired change
- [ ] The change is large enough it can't be addressed with a simple Pull
Request

**Change**
Summary of the proposed change and some details about what problem
it helps solve.

**Example**
Replace this text with an example indicating the desired functionality.

**Alternatives considered**
Briefly list alternative designs, or an example of the functionality to be
replaced.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
bazel-bin/
bazel-out/
bazel-skills/
bazel-testlogs/
8 changes: 8 additions & 0 deletions BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@



exports_files(["LICENSE"])



licenses(["notice"]) # Apache 2.0
96 changes: 96 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of
experience, education, socio-economic status, nationality, personal appearance,
race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers 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, or to ban temporarily or permanently any
contributor for other behaviors that they deem inappropriate, threatening,
offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

This Code of Conduct also applies outside the project spaces when the Project
Steward has a reasonable belief that an individual's behavior may have a
negative impact on the project or its community.

## Conflict Resolution

We do not believe that all conflict is bad; healthy debate and disagreement
often yield positive results. However, it is never okay to be disrespectful or
to engage in behavior that violates the project’s code of conduct.

If you see someone violating the code of conduct, you are encouraged to address
the behavior directly with those involved. Many issues can be resolved quickly
and easily, and this gives people more control over the outcome of their
dispute. If you are unable to resolve the matter for any reason, or if the
behavior is threatening or harassing, report it. We are dedicated to providing
an environment where participants feel welcome and safe.

Reports should be directed to Tristan Swadell, tswadell at google dot com, the
Project Steward(s) for CEL. It is the Project Steward’s duty to receive and
address reported violations of the code of conduct. They will then work with a
committee consisting of representatives from the Open Source Programs Office
and the Google Open Source Strategy team. If for any reason you are
uncomfortable reaching out to the Project Steward, please email
opensource@google.com.

We will investigate every complaint, but you may not receive a direct response.
We will use our discretion in determining when and how to follow up on reported
incidents, which may range from not taking action to permanent expulsion from
the project and project-sponsored spaces. We will notify the accused of the
report and provide them an opportunity to discuss it before any action is taken.
The identity of the reporter will be omitted from the details of the report
supplied to the accused. In potentially harmful situations, such as ongoing
harassment or threats to anyone's safety, we may take action without notice.

## Attribution

This Code of Conduct is adapted from the Contributor Covenant, version 1.4,
available at
https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

Note: A version of this file is also available in the
[New Project repo](https://github.com/google/new-project/blob/master/docs/code-of-conduct.md).
66 changes: 66 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Contributing

Thank you for your interest in contributing to CEL Skills!

## Where to Start?

CEL is a dynamic expression language that parses into a portable format,
and lends itself well to evaluation across processes through its support
of evaluation with partial state.

We currently welcome a wide variety of contributions:

* Requests for bugs and features through issues.
* Fixes of bugs and implementations of features.
* Documentation and examples.

The general guideline is that contributions must improve the user experience
without significantly altering its semantics or performance characteristics.

Learn more about CEL semantics in the [CEL Spec][1] repo.

## Contribution Process

All submissions require review. Small changes can be submitted directly via
[Pull Request](./PULL_REQUEST_TEMPLATE.md) on GitHub. Use your judgement about
what constitutes a small change, but if in doubt, follow this process for
larger changes:

* Determine whether the changes has already been requested in Issues.
* If so, please add a comment to indicate your interest as this helps
the CEL maintainers prioritize changes.
* If not, file an [Issue](https://github.com/cel-expr/skills/issues/new/choose).

## Code Contributions

See [PULL_REQUEST_TEMPLATE.md](./PULL_REQUEST_TEMPLATE.md) for guidelines on
creating, reviewing, and merging code contributions.

### Contributor License Agreement

Code contributions must be accompanied by a Contributor License Agreement. You
(or your employer) retain the copyright to your contribution, but the agreement
gives us permission to use and redistribute your contributions as part of the
project. Visit <https://cla.developers.google.com/> to view prior agreements,
or to sign a new one.

You generally only need to submit a CLA once, so if you've already submitted
one (even if it was for a different project), you probably don't need to do it
again.

## Code Reviews

All code changes must be reviewed before merge. Expect maintainers to respond
to new issues or pull requests within a week.

If approval is given to a code change, commits should be squashed on merge.
This makes it easier to triage issues related to a change, and makes the commit
graph human-readable.

For outstanding and ongoing issues and particularly for long-running pull
requests, expect the maintainers to review within a week of a contributor
asking for a new review. There is no commitment to resolution -- merging
or closing a pull request, or fixing or closing an issue -- because some
issues will require more discussion than others.

[1]: https://github.com/google/cel-spec
21 changes: 21 additions & 0 deletions GEMINI.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Google Common Expression Language (CEL) Extension

This extension provides the Gemini CLI with tools and skills to author, test,
and debug CEL expressions.

## Provided Tools

The `cel` MCP server provides the following tools:

- `cel_create_environment`: Defines the variables, functions, types for an
expression.
- `cel_generate_prompt`: Generates an authoring prompt for an expression based
on the configuration and requirement.
- `cel_compile`: Compiles a CEL expression to validate syntax, correctness, and
type checking against an environment definition.
- `cel_evaluate`: Evaluates a compiled expression against provided test cases.

## Available Skills

To understand how to best use these tools, please refer to the `cel-authoring`,
`cel-testing`, and `cel-debugging` skills.
Loading