Skip to content

Commit baf42be

Browse files
committed
docs(md): updated the licence and .md files
1 parent 402556f commit baf42be

3 files changed

Lines changed: 64 additions & 40 deletions

File tree

CONTRIBUTING.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@
22

33
Thank you for your interest in contributing to Sentinel!
44

5+
End users install from npm — see [README.md](README.md). This guide is for contributors working from a cloned repository.
6+
57
## Getting Started
68

9+
Clone the repo and run from source:
10+
711
```bash
812
npm install
913
npm run lint
@@ -52,7 +56,7 @@ Boundary violations are caught by ESLint (`no-restricted-imports`) and TypeScrip
5256

5357
## Architecture
5458

55-
Architecture documentation is coming soon.
59+
Architecture documentation is planned. There is no `docs/architecture.md` yet — do not link to it.
5660

5761
## Tests
5862

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2026 Sentinel Contributors
3+
Copyright (c) 2026 Ayomide Onatola
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 58 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22

33
> **Catch integration issues, API contract mismatches, configuration problems, and breaking changes before deployment.**
44
5-
[![CI](https://github.com/your-org/sentinel/actions/workflows/ci.yml/badge.svg)](https://github.com/your-org/sentinel/actions/workflows/ci.yml)
5+
[![CI](https://github.com/blaycoder/Sentinel/actions/workflows/ci.yml/badge.svg)](https://github.com/blaycoder/Sentinel/actions/workflows/ci.yml)
6+
67
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
78

8-
**Today:** Sentinel's phase-one CLI is functional. It scans frontend codebases, extracts API calls, and reports static analysis findings. When you point `contractSource` at a local OpenAPI v3 JSON file, it also checks **request-body shapes** against your backend schema for matched routes.
9+
**Today:** Sentinel's phase-one CLI is functional and installable from npm. It scans frontend codebases, extracts API calls, and reports static analysis findings. When you point `contractSource` at a local OpenAPI v3 JSON file, it also checks **request-body shapes** against your backend schema for matched routes.
910

10-
**Not yet in this release:** response-shape diffing, Findings for unmatched endpoints or unresolvable calls (those are skipped silently), third-party rules, and the cloud SDK, VS Code extension, and GitHub Action (future phases).
11+
**Not yet in this release:** response-shape diffing, unmatched-endpoint flagging, third-party rules, and the cloud SDK, VS Code extension, and GitHub Action (future phases).
1112

1213
---
1314

@@ -33,9 +34,7 @@ OpenAPI support is deliberately scoped: **local JSON file paths only** — no re
3334

3435
---
3536

36-
## Status
37-
38-
### Works today
37+
## Current Status
3938

4039
- `sentinel scan` — end-to-end analysis (config load → scan → format → stdout or file)
4140
- `sentinel init` — scaffolds `sentinel.config.ts`
@@ -45,31 +44,39 @@ OpenAPI support is deliberately scoped: **local JSON file paths only** — no re
4544
- `api-contract-mismatch` (default: **error**, active when `contractSource` is configured)
4645
- CLI output: `--format text|json|sarif`, `--output <file>`, `--max-warnings`, exit codes 0/1/2
4746
- Source extensions: `.ts`, `.tsx`, `.js`, `.jsx`, `.mts`, `.cts`
47+
- **Published on npm:** [`@sentinel/core`](https://www.npmjs.com/package/@sentinel/core), [`@sentinel/cli`](https://www.npmjs.com/package/@sentinel/cli)
4848

4949
### Not yet
5050

51-
- Response contract diffing
52-
- Findings for unmatched endpoints, unresolvable URLs, or not-diffable request bodies
51+
- Response-shape diffing
52+
- Unmatched-endpoint flagging
5353
- Third-party / custom rule loading
54-
- `@sentinel/ai` — AI explanations (placeholder package)
55-
- `@sentinel/cloud-sdk` — cloud dashboard upload (placeholder)
56-
- `sentinel-vscode` — VS Code extension (shell package)
57-
- `sentinel-action` — GitHub Action (stub)
54+
- `@sentinel/ai` — AI explanations (future phase)
55+
- `@sentinel/cloud-sdk` — cloud dashboard upload (future phase)
56+
- `sentinel-vscode` — VS Code extension (future phase)
57+
- `sentinel-action` — GitHub Action (future phase)
5858

5959
---
6060

61-
## Quick Start
61+
## Installation
6262

63-
From a clone of this repository:
63+
### Global install (recommended)
6464

6565
```bash
66-
npm install
67-
npm run build
68-
npm exec -w @sentinel/cli -- sentinel init
69-
npm exec -w @sentinel/cli -- sentinel scan ./path/to/your/src
66+
npm install -g @sentinel/cli
67+
sentinel init
68+
sentinel scan ./src
69+
```
70+
71+
### Project-local install
72+
73+
```bash
74+
npm install --save-dev @sentinel/cli
75+
npx sentinel init
76+
npx sentinel scan ./src
7077
```
7178

72-
When `@sentinel/cli` is published, you will also be able to install globally (`npm install -g @sentinel/cli`) and run `sentinel` directly.
79+
Requires **Node.js** `>=20.0.0`.
7380

7481
### Example configuration
7582

@@ -86,7 +93,8 @@ export default {
8693
'missing-error-handler': 'warning',
8794
'api-contract-mismatch': 'error',
8895
},
89-
// Optional: request-body contract checking against a local OpenAPI v3 JSON file
96+
// Request-body contract checking against a local OpenAPI v3 JSON file only
97+
// (no remote URLs, no YAML)
9098
contractSource: './openapi/api.json',
9199
} satisfies SentinelConfig
92100
```
@@ -97,13 +105,13 @@ export default {
97105

98106
```bash
99107
# Scan with JSON output
100-
npm exec -w @sentinel/cli -- sentinel scan ./src --format json
108+
sentinel scan ./src --format json
101109

102110
# Write SARIF for GitHub Code Scanning
103-
npm exec -w @sentinel/cli -- sentinel scan ./src --format sarif --output results.sarif
111+
sentinel scan ./src --format sarif --output results.sarif
104112

105113
# Fail CI if more than 10 warnings
106-
npm exec -w @sentinel/cli -- sentinel scan ./src --max-warnings 10
114+
sentinel scan ./src --max-warnings 10
107115
```
108116

109117
---
@@ -164,9 +172,15 @@ Log output goes to stderr; scan results go to stdout (or `--output`).
164172

165173
---
166174

167-
## Using as a library
175+
## Programmatic usage
168176

169-
`@sentinel/core` exposes the analysis engine for programmatic use:
177+
`@sentinel/core` exposes the analysis engine for library consumers:
178+
179+
```bash
180+
npm install @sentinel/core typescript
181+
```
182+
183+
TypeScript (`>=5.0.0`) is a **required peer dependency** — it is used at runtime for AST parsing. Install it alongside core if your project does not already have it.
170184

171185
```ts
172186
import { resolveConfig, scan } from '@sentinel/core'
@@ -186,33 +200,39 @@ console.log(result.diagnostics)
186200

187201
## Packages
188202

189-
| Package | Status |
190-
| ------------------------------------------- | ---------------------------------- |
191-
| [`@sentinel/core`](packages/core) | **Working**pure analysis engine |
192-
| [`@sentinel/cli`](packages/cli) | **Working**terminal interface |
193-
| [`@sentinel/ai`](packages/ai) | Planned (placeholder) |
194-
| [`@sentinel/cloud-sdk`](packages/cloud-sdk) | Planned (placeholder) |
195-
| [`sentinel-vscode`](packages/vscode) | Planned (shell package) |
196-
| [`sentinel-action`](packages/github-action) | Planned (stub action) |
203+
| Package | Status |
204+
| ------------------------------------------- | ------------------------------------------------------------------------------------- |
205+
| [`@sentinel/core`](packages/core) | **Published** — analysis engine ([npm](https://www.npmjs.com/package/@sentinel/core)) |
206+
| [`@sentinel/cli`](packages/cli) | **Published**CLI ([npm](https://www.npmjs.com/package/@sentinel/cli)) |
207+
| [`@sentinel/ai`](packages/ai) | Planned — not on npm (future phase) |
208+
| [`@sentinel/cloud-sdk`](packages/cloud-sdk) | Planned — not on npm (future phase) |
209+
| [`sentinel-vscode`](packages/vscode) | Planned — not on npm (future phase) |
210+
| [`sentinel-action`](packages/github-action) | Planned — not on npm (future phase) |
197211

198212
---
199213

200-
## Development
214+
## Developing from source
215+
216+
For contributors working from a clone (not the primary install path):
201217

202218
```bash
219+
git clone https://github.com/blaycoder/Sentinel.git
220+
cd Sentinel
203221
npm install
204222
npm run build
205-
npm test
206-
npm run lint
207-
npm run typecheck
223+
npm exec -w @sentinel/cli -- sentinel scan ./src
208224
```
209225

210226
See [CONTRIBUTING.md](CONTRIBUTING.md) for commit conventions, dependency boundaries, and the PR checklist.
211227

212-
Architecture documentation is coming soon.
228+
Architecture docs are planned.
213229

214230
---
215231

216232
## License
217233

218234
[MIT](LICENSE)
235+
236+
## Maintainers
237+
238+
See [RELEASING.md](RELEASING.md) for npm publish instructions.

0 commit comments

Comments
 (0)