Skip to content

Commit a49ba47

Browse files
committed
docs: improve onboarding flow and governance guidance
1 parent 134d970 commit a49ba47

File tree

4 files changed

+196
-46
lines changed

4 files changed

+196
-46
lines changed

README.md

Lines changed: 103 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -2,80 +2,137 @@
22

33
**Describe how your business works in a way humans and machines both understand.**
44

5-
OrgScript is a human-readable, AI-friendly description language for business logic, operational processes, rules, roles, and state transitions. It provides a shared, structured layer between plain-language documentation and technical execution.
5+
OrgScript is a human-readable, AI-friendly description language for business logic, operational processes, rules, roles, and state transitions. It sits between plain-language documentation and technical execution.
66

7-
---
7+
## What It Is
88

9-
## Why OrgScript?
9+
- A shared text layer for business logic
10+
- Readable by people
11+
- Parseable by software
12+
- Stable in Git
13+
- Useful for AI analysis, validation, and export
1014

11-
- **Shared Truth**: Teams get logic they can read and review directly in Git.
12-
- **AI-Ready**: Reliable context for LLMs and agents without guessing from unstructured prose.
13-
- **Artifact-First**: Generate diagrams, summaries, and HTML docs from a single source.
14-
- **CI/CD Ready**: Validate, lint, and check logic integrity in your pipeline.
15+
## What It Is Not
1516

16-
## Quick Start
17+
- Not a general-purpose programming language
18+
- Not a workflow engine
19+
- Not free-form prose
20+
- Not a replacement for implementation code
1721

18-
### Installation
22+
## Quickstart In 60 Seconds
1923

2024
```bash
21-
# Global installation
22-
npm install -g .
25+
# 1. Check an example end to end
26+
orgscript check ./examples/craft-business-lead-to-order.orgs
2327

24-
# Or run via npx
25-
npx orgscript --help
28+
# 2. Generate a diagram
29+
orgscript export mermaid ./examples/craft-business-lead-to-order.orgs
30+
31+
# 3. Generate a stakeholder-friendly summary
32+
orgscript export markdown ./examples/craft-business-lead-to-order.orgs
2633
```
2734

28-
### Usage
35+
If you want the fastest first read, start with:
2936

30-
```bash
31-
# 1. Comprehensive health check (validate + lint + format-check)
32-
orgscript check ./examples/hiring-process.orgs
37+
- [craft-business-lead-to-order.orgs](c:\Users\DanielKlas\OneDrive - Tischlermeister Daniel Klas\All Company - Dokumente\2_AREAS\AREA_IT_Infrastruktur\Entwicklung\OrgScript\examples\craft-business-lead-to-order.orgs)
38+
- [examples/README.md](c:\Users\DanielKlas\OneDrive - Tischlermeister Daniel Klas\All Company - Dokumente\2_AREAS\AREA_IT_Infrastruktur\Entwicklung\OrgScript\examples\README.md)
3339

34-
# 2. Structural Metrics & Analysis (WP1)
35-
orgscript analyze ./examples/hiring-process.orgs
40+
## Read This In Order
3641

37-
# 3. Export AI Context (WP2)
38-
orgscript export context ./examples/hiring-process.orgs > logic-context.json
42+
If you are new to OrgScript, this is the intended reading path:
3943

40-
# 4. Generate Visual Support
41-
orgscript export mermaid ./examples/craft-business-lead-to-order.orgs
42-
orgscript export html ./examples/order-approval.orgs
43-
```
44+
1. [docs/manifesto.md](c:\Users\DanielKlas\OneDrive - Tischlermeister Daniel Klas\All Company - Dokumente\2_AREAS\AREA_IT_Infrastruktur\Entwicklung\OrgScript\docs\manifesto.md)
45+
Why OrgScript exists.
46+
2. [docs/language-principles.md](c:\Users\DanielKlas\OneDrive - Tischlermeister Daniel Klas\All Company - Dokumente\2_AREAS\AREA_IT_Infrastruktur\Entwicklung\OrgScript\docs\language-principles.md)
47+
The design constraints and non-negotiable rules.
48+
3. [spec/language-spec.md](c:\Users\DanielKlas\OneDrive - Tischlermeister Daniel Klas\All Company - Dokumente\2_AREAS\AREA_IT_Infrastruktur\Entwicklung\OrgScript\spec\language-spec.md)
49+
The canonical language definition.
50+
4. [docs/orgscript-for-humans.md](c:\Users\DanielKlas\OneDrive - Tischlermeister Daniel Klas\All Company - Dokumente\2_AREAS\AREA_IT_Infrastruktur\Entwicklung\OrgScript\docs\orgscript-for-humans.md)
51+
How to write maintainable OrgScript files.
52+
5. [docs/orgscript-for-ai.md](c:\Users\DanielKlas\OneDrive - Tischlermeister Daniel Klas\All Company - Dokumente\2_AREAS\AREA_IT_Infrastruktur\Entwicklung\OrgScript\docs\orgscript-for-ai.md)
53+
How tools and AI must interpret OrgScript without guessing.
54+
55+
## Canonical Source Of Truth
56+
57+
The normative language reference is:
58+
59+
- [spec/language-spec.md](c:\Users\DanielKlas\OneDrive - Tischlermeister Daniel Klas\All Company - Dokumente\2_AREAS\AREA_IT_Infrastruktur\Entwicklung\OrgScript\spec\language-spec.md)
60+
61+
Supporting docs are there to help people adopt, use, and govern the language. If implementation and docs ever disagree, the canonical spec wins.
62+
63+
## From Source To Artifact
64+
65+
OrgScript is intentionally artifact-first. A single `.orgs` file can produce multiple useful outputs:
4466

45-
## The Artifact Flow
67+
1. Source logic in plain text
68+
2. Validation and linting results
69+
3. Mermaid diagrams
70+
4. Markdown summaries
71+
5. HTML documentation
72+
6. AI-ready structured exports
4673

47-
OrgScript transforms simple text into powerful operational assets:
74+
Generated examples live under:
4875

49-
1. **Source (`.orgs`)**: A diff-friendly, indentation-based logic source.
50-
2. **Analysis**: Numerical metrics and complexity hints for your processes.
51-
3. **Diagram (Mermaid)**: Automatic workflow and state-diagram generation.
52-
4. **Summary (Markdown)**: Concise, stakeholder-ready documentation.
53-
5. **Docs (HTML)**: Professional-grade static documentation site.
54-
6. **AI Context**: Bundled logic package optimized for agent ingest.
76+
- [docs/demos](c:\Users\DanielKlas\OneDrive - Tischlermeister Daniel Klas\All Company - Dokumente\2_AREAS\AREA_IT_Infrastruktur\Entwicklung\OrgScript\docs\demos)
77+
78+
## Hero Demo
79+
80+
The main showcase flow is:
81+
82+
- Source: [craft-business-lead-to-order.orgs](c:\Users\DanielKlas\OneDrive - Tischlermeister Daniel Klas\All Company - Dokumente\2_AREAS\AREA_IT_Infrastruktur\Entwicklung\OrgScript\examples\craft-business-lead-to-order.orgs)
83+
- Mermaid demo: [docs/demos/mermaid/craft-business-lead-to-order.mermaid.md](c:\Users\DanielKlas\OneDrive - Tischlermeister Daniel Klas\All Company - Dokumente\2_AREAS\AREA_IT_Infrastruktur\Entwicklung\OrgScript\docs\demos\mermaid\craft-business-lead-to-order.mermaid.md)
84+
- Markdown demo: [docs/demos/markdown/craft-business-lead-to-order.summary.md](c:\Users\DanielKlas\OneDrive - Tischlermeister Daniel Klas\All Company - Dokumente\2_AREAS\AREA_IT_Infrastruktur\Entwicklung\OrgScript\docs\demos\markdown\craft-business-lead-to-order.summary.md)
5585

5686
## Core Blocks
5787

58-
- `process`: Step-by-step operational workflows.
59-
- `stateflow`: State transitions and lifecycle management.
60-
- `rule`: Cross-cutting guardrails and validation.
61-
- `role`: Permission boundaries (`can`, `cannot`).
62-
- `policy`: Governance and SLA requirements.
63-
- `metric`: Performance and data tracking definitions.
88+
- `process`: step-by-step operational workflows
89+
- `stateflow`: legal states and transitions
90+
- `rule`: cross-cutting constraints and requirements
91+
- `role`: permission boundaries
92+
- `policy`: context-driven or time-driven behavior
93+
- `event`: named triggers with reactions
94+
- `metric`: tracked business measures
95+
96+
## CLI Quick Reference
97+
98+
```bash
99+
orgscript validate <file> [--json]
100+
orgscript lint <file> [--json]
101+
orgscript check <file> [--json]
102+
orgscript format <file> [--check]
103+
orgscript export json <file>
104+
orgscript export markdown <file>
105+
orgscript export mermaid <file>
106+
orgscript export html <file>
107+
orgscript export context <file>
108+
orgscript analyze <file> [--json]
109+
```
110+
111+
## Developer Path
64112

65-
## Integration & Ecosystem
113+
For most contributors, the best practical sequence is:
66114

67-
- **VS Code Extension**: Official highlighting and language support under `editors/vscode`.
68-
- **Quality Automation**: CI checks for tests and example validation live in `.github/workflows`.
69-
- **Showcase**: Generated demo artifacts live in `docs/demos` and can be rebuilt locally with `npm run demo:generate`.
115+
1. Read [examples/README.md](c:\Users\DanielKlas\OneDrive - Tischlermeister Daniel Klas\All Company - Dokumente\2_AREAS\AREA_IT_Infrastruktur\Entwicklung\OrgScript\examples\README.md)
116+
2. Run `orgscript check` on a real example
117+
3. Inspect generated Mermaid or Markdown output
118+
4. Read the canonical spec
119+
5. Use [docs/governance.md](c:\Users\DanielKlas\OneDrive - Tischlermeister Daniel Klas\All Company - Dokumente\2_AREAS\AREA_IT_Infrastruktur\Entwicklung\OrgScript\docs\governance.md) before proposing core language changes
70120

71121
## Testing
72122

73123
```bash
74-
npm test # Run core logic tests
75-
npm run check:all # Verify all examples
76-
npm run demo:generate # Regenerate all showcase artifacts
124+
npm test
125+
npm run check:all
126+
npm run demo:generate
77127
```
78128

129+
## Ecosystem
130+
131+
- VS Code extension: [editors/vscode](c:\Users\DanielKlas\OneDrive - Tischlermeister Daniel Klas\All Company - Dokumente\2_AREAS\AREA_IT_Infrastruktur\Entwicklung\OrgScript\editors\vscode)
132+
- Governance: [docs/governance.md](c:\Users\DanielKlas\OneDrive - Tischlermeister Daniel Klas\All Company - Dokumente\2_AREAS\AREA_IT_Infrastruktur\Entwicklung\OrgScript\docs\governance.md)
133+
- Language evolution: [docs/language-evolution.md](c:\Users\DanielKlas\OneDrive - Tischlermeister Daniel Klas\All Company - Dokumente\2_AREAS\AREA_IT_Infrastruktur\Entwicklung\OrgScript\docs\language-evolution.md)
134+
- Changelog: [CHANGELOG.md](c:\Users\DanielKlas\OneDrive - Tischlermeister Daniel Klas\All Company - Dokumente\2_AREAS\AREA_IT_Infrastruktur\Entwicklung\OrgScript\CHANGELOG.md)
135+
79136
## License
80137

81138
Apache-2.0

docs/governance.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,34 @@ This note defines how the language evolves without losing its canonical shape.
1010
- Treat keyword meaning as stable once documented.
1111
- Keep the language readable for humans and deterministic for machines.
1212

13+
## Stability levels
14+
15+
- `canonical`: part of the normative language surface and safe to build against
16+
- `draft`: documented but not yet treated as a long-term compatibility promise
17+
- `experimental`: implementation or tooling exploration, not part of the canonical language contract
18+
19+
Unless explicitly marked otherwise, the language surface described in `spec/language-spec.md` is treated as `canonical`.
20+
1321
## Change policy
1422

1523
- Any change to keywords, grammar, canonical modeling, or diagnostics is a spec change.
1624
- New features should start as a documented proposal before implementation.
1725
- Experimental ideas should stay out of the canonical spec until they are stable enough to support long-term tooling.
1826
- If a change can be expressed with existing language forms, prefer that over adding a new construct.
1927

28+
## Change matrix
29+
30+
| Change type | Needs RFC | Needs spec update | Version impact |
31+
| --- | --- | --- | --- |
32+
| README, examples, tutorials | No | No | None |
33+
| Exporter behavior | Usually no | Only if contract changes | Patch or minor |
34+
| CLI output wording | No | Yes if diagnostics contract changes | Patch or minor |
35+
| Diagnostics structure or codes | Yes | Yes | Minor |
36+
| New lint rule | No, unless semantic | Only if normative | Patch or minor |
37+
| New keyword or grammar rule | Yes | Yes | Minor while `0.x`, major after `1.0` |
38+
| Semantic reinterpretation of an existing keyword | Yes | Yes | Breaking |
39+
| Canonical model breaking change | Yes | Yes | Breaking |
40+
2041
## Core vs tooling vs exporters
2142

2243
- Core language changes affect keywords, grammar, semantics, formatting rules, or the canonical model.
@@ -31,6 +52,40 @@ This note defines how the language evolves without losing its canonical shape.
3152
- Check parser and formatter impact before approving syntax changes.
3253
- Check canonical model and diagnostic impact before approving semantic changes.
3354

55+
## RFC template
56+
57+
Use a lightweight RFC note when proposing a core change:
58+
59+
```md
60+
# RFC: <short title>
61+
62+
## Motivation
63+
64+
Why is the change needed?
65+
66+
## Proposed change
67+
68+
Describe the exact language or semantic change.
69+
70+
## Backward impact
71+
72+
Is this backward compatible? If not, what breaks?
73+
74+
## Alternatives considered
75+
76+
What else was considered and why was it rejected?
77+
78+
## Spec impact
79+
80+
Which files need updates?
81+
82+
## Decision log
83+
84+
- proposed:
85+
- accepted/rejected:
86+
- release target:
87+
```
88+
3489
## Versioning guidance
3590

3691
- Make breaking changes only with an explicit version plan.

docs/language-evolution.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,18 @@ A core language change expands the canonical syntax (`spec/grammar.ebnf`) and re
1212

1313
We treat core changes as **highly disruptive**. They break existing tooling, models, and potentially user workflows.
1414

15+
## Practical rule of thumb
16+
17+
If a user need can be solved by:
18+
19+
- a new exporter
20+
- a stronger linter
21+
- better diagnostics
22+
- better editor support
23+
- clearer examples or documentation
24+
25+
then it usually does **not** belong in the language core.
26+
1527
## What belongs in tooling instead?
1628

1729
Most new features do *not* belong in the language core. They belong in:
@@ -28,6 +40,15 @@ OrgScript follows a strict protocol for backwards-incompatible breaks:
2840
- If a construct must change its semantic meaning, the version `package.json` and the corresponding `spec/language-spec.md` will bump the major version (or minor version while under `0.x`).
2941
- Breaking changes require a migration path to be published alongside the release.
3042

43+
## Expected process for core changes
44+
45+
1. Write a short RFC using the template in `docs/governance.md`.
46+
2. Compare the proposal against `spec/language-spec.md`.
47+
3. Decide whether the change belongs in core, tooling, or an exporter.
48+
4. Update the canonical spec before or alongside implementation.
49+
5. Add examples and regression coverage.
50+
6. Record the impact in release notes and changelog.
51+
3152
## Spec and Implementation Alignment
3253

3354
The `spec/language-spec.md` is the absolute source of truth.

docs/manifesto.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,20 @@ If organizations can describe their logic clearly:
4747
- onboarding becomes easier
4848
- hidden rules become visible
4949
- AI can support analysis and transformation without guessing
50+
51+
## First 10 minutes with OrgScript
52+
53+
Start with one real example and one real command path:
54+
55+
1. Open `examples/craft-business-lead-to-order.orgs`
56+
2. Run `orgscript check ./examples/craft-business-lead-to-order.orgs`
57+
3. Run `orgscript export mermaid ./examples/craft-business-lead-to-order.orgs`
58+
4. Run `orgscript export markdown ./examples/craft-business-lead-to-order.orgs`
59+
60+
That gives you the shortest path from idea to validation to visible output.
61+
62+
Then continue with:
63+
64+
- `examples/README.md` for the example catalog
65+
- `spec/language-spec.md` for the canonical definition
66+
- `docs/orgscript-for-humans.md` for authoring guidance

0 commit comments

Comments
 (0)