Vector35 / Vector35/binaryninja-api

Publish JSON schema for activity configuration

Open
#6,782 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Component: Core Effort: Medium Impact: Medium
Dominant language
C++
Stars
1.3k
Forks
298
Avg merge
5d 5h
Merged PRs (30d)
19

Description

I've seen from errors I've made while writing activity configurations that the provided activity configuration is validated against a JSON schema. Having the schema available would be useful for understanding the structure of the configurations, for times when it's hard to find details in the narrative documentation at http://docs.binary.ninja/dev/workflows.html.

Additionally, if the schema were checked into this repository it would be possible to leverage tools such as cargo typify to generate strongly-typed representations of the configuration. I have my own hand-rolled version of this at https://github.com/bdash/bn-bdash-extras/blob/dev/src/activity.rs because I'd rather lean on autocomplete to get the configuration structure right than have to re-read the documentation again.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the activity configuration details in the workflows documentation at docs.binary.ninja/dev/workflows.html and locate the schema currently used for validation. Check how it can be represented in this repository and confirm that the published schema supports tools such as cargo typify; done means contributors can find and use the schema alongside the existing documentation.

Written by the indexing model from the issue text.

Assessment

Tech stack
json
Domain
documentation
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.