CLAUDE.md
CLAUDE.mdCLAUDE.mdroot
Quality
97/100
Scores the file, not the repository.Length
487 words
31 headings · 7 code blocksRepository
0
— · pushed 119 days agoLast changed
2 days ago
First indexed 2 days ago.1# CLAUDE.md23This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.45## Repository Overview67This is the "Project Shisha" monorepo structure for Bun/Node applications with Docker, Ansible, and NX build orchestration. The repository contains:89### Applications101. `apps/fuel-advisor-bot/` - Telegram bot for fuel price recommendations112. `apps/tablo-crawler/` - Crawler application1213### Shared Packages143. `packages/shared-lib/` - Shared utilities and helpers154. `packages/shared-config/` - Shared ESLint and TypeScript configurations1617## NX Build Orchestration1819This project uses **NX** for build orchestration, caching, and affected project detection. NX works alongside Bun workspaces.2021### Key NX Commands2223```bash24# Build all projects (respects dependency order)25npm run nx:build2627# Build only affected projects (changes since main)28npm run nx:build:affected2930# Test all/affected projects31npm run nx:test32npm run nx:test:affected3334# Lint all/affected projects35npm run nx:lint36npm run nx:lint:affected3738# TypeScript check all/affected projects39npm run nx:typecheck40npm run nx:typecheck:affected4142# Visualize project graph43npm run nx:graph4445# List all projects46npm run nx:show:projects4748# Clear cache49npm run nx:reset50```5152### Project Dependencies5354```55shared-config → shared-lib → fuel-advisor-bot56 → tablo-crawler57```5859When using `nx affected`, NX automatically determines which projects need rebuilding based on source changes and their dependencies.6061## Development Setup6263### Prerequisites6465- Bun 1.0+ or Node.js 18+66- NX CLI (installed as dev dependency)6768### Quick Start6970```bash71# Install dependencies72bun install7374# Run development mode75bun run dev:fuel-advisor-bot76bun run dev:tablo-crawler7778# Build all projects with NX (caches results)79npm run nx:build8081# Build only changed projects82npm run nx:build:affected83```8485## Project Structure8687```88project-shisha/89├── nx.json # NX workspace configuration90├── apps/91│ ├── fuel-advisor-bot/92│ │ ├── project.json # NX project config93│ │ └── ...94│ └── tablo-crawler/95│ ├── project.json # NX project config96│ └── ...97├── packages/98│ ├── shared-lib/99│ │ └── project.json # Library project config100│ └── shared-config/101│ └── project.json # Config library project102└── .nx/ # Shared NX configurations103```104105## Key Technologies106107- **Bun** - JavaScript runtime and package manager108- **NX** - Build orchestration and caching109- **Node.js** - Runtime environment110- **Docker** - Containerization111- **Ansible** - Deployment automation112- **Watchtower** - Container update monitoring113114## Deployment115116Both applications follow a consistent deployment pattern:1171181. Update `deploy.vars.yml` with configuration1192. Build with NX (uses cache):120```bash121 npm run nx:build:affected122```1233. Deploy using Ansible:124```bash125 ansible-playbook -i ansible/inventories/production/hosts.ini ansible/playbooks/deploy-app.yml126```127128## Environment Variables129130Each application has its own `.env.example` file that should be copied to `.env` and updated with appropriate values.131132## Testing133134```bash135# Test all projects (cached)136npm run nx:test137138# Test only affected projects139npm run nx:test:affected140141# Test specific project142npx nx test fuel-advisor-bot143```144145## Remote Caching (Optional)146147To enable remote caching with Nx Cloud:1481491. Connect: `npx nx connect-to-nx-cloud`1502. Set `NX_CLOUD_ACCESS_TOKEN` in GitHub Actions151152This allows build cache to be shared across machines and CI pipelines.153
Also in BattlefieldNoob/Project-Shisha
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| BattlefieldNoob/Project-Shisha.clinerules/agent-guidelines.md · 0 | Cline rules | setupbuildstyleagent-behaviour+1 | 73/100 | 2 days ago | |
| BattlefieldNoob/Project-Shisha.clinerules/project-context.md · 0 | Cline rules | teststylearchagent-behaviour | 71/100 | 2 days ago | |
| BattlefieldNoob/Project-Shisha.clinerules/testing-rules.md · 0 | Cline rules | teststyletesting-strategydo-not | 54/100 | 2 days ago |
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| Adit-Jain-srm/NightmareNetCLAUDE.md · 45 | CLAUDE.md | buildtestlint-formatstyle+6 | 100/100 | 3 days ago | |
| bagisto/bagistoCLAUDE.md · 28k | CLAUDE.md | setupbuildteststyle+5 | 100/100 | 3 days ago | |
| microsoft/playwrightCLAUDE.md · 94k | CLAUDE.md | buildtestlint-formatstyle+7 | 100/100 | 3 days ago | |
| dotCMS/corecore-web/CLAUDE.md · 949 | CLAUDE.md | teststylearchtesting-strategy+3 | 100/100 | 3 days ago | |
| nimbalyst/nimbalystpackages/android/CLAUDE.md · 1.4k | CLAUDE.md | setupbuildstylearch+2 | 100/100 | 3 days ago | |
| filamentphp/filamentCLAUDE.md · 32k | CLAUDE.md | buildtestlint-formatstyle+7 | 100/100 | 3 days ago | |
| dotCMS/coreCLAUDE.md · 949 | CLAUDE.md | setupbuildteststyle+7 | 99/100 | today | |
| lollipopkit/flutter_server_boxCLAUDE.md · 8.3k | CLAUDE.md | buildteststylearch+2 | 98/100 | 3 days ago |
