Skip to content

Commit 08d3ccc

Browse files
docs: add CONTRIBUTING (dev setup, claim-first, format-is-API)
1 parent 01546fd commit 08d3ccc

1 file changed

Lines changed: 59 additions & 0 deletions

File tree

‎CONTRIBUTING.md‎

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Contributing to stacktale for VS Code
2+
3+
Thanks for stopping by the campfire. 🔥
4+
5+
This is the VS Code / Cursor / Windsurf editor extension for
6+
[**stacktale**](https://github.com/stacktale/stacktale). The library lives in the main
7+
repo; this repo is just the extension that surfaces its `errors-ai.log` in the editor.
8+
9+
New here? The [`good first issue`](https://github.com/stacktale/stacktale-vscode/labels/good%20first%20issue)
10+
label marks issues written to be picked up cold — each one names the files to touch and how
11+
to verify.
12+
13+
## Claim the issue before you start
14+
15+
**Comment on the issue saying you'd like to take it, and wait for a reply before writing
16+
code.** A short "I'd like to work on this" is enough — no need to restate the issue or
17+
explain your plan. This is the only thing standing between you and someone else spending an
18+
evening on the same fix, and it lets us tell you upfront if an issue is already half-done or
19+
narrower than it looks. If nobody replies in a day or two, open the PR anyway.
20+
21+
Two exceptions, where you should just open the PR: an obvious typo or broken link, and
22+
anything already assigned to you.
23+
24+
## Build & test
25+
26+
```bash
27+
npm install
28+
npm run compile # tsc → out/
29+
npm test # compile + run the parser tests (node --test)
30+
```
31+
32+
Press **F5** in VS Code to launch an Extension Development Host with the extension loaded.
33+
Open a project that has an `errors-ai.log` and the **stacktale** view appears in the
34+
activity bar. CI runs `compile` + `test` on every push.
35+
36+
## Where the pieces live
37+
38+
- **`src/stParser.ts`** — pure parser for the `errors-ai.log` (`st/1`) format. No VS Code
39+
API here, so it's unit-testable in plain Node. This mirrors the parser in the
40+
[JetBrains plugin](https://github.com/stacktale/stacktale-intellij); keep them in step.
41+
- **`src/extension.ts`** — the VS Code glue: the tree view, the file watcher, the commands.
42+
- **`src/test/parser.test.ts`** — `node:test` cases for the parser.
43+
44+
## The report format is a public API
45+
46+
The `errors-ai.log` format (`st/1`, and the opt-in `st-json/1`) is specified in the main
47+
repo's [docs/FORMAT.md](https://github.com/stacktale/stacktale/blob/main/docs/FORMAT.md).
48+
Parse defensively — a malformed or partially-written line must never crash the view — and
49+
when in doubt about a field, check FORMAT.md rather than guessing.
50+
51+
## Working style
52+
53+
- New parsing behavior arrives with the test that demanded it (`src/test/`).
54+
- Commits: conventional prefixes (`feat:`, `fix:`, `docs:`, `chore:`, `test:`), imperative
55+
mood, reference issues (`Closes #N`).
56+
- One logical change per PR; explain the *why*, link the issue.
57+
58+
By taking part you agree to the main repo's
59+
[Code of Conduct](https://github.com/stacktale/stacktale/blob/main/CODE_OF_CONDUCT.md).

0 commit comments

Comments
 (0)