Skip to content

Claude code Setup#309

Open
Devesh-Skyflow wants to merge 29 commits into
mainfrom
devesh/claude-code-setup
Open

Claude code Setup#309
Devesh-Skyflow wants to merge 29 commits into
mainfrom
devesh/claude-code-setup

Conversation

@Devesh-Skyflow
Copy link
Copy Markdown
Collaborator

Its in draft state

Devesh-Skyflow and others added 18 commits May 13, 2026 22:57
Captures the design for public interface renames per the server-side SDK
nomenclature changes spec: credential field fallbacks (clientId/keyId/tokenUri),
skyflow_id→skyflowId in Get/Query responses, and QueryResponse errors/tokenizedData
field additions.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Adds explanation for why tokenizedData change is valid despite the Query
API currently not returning tokens — based on V1FieldRecords schema
support and cross-SDK consistency requirement.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Adds detailed rationale to each design section: why the naming convention
matters, why the fallback strategy was chosen over a hard cut, why
skyflow_id normalization is inconsistent today, the tokenizedData API
schema vs docs discrepancy, and why getErrors() is missing only from
QueryResponse.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Clarifies that ignoring record.getTokens() in getFormattedQueryRecord
is intentional (Query API cannot return tokens), and that the fix is
to promote the toString() hack into a real always-empty field rather
than reading from the API response.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Query API cannot return tokens; the toString() inconsistency is not
worth fixing since callers have no reason to access tokenizedData
programmatically on query results.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
5-task TDD plan covering credential field renames with fallback,
skyflow_id normalisation in Get/Query responses, and QueryResponse
getErrors() accessor.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…old form

Add fallback lookup logic so getBearerTokenFromCredentials tries new camelCase
keys (clientId, keyId, tokenUri) first and falls back to the legacy all-caps
forms (clientID, keyID, tokenURI) for backward compatibility during migration.
Add testBearerTokenWithNewFormCredentialKeys to verify the new key form is
recognized end-to-end.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…form

Add fallback logic to GenerateSignedTokensFromCredentials so both new-form
keys (clientId/keyId) and legacy all-caps keys (clientID/keyID) are accepted
during migration. Mirrors the pattern already applied to BearerToken.java.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Insert and Update responses already used camelCase skyflowId; Get and
Query were passing through the raw wire-format snake_case key. Add the
rename in getFormattedGetRecord and getFormattedQueryRecord, and add
reflection-based unit tests to cover both formatters.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Adapted from skyflow-node PR #305. Includes:
- CLAUDE.md with project overview, structure, naming conventions, build commands
- .claude/settings.json with PostToolUse compile+checkstyle hooks, PreToolUse
  generated-code guard, Stop notification; paths are relative (no hardcoded user dirs)
- .claude/commands/: code-review, code-security, sdk-sample, test slash commands

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
- CLAUDE.md: add vault/bin/ package, all 5 controllers, pre-existing
  test failure baseline
- settings.json: fix checkstyle hook to print violations (was silently
  swallowing output with capture_output=True)
- sdk-sample.md: fix InsertOptions (doesn't exist), correct sample
  package structure, correct credential type per feature
- code-review.md: fix validation location (controller not build()),
  fix HashMap rule (SDK pattern is raw HashMaps)
- test.md: document pre-existing failures, note checkstyle failsOnError

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…mmand

Splits old Section 6 into:
- Section 6: Code quality (actionable correctness checks)
- Section 7: Code smells (structural signals, flagged at Smell severity)

Code smell catalogue covers: long methods/classes, business logic in
data classes, toString() with logic, deep nesting, magic numbers,
raw HashMap chains, dead code, stale comments, temporary fields.

Severity table clarified: Critical/Bug/Edge Case/Quality = fix before
merge; Smell = flag and track.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
- settings.json: single PostToolUse hook with per-file checkstyle,
  removed redundant compile hook, PreToolUse, and macOS Stop notification;
  permissions.deny handles generated/ protection
- YAML front matter added to CLAUDE.md and all .claude/commands/*.md
- code-smell.md: new standalone structural smell analysis command
- .claude/skills/: project-level requesting-code-review override with
  Java-specific guidance (warnOnce, security review lane, branch SHA pattern)

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Claude command files use British English (serialise, normalise, behaviour,
sanitisation, prioritised). Maven -D flags (-DskipTests, -Dtest) are now
ignored by cspell regex pattern.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Runs cspell before structural analysis. Reports unknown words at Smell
severity. Points to .cspell.json for adding project-specific terms.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
- Single PostToolUse: per-file checkstyle only (removed redundant compile
  hook, removed PreToolUse generated-code hook, removed macOS Stop notification)
- Per-file checkstyle via -Dcheckstyle.includes=<relative-path> for speed
- permissions.deny handles generated/ protection natively

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Semgrep Findings: Issues with Error level severity are found (Error is Highest severity in Semgrep), Please resolve the issues before merging.

- CLAUDE.md: project context, naming conventions, build commands, known
  test failures, slash command reference
- .claude/settings.json: PostToolUse per-file checkstyle hook;
  permissions.deny blocks edits to generated/ code
- .claude/commands/: code-review, code-security, code-smell, sdk-sample,
  test — all with YAML front matter (name, description, paths)
- .claude/skills/requesting-code-review/SKILL.md: Java-specific review
  guidance (review type routing, branch SHA pattern, security lane)
- .cspell.json: add British English spellings, Maven -D flag regex,
  ignorePaths for RUNNING_SAMPLES.md and docs/superpowers/

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@Devesh-Skyflow Devesh-Skyflow force-pushed the devesh/claude-code-setup branch from 3de3b91 to e48ef59 Compare May 18, 2026 11:48
@github-actions
Copy link
Copy Markdown

Gitleaks Findings: No secrets detected. Safe to proceed!

@github-actions
Copy link
Copy Markdown

Semgrep Findings: Issues with Error level severity are found (Error is Highest severity in Semgrep), Please resolve the issues before merging.

@skyflowapi skyflowapi deleted a comment from github-actions Bot May 18, 2026
@github-actions
Copy link
Copy Markdown

Gitleaks Findings: No secrets detected. Safe to proceed!

@github-actions
Copy link
Copy Markdown

Semgrep Findings: Issues with Error level severity are found (Error is Highest severity in Semgrep), Please resolve the issues before merging.

# Conflicts:
#	.cspell.json
#	src/main/java/com/skyflow/serviceaccount/util/BearerToken.java
#	src/main/java/com/skyflow/serviceaccount/util/SignedDataTokens.java
#	src/main/java/com/skyflow/vault/controller/VaultController.java
#	src/test/java/com/skyflow/serviceaccount/util/BearerTokenTests.java
#	src/test/java/com/skyflow/vault/controller/VaultControllerTests.java
…evesh/claude-code-setup

# Conflicts:
#	.cspell.json
#	CLAUDE.md
@github-actions
Copy link
Copy Markdown

Gitleaks Findings: No secrets detected. Safe to proceed!

@github-actions
Copy link
Copy Markdown

Semgrep Findings: Issues with Error level severity are found (Error is Highest severity in Semgrep), Please resolve the issues before merging.

- Extract checkstyle hook from inline JSON to .claude/hooks/checkstyle-on-edit.py
- Remove redundant mvn exec:java entries from settings.local.json
- Add audit/BIN packages to sdk-sample.md file placement table
- Add Commit & PR Guidelines section to CLAUDE.md (Jira ID requirement,
  branch naming, PR template sections)

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Gitleaks Findings: No secrets detected. Safe to proceed!

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Semgrep Findings: Issues with Error level severity are found (Error is Highest severity in Semgrep), Please resolve the issues before merging.

@github-actions
Copy link
Copy Markdown

Gitleaks Findings: No secrets detected. Safe to proceed!

@github-actions
Copy link
Copy Markdown

Semgrep Findings: Issues with Error level severity are found (Error is Highest severity in Semgrep), Please resolve the issues before merging.

v2.1 is current stable, v3 is pre-release for Flow DB only
(bulkInsert, batchProcessing) used by Spark wrapper.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Gitleaks Findings: No secrets detected. Safe to proceed!

@github-actions
Copy link
Copy Markdown

Semgrep Findings: Issues with Error level severity are found (Error is Highest severity in Semgrep), Please resolve the issues before merging.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Gitleaks Findings: No secrets detected. Safe to proceed!

@github-actions
Copy link
Copy Markdown

Semgrep Findings: Issues with Error level severity are found (Error is Highest severity in Semgrep), Please resolve the issues before merging.

… integration

Token reduction:
- Condense CLAUDE.md project structure tree (27 → 14 lines)
- Remove stale test count from CLAUDE.md
- Remove duplicated failures table from test.md (reference CLAUDE.md instead)
- Collapse duplicate naming/normalisation sections in code-review.md

Productivity:
- Add /commit command with Jira ticket ID extraction from branch name
- Add git/find/grep/npx cspell to settings.json allow list

CI/CD:
- Add claude-pr-review.yml: automated SDK patterns + security review on PRs
- Add claude-changelog.yml: auto-generated release notes on tag push

Requires ANTHROPIC_API_KEY secret in GitHub Actions.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Gitleaks Findings: No secrets detected. Safe to proceed!

@github-actions
Copy link
Copy Markdown

Semgrep Findings: Issues with Error level severity are found (Error is Highest severity in Semgrep), Please resolve the issues before merging.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Gitleaks Findings: No secrets detected. Safe to proceed!

@github-actions
Copy link
Copy Markdown

Semgrep Findings: Issues with Error level severity are found (Error is Highest severity in Semgrep), Please resolve the issues before merging.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Gitleaks Findings: No secrets detected. Safe to proceed!

@github-actions
Copy link
Copy Markdown

Semgrep Findings: Issues with Error level severity are found (Error is Highest severity in Semgrep), Please resolve the issues before merging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant