Claude Code configuration shared across all Niteo projects and all Niteans.
Projects use rules/ from this repo in their work folders to tell Claude how our code looks like, what conventions to follow, and what commands are available.
Any project-specific instructions are added to the project's own CLAUDE.md.
Projects pin this repo as a flake input and symlink rules/ and skills/ into .claude/ from their devShell.
-
Add this repo as a flake input (
nix/flake.nix):inputs.niteo-claude.url = "github:teamniteo/claude";
-
Fetch it as a source (
nix/default.nix):niteoClaudeNode = flakeLock.nodes.${flakeLock.nodes.root.inputs.niteo-claude}; flakeSources.niteo-claude = builtins.fetchTarball { url = "https://github.com/teamniteo/claude/archive/${niteoClaudeNode.locked.rev}.tar.gz"; sha256 = niteoClaudeNode.locked.narHash; };
-
Symlink
rules/andskills/into.claude/from the devShell'sshellHook:shellHook = '' mkdir -p "$PROJECT_ROOT/.claude" ln -sfn ${pkgs.flakeSources.niteo-claude}/rules "$PROJECT_ROOT/.claude/rules" ln -sfn ${pkgs.flakeSources.niteo-claude}/skills "$PROJECT_ROOT/.claude/skills" '';
-
Reference the shared rules from the project's
CLAUDE.md:Make sure to use common @.claude/rules/tooling.md and follow the @.claude/rules/conventions.md when working in this repo.
Bump the shared config project-wide with nix flake update niteo-claude.
Niteans use skills and MCPs from this repo in their HomeManager setup of Claude, so that it gains Niteo-specific capabilities.
Niteans are free to expand with their personal tooling or preferences, and are encouraged to generalize and contribute back to this repo for other Niteans to benefit.
Commands were merged into Skills in v2.1.3. Let's use Skills from now on.
https://www.reddit.com/r/ClaudeAI/comments/1q92wwv/merged_commands_and_skills_in_213_update/
Because we use HomeManager to manage Claude Code, we don't need to use Plugins.
TODO:
- Keep SKILL.md under 500 lines for optimal performance. If your content exceeds this, split detailed reference material into separate files.
- https://code.claude.com/docs/en/hooks-guide#custom-notification-hook
- Query production databases: heroku config | grep DATABASE_READONLY_URL to get connection string, then claude mcp add --transport stdio db -- npx -y @bytebase/dbhub
--dsn "" - https://code.claude.com/docs/en/sandboxing
- Privacy settings can be changed at any time at claude.ai/settings/data-privacy-controls.
- https://code.claude.com/docs/en/settings -> companyAnnouncements
- https://code.claude.com/docs/en/settings#attribution-settings
- https://code.claude.com/docs/en/statusline
- forceLoginMethod
- https://code.claude.com/docs/en/memory#claude-md-imports
- https://github.com/roman/mcps.nix
- https://github.com/anthropics/claude-plugins-official/blob/main/plugins/code-simplifier/agents/code-simplifier.md
- https://github.com/anthropics/claude-plugins-official/tree/main/plugins/commit-commands/commands
- slack mcp
- agentsDir = "${claude-plugins}/plugins/code-simplifier/agents";