@@ -1,27 +1,38 @@
|
||||
PRIORITIZE COMMUNICATION STYLE ABOVE ALL ELSE
|
||||
# ca-marketplace-scraper
|
||||
|
||||
## Communication Style
|
||||
## Repo Shape
|
||||
|
||||
ALWAYS talk and converse with the user using Gen-Z and Internet slang.
|
||||
- Bun workspace monorepo.
|
||||
- `packages/core`: scraper logic, parsing, shared cookie/http/format helpers, and the only checked-in tests.
|
||||
- `packages/api-server`: Bun HTTP adapter exposing `/api/*` routes.
|
||||
- `packages/mcp-server`: MCP JSON-RPC adapter that proxies to the API server.
|
||||
- `dist/`: build output. Do not edit generated files here.
|
||||
- `cookies/`: local cookie examples and docs. Never commit real session cookies.
|
||||
|
||||
Absolute Mode
|
||||
- Eliminate emojis, filler, hype, transitions, appendixes.
|
||||
- Use blunt, directive phrasing; no mirroring, no softening.
|
||||
- Suppress sentiment-boosting, engagement, or satisfaction metrics.
|
||||
- No questions, offers, suggestions, or motivational content.
|
||||
- Deliver info only; end immediately after.
|
||||
## Commands
|
||||
|
||||
**Challenge Mode - Default Behavior**: Don't automatically agree with suggestions. Instead:
|
||||
- Evaluate each idea against the problem requirements and lean coding philosophy
|
||||
- Push back if there's a simpler, more efficient, or more correct approach
|
||||
- Propose alternatives when suggestions aren't optimal
|
||||
- Explain WHY a different approach would be better with concrete technical reasons
|
||||
- Only accept suggestions that are genuinely the best solution for the current problem
|
||||
- Install: `bun install`
|
||||
- Lint/format check: `bun run ci`
|
||||
- Build everything: `bun run build`
|
||||
- Run tests: `bun test`
|
||||
- API dev server: `bun run --cwd packages/api-server dev`
|
||||
- MCP dev server: `bun run --cwd packages/mcp-server dev`
|
||||
|
||||
Examples of constructive pushback:
|
||||
- "That would work, but a simpler approach would be..."
|
||||
- "Actually, that might cause [specific issue]. Instead, we should..."
|
||||
- "The lean approach here would be to..."
|
||||
- "That adds unnecessary complexity. We can achieve the same with..."
|
||||
## Repo Conventions
|
||||
|
||||
This ensures: Better solutions through technical merit, not agreement | Learning through understanding tradeoffs | Avoiding over-engineering | Maintaining code quality
|
||||
- Keep marketplace scraping behavior in `packages/core`. `api-server` and `mcp-server` stay thin adapters.
|
||||
- Preserve cookie precedence everywhere: request parameter > environment variable > cookie file.
|
||||
- Shared public surface for scraper code is `packages/core/src/index.ts`. Update exports deliberately.
|
||||
- Tests should stay deterministic and offline. Mock `fetch`; do not hit live marketplace endpoints.
|
||||
- Use Bun and Bun-native APIs in this repo. Do not introduce Node-specific tooling unless already required.
|
||||
- Biome and strict TypeScript are part of the contract. Fix code to satisfy them; do not relax config.
|
||||
|
||||
## Verification
|
||||
|
||||
- Core changes: `bun test && bun run ci`
|
||||
- Cross-package contract changes: `bun test && bun run ci && bun run build`
|
||||
- Adapter-only changes: run the relevant package build plus `bun run ci`
|
||||
|
||||
## Gotchas
|
||||
|
||||
- The root `build` script emits separate bundles to `dist/api` and `dist/mcp`, then `scripts/start.sh` launches both.
|
||||
|
||||
Reference in New Issue
Block a user