Skip to content

Commit a4c6a64

Browse files
mttrbrtsChinmayaBiswal7yuanglili
authored
fix(docs): remove Ergo references and modernise documentation (#505)
* wip * fix link top position * fix: homepage layout, broken links, and Ergo-to-TypeScript migration (#507) - Fix homepage heroCover hero section styling in custom.css (v3 compatibility) - Remove Ergo as primary feature; replace with TypeScript/Template Logic card - Update Logic ContentBlock: Ergo description -> TypeScript, ergo.png -> template_logic.png - Fix broken /docs/model-concerto internal links -> concerto.accordproject.org/docs/intro - Fix broken image paths in started-hello.md (3x) and tutorial-library.md (1x) - /docs/assets/basic/* -> ./assets/basic/* (Docusaurus v3 relative paths) - Fix empty link [fixed rate loan]() -> https://playground.accordproject.org - Update tutorial-templates.md: logic.ergo -> logic.ts, Ergo code -> TypeScript - Update tutorial-library.md: directory structure logic.ergo -> logic.ts - Update tutorial-create.md: generator output, test runner (cucumber->vitest), and Edit Logic section now documents TypeScript pattern References: accordproject/cicero-template-library#484 Signed-off-by: ChinmayaBiswal7 <chinmayabiswal44@gmail.com> Signed-off-by: ChinmayaBiswal7 <chinmayabiswal777@gmail.com> * fix: tutorial type names, model path and Node.js URL (#510) Signed-off-by: nonononoonononon <yuangli971@gmail.com> * fix(CONTRIBUTING): remove broken anchor links and update outdated references - Remove TOC entries for non-existent sections (Updating Documentation, Technical Documentation) - Remove broken contribute.cla, contribute.updating, contribute.techdocs link defs - Remove broken developers.pullrequest link def (DEVELOPERS.md has no #pullrequest anchor) - Update PR submission paragraph to remove stale CLA/Travis references; mention DCO Closes #515 Signed-off-by: Matt Roberts <code@rbrts.uk> * fix(docs): replace Ergo references with TypeScript/Concerto equivalents - Change code fence labels from `ergo` to `concerto` in all files where the block contains Concerto model syntax (not Ergo language): markup-templatemark.md (12 blocks), accordproject-template.md, accordproject-slc.md, tutorial-templates.md, tutorial-studio.md (2 blocks), ref-errors.md, example-eatapple.md - Convert the Ergo logic example in example-eatapple.md to TypeScript using the TemplateLogic class pattern - Rename 'Ergo Formulas' section in markup-ciceromark.md to 'Template Formulas' and update the description - Update tutorial-studio.md prose: remove 'in Ergo', update 'Ergo tab' to 'Logic tab', update 'Ergo engine' to 'template engine'; add note that the tutorial covers legacy Ergo-based templates - Intentional Ergo reference files (ref-ergo-*, logic-*.md, ergo-tutorial.md, ref-migrate-*.md) are left unchanged Signed-off-by: Matt Roberts <code@rbrts.uk> * fix(docs): replace 'ERGO' with 'TypeScript' in template triangle images Updated template.png and template_logic.png in-place using Pillow: - Painted over the 'ERGO' subtitle at the LOGIC vertex - Drew 'TypeScript' in the same position using Arial Bold at matching size and navy colour (#5 0C 40) Closes techdocs-4tw Signed-off-by: Matt Roberts <code@rbrts.uk> * fix(docs): replace 'ERGO' with 'TypeScript' in template_text and template_model thumbnails Same Pillow patch applied to the remaining two thumbnail images (template_text.png, template_model.png) which share the same mini triangle layout as template_logic.png. Signed-off-by: Matt Roberts <code@rbrts.uk> * chore: add AGENTS.md and ignore Dolt database files Added beads/bd agent instructions as AGENTS.md. Updated .gitignore to exclude .dolt/ and *.db files created by bd init. Signed-off-by: Matt Roberts <code@rbrts.uk> * fix(docs): replace eat-apples example with late payment clause Rewrote example-eatapple.md to use a more representative late payment clause example with TypeScript logic. Also added ref-migrate-concerto-3.0-4.0.md migration guide. Signed-off-by: Matt Roberts <code@rbrts.uk> * fix(website): update homepage, footer, and assets - Updated homepage hero text and Features section with logo images for TypeScript and Concerto - Disabled stale 'Who's Using This?' showcase section - Removed outdated footer links (Stack Overflow, Twitter, Medium blog) - Updated image paths from /docs/assets/020/ to /img/ - Added template.png, template_logic.png, template-playground.png, concerto-logo.svg, typescript-logo.svg to website/static/img/ - Updated grammar.png and studio.png - Replaced blockchain reference in homepage copy - Updated GitHub star button to point to template-archive repo Signed-off-by: Matt Roberts <code@rbrts.uk> --------- Signed-off-by: ChinmayaBiswal7 <chinmayabiswal44@gmail.com> Signed-off-by: ChinmayaBiswal7 <chinmayabiswal777@gmail.com> Signed-off-by: nonononoonononon <yuangli971@gmail.com> Signed-off-by: Matt Roberts <7544022+mttrbrts@users.noreply.github.com> Signed-off-by: Matt Roberts <code@rbrts.uk> Co-authored-by: Chinmaya Biswal <chinmayabiswal777@gmail.com> Co-authored-by: Yuang Li <118186497+yuanglili@users.noreply.github.com>
1 parent 8d76ded commit a4c6a64

60 files changed

Lines changed: 17010 additions & 17758 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@ website/translated_docs
99
website/build/
1010
website/yarn.lock
1111
website/node_modules
12+
website/.docusaurus
1213
website/i18n/*
1314
!website/i18n/en.json
1415

1516
thumbs.db
17+
18+
# Dolt database files (added by bd init)
19+
.dolt/
20+
*.db

AGENTS.md

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
# Agent Instructions
2+
3+
This project uses **bd** (beads) for issue tracking. Run `bd onboard` to get started.
4+
5+
## Quick Reference
6+
7+
```bash
8+
bd ready # Find available work
9+
bd show <id> # View issue details
10+
bd update <id> --claim # Claim work atomically
11+
bd close <id> # Complete work
12+
bd dolt push # Push beads data to remote
13+
```
14+
15+
## Non-Interactive Shell Commands
16+
17+
**ALWAYS use non-interactive flags** with file operations to avoid hanging on confirmation prompts.
18+
19+
Shell commands like `cp`, `mv`, and `rm` may be aliased to include `-i` (interactive) mode on some systems, causing the agent to hang indefinitely waiting for y/n input.
20+
21+
**Use these forms instead:**
22+
```bash
23+
# Force overwrite without prompting
24+
cp -f source dest # NOT: cp source dest
25+
mv -f source dest # NOT: mv source dest
26+
rm -f file # NOT: rm file
27+
28+
# For recursive operations
29+
rm -rf directory # NOT: rm -r directory
30+
cp -rf source dest # NOT: cp -r source dest
31+
```
32+
33+
**Other commands that may prompt:**
34+
- `scp` - use `-o BatchMode=yes` for non-interactive
35+
- `ssh` - use `-o BatchMode=yes` to fail instead of prompting
36+
- `apt-get` - use `-y` flag
37+
- `brew` - use `HOMEBREW_NO_AUTO_UPDATE=1` env var
38+
39+
<!-- BEGIN BEADS INTEGRATION -->
40+
## Issue Tracking with bd (beads)
41+
42+
**IMPORTANT**: This project uses **bd (beads)** for ALL issue tracking. Do NOT use markdown TODOs, task lists, or other tracking methods.
43+
44+
### Why bd?
45+
46+
- Dependency-aware: Track blockers and relationships between issues
47+
- Version-controlled: Built on Dolt with cell-level merge
48+
- Agent-optimized: JSON output, ready work detection, discovered-from links
49+
- Prevents duplicate tracking systems and confusion
50+
51+
### Quick Start
52+
53+
**Check for ready work:**
54+
55+
```bash
56+
bd ready --json
57+
```
58+
59+
**Create new issues:**
60+
61+
```bash
62+
bd create "Issue title" --description="Detailed context" -t bug|feature|task -p 0-4 --json
63+
bd create "Issue title" --description="What this issue is about" -p 1 --deps discovered-from:bd-123 --json
64+
```
65+
66+
**Claim and update:**
67+
68+
```bash
69+
bd update <id> --claim --json
70+
bd update bd-42 --priority 1 --json
71+
```
72+
73+
**Complete work:**
74+
75+
```bash
76+
bd close bd-42 --reason "Completed" --json
77+
```
78+
79+
### Issue Types
80+
81+
- `bug` - Something broken
82+
- `feature` - New functionality
83+
- `task` - Work item (tests, docs, refactoring)
84+
- `epic` - Large feature with subtasks
85+
- `chore` - Maintenance (dependencies, tooling)
86+
87+
### Priorities
88+
89+
- `0` - Critical (security, data loss, broken builds)
90+
- `1` - High (major features, important bugs)
91+
- `2` - Medium (default, nice-to-have)
92+
- `3` - Low (polish, optimization)
93+
- `4` - Backlog (future ideas)
94+
95+
### Workflow for AI Agents
96+
97+
1. **Check ready work**: `bd ready` shows unblocked issues
98+
2. **Claim your task atomically**: `bd update <id> --claim`
99+
3. **Work on it**: Implement, test, document
100+
4. **Discover new work?** Create linked issue:
101+
- `bd create "Found bug" --description="Details about what was found" -p 1 --deps discovered-from:<parent-id>`
102+
5. **Complete**: `bd close <id> --reason "Done"`
103+
104+
### Auto-Sync
105+
106+
bd automatically syncs with git:
107+
108+
- Exports to `.beads/issues.jsonl` after changes (5s debounce)
109+
- Imports from JSONL when newer (e.g., after `git pull`)
110+
- No manual export/import needed!
111+
112+
### Important Rules
113+
114+
- ✅ Use bd for ALL task tracking
115+
- ✅ Always use `--json` flag for programmatic use
116+
- ✅ Link discovered work with `discovered-from` dependencies
117+
- ✅ Check `bd ready` before asking "what should I work on?"
118+
- ❌ Do NOT create markdown TODO lists
119+
- ❌ Do NOT use external issue trackers
120+
- ❌ Do NOT duplicate tracking systems
121+
122+
For more details, see README.md and docs/QUICKSTART.md.
123+
124+
## Landing the Plane (Session Completion)
125+
126+
**When ending a work session**, you MUST complete ALL steps below. Work is NOT complete until `git push` succeeds.
127+
128+
**MANDATORY WORKFLOW:**
129+
130+
1. **File issues for remaining work** - Create issues for anything that needs follow-up
131+
2. **Run quality gates** (if code changed) - Tests, linters, builds
132+
3. **Update issue status** - Close finished work, update in-progress items
133+
4. **PUSH TO REMOTE** - This is MANDATORY:
134+
```bash
135+
git pull --rebase
136+
bd dolt push
137+
git push
138+
git status # MUST show "up to date with origin"
139+
```
140+
5. **Clean up** - Clear stashes, prune remote branches
141+
6. **Verify** - All changes committed AND pushed
142+
7. **Hand off** - Provide context for next session
143+
144+
**CRITICAL RULES:**
145+
- Work is NOT complete until `git push` succeeds
146+
- NEVER stop before pushing - that leaves work stranded locally
147+
- NEVER say "ready to push when you are" - YOU must push
148+
- If push fails, resolve and retry until it succeeds
149+
150+
<!-- END BEADS INTEGRATION -->

CONTRIBUTING.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,8 @@ We'd love for you to contribute to our source code and to make Accord Project te
77
* [Issues and Bugs][contribute.issue]
88
* [Feature Requests][contribute.feature]
99
* [Improving Documentation][contribute.docs]
10-
* [Updating Documentation][contribute.updating]
1110
* [Issue Submission Guidelines][contribute.submit]
1211
* [Pull Request Submission Guidelines][contribute.submitpr]
13-
* [Technical Documentation][contribute.techdocs]
1412

1513
## <a name="coc"></a> Code of Conduct
1614

@@ -105,7 +103,7 @@ Before you submit your pull request consider the following guidelines:
105103
git push origin name/issue-tracker/short-description
106104
```
107105

108-
* In GitHub, send a pull request to `<REPOSITORY>:main` by following our [pull request conventions][developers.pullrequest]. This will trigger the check of the [Contributor License Agreement][contribute.cla] and the Travis integration.
106+
* In GitHub, send a pull request to `<REPOSITORY>:main`. Ensure you have provided a DCO sign-off for your commits using `git commit --signoff`.
109107
* If you find that the Travis integration has failed, look into the logs on Travis to find out if your changes caused test failures, the commit message was malformed, etc. If you find that the tests failed or times out for unrelated reasons, you can ping a team member so that the build can be restarted.
110108
* If we suggest changes, then:
111109
* Make the required updates.
@@ -165,15 +163,12 @@ Accord Project documentation files are made available under the [Creative Common
165163
[apdiscord]: https://discord.gg/Zm99SKhhtA
166164

167165
[contribute.coc]: CONTRIBUTING.md#coc
168-
[contribute.cla]: CONTRIBUTING.md#cla
169166
[contribute.question]: CONTRIBUTING.md#question
170167
[contribute.issue]: CONTRIBUTING.md#issue
171168
[contribute.feature]: CONTRIBUTING.md#feature
172169
[contribute.docs]: CONTRIBUTING.md#docs
173-
[contribute.updating]: CONTRIBUTING.md#updating
174170
[contribute.submit]: CONTRIBUTING.md#submit
175171
[contribute.submitpr]: CONTRIBUTING.md#submit-pr
176-
[contribute.techdocs]: CONTRIBUTING.md#techdocs
177172

178173

179174
[developers]: DEVELOPERS.md

docs/accordproject-faq.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ While the Accord Project technology is targeted at the development of smart lega
1717

1818
### How is an Accord Project "Smart Contract" different from "Smart Contracts" on the blockchain?
1919

20-
Accord Project Smart legal contracts should not be confused with so-called blockchain “smart contracts”, which are scripts that necessarily operate on a blockchain. On the blockchain a smart contract is often written in a specific language like solidity that executes and operates on the blockchain. It lives in a closed world. An Accord Project Smart Contract contains text based template that integrates with a data model and the Ergo language. The three components are integrated into a whole. Using Ergo an Accord Project Smart contract can communicate with other systems, it can send and receive data, it can perform calculations and it can interact with a blockchain.
20+
Accord Project Smart legal contracts should not be confused with so-called blockchain “smart contracts”, which are scripts that necessarily operate on a blockchain. On the blockchain a smart contract is often written in a specific language like solidity that executes and operates on the blockchain. It lives in a closed world. An Accord Project Smart Contract contains a text-based template that integrates with a data model and contract logic written in TypeScript. The three components are integrated into a whole. Using this logic an Accord Project Smart Contract can communicate with other systems, send and receive data, perform calculations, and interact with a blockchain.
2121

2222
### What benefits do Smart Legal Contracts provide?
2323

@@ -50,9 +50,9 @@ The Accord Project Community is developing several working groups focusing on di
5050

5151
A primary purpose of the working groups is to develop a universally accessible and widely used open source library of modular, smart legal contracts, smart templates and models that reflect input from the community. Smart legal contract templates are built according to the Project’s [Cicero Specification](https://github.com/accordproject/cicero).
5252

53-
Members can provide feedback into the templates and models relevant to a particular working group. You can immediately start contributing smart legal contract templates and models by using the Accord Project’s [Template Studio](https://studio.accordproject.org/).
53+
Members can provide feedback into the templates and models relevant to a particular working group. You can immediately start contributing smart legal contract templates and models by using the Accord Project’s [Template Playground](https://playground.accordproject.org).
5454

55-
The Accord Project has developed an easy-to-use programming language for building and executing smart legal contracts called Ergo. The goals of Ergo are to be accessible and usable by non-technical professionals, portable across, and compatible with, a variety of environments such as SaaS platforms and different blockchains, and meeting security, safety, and other requirements.
55+
Contract logic for Accord Project templates is written in TypeScript, making it accessible to the large community of JavaScript and TypeScript developers. Templates can be integrated with a variety of environments including SaaS platforms and business applications.
5656

57-
You can use the Accord Project’s [Template Studio](https://studio.accordproject.org/) to create and test your smart legal contracts.
57+
You can use the Accord Project’s [Template Playground](https://playground.accordproject.org) to create and test your smart legal contracts.
5858

docs/accordproject-slc.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ and monthly payments of {{monthlyPayment}}.
3232

3333
To make sense of the data, a _Data Model_, expressed in the Concerto schema language, defines the variables for the template and their associated Data Types:
3434

35-
```ergo
35+
```concerto
3636
o Double loanAmount // loanAmount is a floating-point number
3737
o Double rate // rate is a floating-point number
3838
o Integer loanDuration // loanDuration is an integer
@@ -60,7 +60,7 @@ The values entered into the template text are associated with the name of the va
6060

6161
By adding Logic to a machine-readable clause or contract in the form of expressions - much like in a spreadsheet - the contract is able to execute operations based upon data included in the contract.
6262

63-
For instance, the clause below is a variant of the earlier [fixed rate loan](https://templates.accordproject.org/fixed-interests@0.2.0.html). While it is consistent with the previous one, the `{{monthlyPayment}}` variable is replaced with an [Ergo](logic-ergo.md) expression `monthlyPaymentFormula(loanAmount,rate,loanDuration)` which calculates the monthly interest rate based upon the values of the other variables: `{{loanAmount}}`, `{{rate}}`, and `{{loanDuration}}`. To learn more about contract Logic see [Ergo Logic](logic-ergo.md).
63+
For instance, the clause below is a variant of the earlier [fixed rate loan](https://templates.accordproject.org/fixed-interests@0.2.0.html). While it is consistent with the previous one, the `{{monthlyPayment}}` variable is replaced with a computed expression `monthlyPaymentFormula(loanAmount,rate,loanDuration)` which calculates the monthly payment based upon the values of the other variables: `{{loanAmount}}`, `{{rate}}`, and `{{loanDuration}}`. Contract logic is written in TypeScript for new templates (or Ergo for legacy templates). To learn more see [Template Logic](accordproject-template.md).
6464

6565
```tem
6666
## Fixed rate loan
@@ -71,7 +71,7 @@ with a loan term of {{loanDuration}},
7171
and monthly payments of {{% monthlyPaymentFormula(loanAmount,rate,loanDuration) %}}.
7272
```
7373

74-
This is a simple example of the benefits of Machine-Executable contract, here adding logic to ensure that the value of the `{{monthlyPayment}}` in the text is always consistent with the other variables in the clause. In this example, we display the contract text using the underlying [Markup](markup-preliminaries.md) format, instead of the rich-text output that would be found in [editor tools](started-resources.md#ecosystem-tools) and PDF outputs.
74+
This is a simple example of the benefits of Machine-Executable contract, here adding logic to ensure that the value of the `{{monthlyPayment}}` in the text is always consistent with the other variables in the clause. In this example, we display the contract text using the underlying [Markup](markup-preliminaries.md) format, instead of the rich-text output that would be found in [editor tools](started-resources#ecosystem--tools) and PDF outputs.
7575

7676
More complex examples, (e.g., how to add post-signature logic which responds to data sent to the contract or which triggers operations on external systems) can be found in the rest of this documentation.
7777

0 commit comments

Comments
 (0)