Add a CONTRIBUTING guide for tests, docs, and scope — the current one stops at "write tests"
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 70/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- graphql, nodejs, openapi, typescript
- Domain
- documentation, testing
Research direction
Start with CONTRIBUTING.md and its table of contents, then check the four test scripts in package.json, test/jest-e2e.json, and the path filter in .github/workflows/build-check.yml so the documented commands match reality. Confirm the generated-file list against the graphql:codegen script and the CI git diff check. Done means the new sections are added, the table of contents is updated, and a maintainer confirms the commands and CI behaviour.
Written by the indexing model from the issue text.
Description
Problem
CONTRIBUTING.md is largely a generic template. The "TypeScript Styleguide" section that exists in its table of contents is thin, and there is no concrete guidance on the things contributors actually get wrong here:
- Where to put a test. The repo has two conventions in play — 97 colocated
*.spec.tsfiles insrc/(dominant) and 12 spec files undertest/(some of which never run, see the unreachable-specs issue). A new contributor has no way to know which to follow. - What actually runs.
npm testcovers onlysrc/specs;npm run test:e2eusestest/jest-e2e.json. CI runs a narrower path filter still (.github/workflows/build-check.yml:31-36). - How to verify a change.
npm run lintuses--fix(package.json:18) and will silently rewrite files. - Where generated code goes.
src/graphql/client/generated.tsis generated bygraphql:codegenand CI asserts it is unchanged withgit diff --exit-code— editing it by hand fails the build.docs/openapi.jsonandsdks/are likewise generated. - When not to open an issue. The README says security issues must go to
[email protected];CONTRIBUTING.mddoes not mention it, andSECURITY.mddoes not exist.
Suggested Direction
Add focused sections to CONTRIBUTING.md rather than rewriting it:
- Running the tests — the four commands and what each covers, including the e2e suite and the load test at
test/portfolio/portfolio-management.loadtest.sh. - Where to put a new test — state colocated-in-
src/as the convention, withtest/reserved for e2e. - Generated files — list
src/graphql/client/generated.ts,docs/openapi.json,sdks/**, and say explicitly that CI will fail if they are hand-edited. - Before you open a PR —
npx tsc --noEmit,npm run lint(noting--fix),npm test. - Security issues — link to the disclosure channel. Keep it to a link; do not duplicate policy content here.
- Module boundaries — point at
docs/ARCHITECTURE.md(once it exists) for where new code belongs.
Constraints
- Match the existing tone and heading structure; the document already has a table of contents that must be updated.
- Do not invent a contribution agreement, CLA, or DCO requirement — ask a maintainer first.
- Keep the Code of Conduct reference intact.
- Do not promise response times or review SLAs unless a maintainer has agreed to them.
Acceptance Criteria
-
CONTRIBUTING.mddocuments how to run each test suite and what it covers. - The generated-files list is present and matches the CI workflow.
- The security disclosure channel is referenced.
- The table of contents is updated with the new sections.
- A maintainer has reviewed the operational claims (commands, CI behaviour).
- Dominant language
- TypeScript
- Stars
- 7
- Forks
- 55
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 5
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from SourceXXL/alian_structure-api
-
good first issue help wanted security
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SourceXXL/alian_structure-api#266 ·
-
Parallelize the cache-warming loop in `cache-warming.service.ts` — warmers run strictly sequentiallyMay be free again @syntaxsuuvam-spec claimed this 17 days ago, and no pull request is open. Opengood first issue performance
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SourceXXL/alian_structure-api#240 ·
-
good first issue refactor tooling
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
SourceXXL/alian_structure-api#199 ·
-
help wanted intermediate refactor
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
SourceXXL/alian_structure-api#196 ·
-
documentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SourceXXL/alian_structure-api#175 ·
All issues in SourceXXL/alian_structure-api
Similar issues
-
comp/desktop desktop/shell os/windows P3 tool/file type/bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
NousResearch/hermes-agent#145928 ·
Maintainers usually reply within 1 day
-
compiler-dom: stringifyStatic renders :disabled="0" as a present attributePossibly taken @DaZuiZui claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
vuejs/core#16051 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 74/100
-
integration:coding-agents
Difficulty 1/5 Under an hour Newbie friendliness 83/100
vectorize-io/hindsight#6151 ·
Maintainers usually reply within 1 day
-
DogFooding
Difficulty 1/5 Under an hour Newbie friendliness 88/100
OpenAEV-Platform/openaev#8768 ·
Maintainers usually reply within 1 day