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
56 changes: 54 additions & 2 deletions .claude/CLAUDE.md

@SaintPatrck SaintPatrck Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💭 Some of these sections don't look like they'd meet the "information Claude always needs in every session" bar. We intentionally ask that CLAUDE.md be lean so that we don't introduce unnecessary context into every session. They're asking for details that are better suited as Skills or Rules.

Where documentation lives contradicts what the template is requiring, primarily because it "gives a second home" to much of what it's asking for. Some explicitly called out in the contributing docs.

A quick scan of bitwarden-init does not route anything to Rules or Skills, so everything gets dumped here. It doesn't appear to look for or respect README or any other docs/ that may exist and no instructions to not duplicate them in CLAUDE.md. I've not personally run bitwarden-init on any repos, and none of our existing ones appear to have used it either. If it's not updated to align with our documentation standards, I'm hesitant to suggest using this. It's just going to create tech-debt that someone has to cleanup.

In a new repo, would bitwarden-init even produce anything of value until a meaningful amount of source code is present. Someone using this template has no guidance on when to run bitwarden-init to get value from it.

@SaintPatrck SaintPatrck Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was able to find a few repos that used the template, and they mostly validate my concerns. Repeating documentation that has drifted, instructions that are clearly task-specific, and rules that only apply to specific files/paths. Several are pretty long too, ranging from 700 to 1500 lines, and were never reviewed by the AI team.

Original file line number Diff line number Diff line change
@@ -1,3 +1,55 @@
# Claude Code Configuration
# Repository name - Claude Code Configuration

TODO: see https://bitwarden.atlassian.net/wiki/x/LgDMaQ for configuration tips to complete the `.claude/CLAUDE.md` file
<!--
Template guidance — delete this comment when customizing your new repo.

Run /bitwarden-init:init to generate this file from an analysis of your
Comment thread
withinfocus marked this conversation as resolved.
codebase. It fills the sections below and requires these exact headings:
https://github.com/bitwarden/ai-plugins/tree/main/plugins/bitwarden-init
-->

Brief description of the project and its primary purpose.

## Overview

What this project does, key concepts, and target consumers.

## Architecture & Patterns

System architecture, code organization, key principles, and core patterns.

## Development Guide

Step-by-step instructions for the most common development tasks.

## Data Models

Core types and validation schemas.

## Security & Configuration

Security rules, environment configuration, and authentication.

## Testing

Test structure, writing tests, and running tests.

## Code Style & Standards

Formatting, naming conventions, and pre-commit hooks.

## Anti-Patterns

DO and DON'T lists.

## Deployment

Building, versioning, and publishing.

## Troubleshooting

Common issues and debug tips.

## References

Official documentation, internal documentation, and tools.
47 changes: 38 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,35 @@
# Template Repository
# Repository name

This repository serves as a template for others and establishes very basic structure and tooling setup for later customization.
<!--
Template guidance — delete this comment when customizing your new repo.

## Hooks
This README follows the documentation standard; fill the sections below and
delete the ones marked optional that do not apply:
https://contributing.bitwarden.com/contributing/documentation
-->

One or two sentences stating what this repository is and which products or systems it serves.

## Getting started

Build instructions and environment setup live in the
[contributing documentation](https://contributing.bitwarden.com/getting-started/).

<!-- Only repo-specific setup with no home on the site belongs below this line. -->

## Structure

<!-- Monorepos only; delete otherwise. One line per container or top-level component. -->

| Container or component | Purpose |
| ---------------------- | ------- |
| | |

## Related repositories

- [bitwarden/server](https://github.com/bitwarden/server) — replace with the repos this one interacts with

## Git hooks

Hooks are centrally configured for the repo in the `.gitconfig` file. The `pre-commit` hook
([`.githooks/pre-commit`](.githooks/pre-commit)) runs [Prettier](https://prettier.io) (`--check`) on
Expand All @@ -20,10 +47,12 @@ git config set --local include.path "../.gitconfig"
Running the hook requires [Node.js](https://nodejs.org) (>=18); the tools are fetched on demand via
`npx`.

## Customizing the linter
<!--
Customizing the linter — delete this comment when customizing your new repo.

Because this is a template, treat the linter as a starting point and adjust it for your repo. The file
extensions are the most likely thing to change: Prettier checks Markdown, JSON, JSON5, and YAML, and
CSpell checks Markdown. If you change those globs, update both
[`.githooks/pre-commit`](.githooks/pre-commit) and the [Lint workflow](.github/workflows/lint.yml) so
local commits and CI stay in sync. Swapping tools or changing the pinned versions works the same way.
Treat the linter as a starting point. The file extensions are the most likely
thing to change: Prettier checks Markdown, JSON, JSON5, and YAML, and CSpell
checks Markdown. If you change those globs, update both .githooks/pre-commit
and the Lint workflow so local commits and CI stay in sync. Swapping tools or
changing the pinned versions works the same way.
-->