Skip to content

Add initial CLAUDE.md for AI-assisted development#1342

Open
BryanFauble wants to merge 4 commits intodevelopfrom
add-claude-md
Open

Add initial CLAUDE.md for AI-assisted development#1342
BryanFauble wants to merge 4 commits intodevelopfrom
add-claude-md

Conversation

@BryanFauble
Copy link
Member

@BryanFauble BryanFauble commented Mar 23, 2026

Summary

  • Adds root CLAUDE.md (95 lines) and 4 module-level CLAUDE.md files (170 lines total) capturing non-obvious conventions and patterns that AI assistants cannot infer from the code alone
  • Root: async-to-sync decorator system, protocol classes, dataclass models with fill_from_dict(), concrete Java type mapping, mixin composition, layered architecture, testing conventions
  • synapseclient/models/: new model checklist, standard fields, _last_persistent_instance lifecycle, EnumCoercionMixin, fill_from_dict() pattern, @otel_trace_method usage
  • synapseclient/api/: function signature conventions, REST call patterns, pagination helpers, new service file checklist
  • synapseclient/core/: async_to_sync internals, retry strategies, credentials chain, upload/download resilience, concrete types registration
  • tests/: async-only test convention, socket blocking, schedule_for_cleanup(), fixture scoping
  • All commands verified from CI configs (build.yml, pytest.ini, .pre-commit-config.yaml)

Test plan

  • Root file under 150 lines (95 lines)
  • All module files under 150 lines (54, 45, 38, 33 lines)
  • Every line passes the quality test: "If I remove this, will Claude mess up?"
  • Commands are verbatim from config files
  • No duplication with README.md content
  • No linter/formatter rules restated (those are enforced by ruff/black/isort/bandit configs)
  • Module files only contain patterns that differ from or extend the root CLAUDE.md

🤖 Generated with Claude Code

Captures non-obvious conventions (async-to-sync decorator, protocol classes,
dataclass models with fill_from_dict, concrete Java types), architecture
overview, verified commands, constraints, and testing patterns that Claude
cannot infer from code alone.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@BryanFauble BryanFauble requested a review from a team as a code owner March 23, 2026 19:48
BryanFauble and others added 3 commits March 23, 2026 20:01
Each file documents non-obvious patterns specific to that module:
- models/: new model checklist, fill_from_dict pattern, _last_persistent_instance
  lifecycle, EnumCoercionMixin usage, standard field requirements
- api/: function signature conventions, REST call patterns, pagination helpers,
  new service file checklist
- core/: async_to_sync internals, retry strategies, credentials chain,
  upload/download resilience, concrete types registration
- tests/: async-only test convention, unit test socket blocking, integration
  test cleanup with schedule_for_cleanup(), fixture scoping

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Rewrote 5 existing files with enhanced behavioral conventions
(reusable utilities, conditional behavior, concurrency patterns).
Added 11 new module-level files for full directory coverage:
operations, models/mixins, models/services, models/protocols,
core/upload, core/download, core/constants, core/credentials,
extensions/curator, synapseutils, and docs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove flake8 from linting list (not a pre-commit hook, only test dep)
- Add Docker info to Stack section
- Add auth env vars and CI matrix details to Testing section
- Fix docs deployment info: Read the Docs, not gh-deploy to GitHub Pages
- Add docs build output dir and autorefs cross-linking syntax
- Expand Windows socket isolation note in tests
- Add conftest.py location guide for tests

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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