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
22 changes: 11 additions & 11 deletions .claude/PROJECT.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
# Claude Integrations - Claude Code Instructions
# CI Infrastructure - Claude Code Instructions

This repository contains integrations for Claude Code and other AI assistants.
This repository contains CI/CD infrastructure configurations and scripts.

## Project Structure

```
claude-integrations/
ci/
├── .claude/ # AI assistant instructions
├── .git/ # Version control
├── .gitignore # Git ignore rules
├── .editorconfig # Editor configuration
└── ... # Integration files
└── ... # CI configuration files
```

## Build Commands

Refer to individual integration documentation.
Refer to individual configuration files for build commands.

## Coding Conventions

- Follow hyperpolymath standards
- Prefer declarative configurations
- Document all integration points
- Test all integrations in isolation
- All configuration in version control
- Use declarative configurations where possible
- Document all non-obvious decisions

## Security

- No hardcoded API keys
- All credentials through secure configuration
- Minimal permissions principle
- No hardcoded secrets
- All secrets through environment variables or secret management
- SHA-pinned dependencies where applicable
3 changes: 0 additions & 3 deletions gitlab-bridge/src/forges/ForgeAdapter.res
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,6 @@ type repository = {
fullName: string,
description: option<string>,
defaultBranch: string,
// `private` is a reserved keyword in ReScript 12, so the variant
// tag is quoted. JSON serialization remains "private" — no
// wire-format change.
visibility: [#public | #"private" | #internal],
url: string,
cloneUrl: string,
Expand Down
18 changes: 5 additions & 13 deletions gitlab-bridge/tests/Setup.res
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,11 @@
* Clears cached environment variables before each test suite.
*/

// External bindings for reading process.env. Setters are not needed
// here — the `%%raw` block below uses JS `delete` directly to clear
// env vars, which is what tests actually call. (The previous version
// also declared `@set @scope(("process", "env")) external …` setters
// for each variable; those were unused and rejected by ReScript 12's
// stricter handling of `@set` + nested `@scope`. Removing them fixes
// the build break flagged in PR #10's "out of scope" notes.)
@val @scope(("process", "env")) external gitlabToken: option<string> = "GITLAB_TOKEN"
@val @scope(("process", "env")) external gitlabUrl: option<string> = "GITLAB_URL"
@val @scope(("process", "env")) external anthropicApiKey: option<string> = "ANTHROPIC_API_KEY"
@val @scope(("process", "env")) external webhookSecret: option<string> = "WEBHOOK_SECRET"

// We use JS interop to delete env vars
// Env-var deletion is done entirely via %%raw below; no ReScript externals
// are needed. The previously-declared @val and @set externals on
// process.env were unused (no caller in this file or anywhere else) and
// the @set form was incompatible with rescript@12's tightened external
// validation, so they have been removed.
%%raw(`
import { beforeEach } from "vitest";

Expand Down
Loading