Skip to content

docs: rewrite README, add CLAUDE.md, refresh CONTRIBUTING#1079

Merged
patrikbraborec merged 3 commits intomasterfrom
docs/improve-readme-and-contributing
Apr 15, 2026
Merged

docs: rewrite README, add CLAUDE.md, refresh CONTRIBUTING#1079
patrikbraborec merged 3 commits intomasterfrom
docs/improve-readme-and-contributing

Conversation

@patrikbraborec
Copy link
Copy Markdown
Contributor

Summary

  • Rewrites README.md around a scannable structure (one-line description, features, 3-step quick start, per-platform install, commands table, docs links, telemetry, contributing, support, license) aimed at both users and AI agents. Moves the .actor/actor.json deep dive and env-vars reference out to the platform docs.
  • Adds a root CLAUDE.md with project overview, key directories, common commands, a pre-push checklist (yarn lintyarn formatyarn buildyarn test:local), test hook patterns, and release flow.
  • Refreshes CONTRIBUTING.md: adds prerequisites, local setup, code style tooling (Biome / ESLint / Prettier), test categories table, PR guidelines, and rewrites the Publish section to match the actual automated release flow (no more manual package.json bump).

Closes #1067

Test plan

  • yarn lint passes
  • yarn format passes (Prettier on the three Markdown files)
  • yarn build succeeds
  • Review rendered Markdown on GitHub
  • Sanity-check links (docs.apify.com, console.apify.com, Discord) resolve

🤖 Generated with Claude Code

Rewrites README.md around a scannable structure (features, quick start,
per-platform install, commands table, docs, telemetry, contributing,
support) aimed at both users and AI agents.

Adds a root CLAUDE.md with project overview, key directories, common
commands, a pre-push checklist, test hook patterns, and release flow.

Refreshes CONTRIBUTING.md with prerequisites, local setup, code style
tooling, test categories, PR guidelines, and rewrites the Publish
section to match the current automated release workflow.

Closes #1067

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions github-actions bot added the t-c&c Team covering store and finance matters. label Apr 13, 2026
@patrikbraborec patrikbraborec added t-dx Issues owned by the DX team. and removed t-c&c Team covering store and finance matters. labels Apr 13, 2026
@github-actions github-actions bot added the t-c&c Team covering store and finance matters. label Apr 13, 2026
@stetizu1 stetizu1 added t-publishers Issues owned by the publishers team. and removed t-c&c Team covering store and finance matters. labels Apr 13, 2026
@patrikbraborec patrikbraborec removed the t-publishers Issues owned by the publishers team. label Apr 13, 2026
@github-actions github-actions bot added the tested Temporary label used only programatically for some analytics. label Apr 13, 2026
@patrikbraborec patrikbraborec force-pushed the docs/improve-readme-and-contributing branch from ee5d573 to d3935c3 Compare April 13, 2026 12:48
@patrikbraborec patrikbraborec requested review from DaveHanns and l2ysho and removed request for vladfrangu April 14, 2026 07:58
Copy link
Copy Markdown
Contributor

@l2ysho l2ysho left a comment

Choose a reason for hiding this comment

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

CLAUDE.md is generated with /init? It is very verbose, in general it is good to keep it as short as possible, do not put there something which claude can find out by simply looking to codebase. Things to avoid part is valuable though.

I tried to "destile" this one using claude, but feel free to discuss this with someone more competent than me. (maybe I am too strict buy i think this is still too long :] )

# CLAUDE.md
                                                                                                                                                                                                  
  Guidance for Claude Code working in this repository. Humans should read [README.md](./README.md) and [CONTRIBUTING.md](./CONTRIBUTING.md) first.                                                
                                                                                                                                                                                                  
  ## Entry points                                                                                                                                                                                 
                                                                                                       
  - `apify` CLI — `src/entrypoints/apify.ts`                                                                                                                                                      
  - `actor` CLI — `src/entrypoints/actor.ts`
                                                                                                                                                                                                  
  ## Before you push                                                                                   
                                                                                                                                                                                                  
  Run `yarn lint && yarn format && yarn build && yarn test:local` before pushing. Run `yarn test:api` too if you changed anything that touches the Apify API.                                     
          
  If you modified a command's flags, args, description, or added/removed a command, also run `yarn update-docs` and commit the regenerated `docs/` output.                                        
                                                                                                       
  ## Code conventions                                                                                                                                                                             
                                                                                                       
  - Package manager: **Yarn 4** (via Corepack). Do not use npm.                                                                                                                                   
  - Use `.js` import specifiers for local files (e.g. `import { foo } from './foo.js'`). The `.ts` source resolves at build time.
  - Commands extend `ApifyCommand` from `src/lib/command-framework/apify-command.ts`. Follow the pattern of existing commands: `static override name`, `static override description`, `static     
  override flags/args`, and an `async run()` method.                                                                                                                                              
  - New commands must be registered in `src/commands/_register.ts` (or the parent `_index.ts` for subcommands).                                                                                   
  - Do not add docstrings, comments, or type annotations to code you did not change. Keep diffs tight.                                                                                            
                                                                                                                                                                                                  
  ## Testing                                                                                                                                                                                      
                                                                                                                                                                                                  
  - Tests use **Vitest**. See [CONTRIBUTING.md](./CONTRIBUTING.md#writing-tests) for `useAuthSetup` and `useTempPath` hook usage.                                                                 
  - API tests must include `[api]` in the test name and live in `test/api/`.
  - Always `import process from 'node:process'` in command/lib code — never use `globalThis.process`. This is required for test cwd mocks to work.                                                
                                                                                                                                                                                                  
  ## Things to avoid
                                                                                                                                                                                                  
  - Do not use `--no-verify` to skip git hooks. Fix the underlying issue.                                                                                                                         
  - Do not edit `docs/` by hand — it is generated by `yarn update-docs`.

@patrikbraborec
Copy link
Copy Markdown
Contributor Author

patrikbraborec commented Apr 15, 2026

@l2ysho yeah, it was /init. Thanks for the correction, I will update it! Let's keep it short, and iterate.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@patrikbraborec patrikbraborec merged commit 843360e into master Apr 15, 2026
22 checks passed
@patrikbraborec patrikbraborec deleted the docs/improve-readme-and-contributing branch April 15, 2026 11:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

t-dx Issues owned by the DX team. tested Temporary label used only programatically for some analytics.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve README.md for users and AI agents

4 participants