Skip to content

Commit 5e74cf5

Browse files
authored
chore: update community profile (#65)
* update README.md * update CONTRIBUTING.md * chore: update pr template
1 parent c02c674 commit 5e74cf5

File tree

3 files changed

+60
-69
lines changed

3 files changed

+60
-69
lines changed

.github/pull_request_template.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
---
2-
labels: "status: in-progress"
3-
---
4-
51
## Description
62

73
- [link to related issue] or [short description]

CONTRIBUTING.md

Lines changed: 23 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
# Contributing Guideline
22

3-
Thank you for your interest in contributing to this project! We welcome contributions from everyone, whether it's reporting an issue, submitting a pull request, or suggesting improvements.
4-
3+
Thank you for your interest in contributing to meta contract! We welcome contributions from everyone, whether it's reporting an issue, submitting a pull request, or suggesting improvements.
54

65
## Reporting Issues
6+
77
If you encounter a bug or have a feature request, please use the provided templates when [opening a new issue](https://github.com/metacontract/mc/issues/new/choose). This helps us address your concerns more effectively.
88

99
## Development Workflow
1010

1111
### Submitting Pull Requests
12+
1213
When submitting a Pull Request (PR), please keep in mind the following:
1314

1415
- PRs that contain backward-compatible bug fixes or minor changes will generally be merged directly.
@@ -18,63 +19,47 @@ When submitting a Pull Request (PR), please keep in mind the following:
1819
<details>
1920
<summary>How to submit PR</summary>
2021

21-
1. Fork the repository and create a new branch for your feature or bug fix.
22+
1. Fork the repository and create a new branch from the `main` branch for your feature or bug fix.
2223
2. Make your changes and commit them with descriptive commit messages.
2324
3. Push your changes to your forked repository.
24-
4. Open a new pull request against the main repository, describing your changes in detail.
25-
</details>
26-
27-
28-
### Coding Style
29-
We adhere to the [Solidity Style Guide](https://docs.soliditylang.org/en/latest/style-guide.html) for maintaining a consistent and readable codebase. When contributing to this project, please follow the Solidity Style Guide with the exceptions and additions.
25+
4. Open a new pull request against the `main` branch of the main repository, describing your changes in detail.
26+
5. Ensure your branch is up to date with the `main` branch before requesting a review.
27+
6. Address any review comments and make necessary changes.
28+
7. Once approved, the PR will be merged into the `main` branch.
3029

31-
To ensure consistent formatting, we use [forge fmt](https://book.getfoundry.sh/reference/forge/forge-fmt), a built-in code formatter for Foundry projects. Please run `forge fmt` before submitting your pull request. Our CI pipeline will check the formatting of your code using `forge fmt --check`.
30+
</details>
3231

3332

34-
### Release Process
35-
This document outlines the release process for our project, including the types of releases, planning, preparation, execution.
33+
### Documentation Style and Format
3634

37-
- **Major Release**: Includes significant new features or backward-incompatible changes.
38-
- **Minor Release**: Includes small new features or improvements.
39-
- **Patch Release**: Includes bug fixes and backward-compatible changes.
35+
- Follow the Markdown formatting guidelines as outlined in the [Documentation Guidelines](https://mc-book.ecdysis.xyz/guides/project-management/documentation-guidelines).
36+
- Use kebab-case for all documentation file names.
4037

41-
#### 1. Create a release branch
42-
A new release branch is created from the main branch, using the naming convention `release/vX.Y.Z`, where `X.Y.Z` represents the version number.
38+
### Coding Style
4339

44-
- Major/Minor Release
45-
1. Create a "New Release" issue to clarify the release plan.
46-
2. Create a release branch.
47-
3. Review and merge related Pull Requests into the release branch.
48-
- Patch Releases
49-
1. Review a related Pull Request.
50-
2. A maintainer creates a patch release branch.
51-
3. Merge into the patch release branch.
52-
- Individual Pull Requests can be merged on an ongoing basis.
53-
- Combine multiple PRs into a single _Patch Release Brabch_ if needed.
54-
- For critical patches, a "New Release" issue may be created, but generally, a lightweight process will be followed.
40+
- Adhere to the [Solidity Style Guide](https://docs.soliditylang.org/en/latest/style-guide.html) with project-specific additions as outlined in the [Coding Standards](https://mc-book.ecdysis.xyz/guides/project-management/coding-standards).
41+
- Use `forge fmt` for consistent code formatting.
5542

56-
[*] If necessary, create branch and validate a Release Candidate (RC).
43+
### Test Strategy
5744

58-
#### 2. Preparation
59-
1. Update the [CAHNGELOG](./CHANGELOG.md).
60-
2. [Create release notes](https://github.com/metacontract/mc/releases/new).
61-
3. A new git tag is created and chosen for the release, using the naming convention `vX.Y.Z`.
45+
- Follow the comprehensive test strategy outlined in the [Test Strategy](https://mc-book.ecdysis.xyz/guides/project-management/test-strategy).
46+
- Write unit tests for all functions and ensure high code coverage.
6247

63-
#### 3. Publication
64-
1. Publish release notes.
65-
2. Announce the release to the community through our designated communication channels.
66-
3. For information about upcoming releases and planned features, please refer to our [GitHub Issues](https://github.com/metacontract/mc/issues).
48+
### Release Process
6749

68-
Please note that only project maintainers have the authority to create releases and merge changes into the main branch.
50+
- Follow the branching and release strategy as outlined in the [Branching and Release Strategy](https://mc-book.ecdysis.xyz/guides/project-management/branching-and-release-strategy).
51+
- Use Semantic Versioning for all releases.
6952

7053

7154
### Versioning Policy
55+
7256
This project follows [Semantic Versioning](https://semver.org/) and uses version numbers in the format _MAJOR.MINOR.PATCH_.
7357
- Version number updates will be determined and applied by the assigned maintainer(s).
7458

7559
* For the initial v0.1.0 release, we expect to make frequent breaking changes.
7660

7761
### Changelog
62+
7863
A changelog will be maintained in [CHANGELOG.md](./CHANGELOG.md) to document all notable changes in each version.
7964

8065
- Changelog entries should follow the [Keep a Changelog](https://keepachangelog.com/) format.

README.md

Lines changed: 37 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,61 @@
1-
# Meta Contract
2-
A meta contract is a powerful framework for smart contract development, designed to enhance developer productivity and contract maintainability. Built on the principles of the *ERC-7546: UCS* (Upgradeable Clone Standard), this ***mc*** library provides a robust architecture for creating and managing upgradeable smart contracts.
1+
# Meta Contract ![Solidity][solidity-shield] [![License:MIT][license-shield]](./LICENSE)
2+
<!-- [![CI][ci-shield]][ci-url] -->
3+
4+
[solidity-shield]: https://img.shields.io/badge/Built_with-Solidity-rgb(85,84,217)
5+
[license-shield]: https://img.shields.io/badge/license-MIT-blue.svg
6+
[ci-shield]: https://img.shields.io/github/actions/workflow/status/metacontract/mc/ci.yml?branch=main&label=build
7+
[ci-url]: https://github.com/metacontract/mc/actions/workflows/ci.yml
8+
9+
Meta Contract is a Foundry-based smart contract framework designed to create flexible, upgradeable, and scalable blockchain applications. It implements the UCS ([ERC-7546: Upgradeable Clone for Scalable Contracts](https://eips.ethereum.org/EIPS/eip-7546)) architecture, providing developers with powerful tools to build and maintain complex decentralized systems.
310

411
> [!WARNING]
5-
> This is an alpha release of the Meta Contract (mc) library, which means it is an early version intended for testing and feedback purposes. Please be cautious when using this version in production environments, as it may contain bugs, incomplete features, or unexpected behavior.
12+
> This is still in the development version, which means it is an early version intended for testing and feedback purposes. Please be cautious when using this version in production environments, as it may contain bugs, incomplete features, or unexpected behavior.
613
714
## Features
8-
- **Upgradeable Contracts**: Create smart contracts that can be easily upgraded, allowing for continuous improvement and bug fixes without contract migration.
9-
- **Modular Design**: A meta contract promotes a modular approach to contract development, enabling code reuse and reducing complexity.
10-
- **Standard Functions**: Utilize a rich library of standard functions to streamline contract development and ensure consistency across your projects.
11-
- **Development Kit**: Leverage the mc's Development Kit (DevKit) to simplify contract deployment, testing, and interaction.
12-
- **Comprehensive Documentation**: Benefit from extensive documentation and guides to help you get started and make the most of mc's features.
15+
16+
- **Upgradeability**: Meta Contracts can be upgraded without changing their address, allowing for seamless improvements and bug fixes.
17+
- **Modularity**: The framework separates contract logic into distinct, manageable components, enhancing code organization and reusability.
18+
- **Scalability**: Meta Contracts are designed to handle growth efficiently, making them suitable for large-scale applications.
19+
- **Flexibility**: Developers can easily extend and customize Meta Contracts to suit specific project needs.
20+
- **Testability**: The modular structure of Meta Contracts facilitates comprehensive testing, including unit tests for individual functions and integration tests for the entire system.
1321

1422
## Getting Started
23+
1524
### Prerequisites
16-
To use mc, you need to have the following software installed:
17-
- [Foundry](https://github.com/foundry-rs/foundry) - a blazing fast, portable and modular toolkit for Ethereum application development.
1825

19-
### Installation
20-
The mc can be installed using Foundry's `forge` command with useful template:
26+
To use mc, you need to have [Foundry](https://github.com/foundry-rs/foundry) installed.
27+
28+
### Quick Start
29+
30+
Just run this:
2131

22-
```sh
32+
```bash
2333
forge init <Your Project Name> -t metacontract/template
2434
```
2535

26-
You can also install only this repository at your project root using:
27-
```sh
28-
forge install metacontract/mc
36+
After the installation, run the following command to test the _Counter_ sample project and see how it works:
37+
38+
```bash
39+
cd <Your Project Name>
40+
forge test
2941
```
3042

43+
If you want to learn more about meta contract installation, please refer to [installation guide](https://mc-book.ecdysis.xyz/guides/setup/installation).
44+
3145
## Documentation
32-
The [MC Book](https://mc-book.ecdysis.xyz/) serves as a comprehensive guide for developing with the meta contract. It covers a wide range of topics, including:
33-
- Architecture overview
34-
- Setting up your development environment
35-
- Creating and deploying upgradeable contracts
36-
- Using standard functions and libraries
37-
- Testing and debugging your contracts
38-
- Best practices and guidelines
39-
You can find the source code for the MC Book on GitHub at [metacontract/book](https://github.com/metacontract/book).
46+
47+
The [MC Book](https://mc-book.ecdysis.xyz/) serves as a comprehensive guide for developing with the meta contract. Also, you can find the markdown documents in [docs](./site/docs) directory.
4048

4149
## Contributing
50+
4251
We welcome contributions from the community! If you'd like to contribute to mc, please check out our [Contributing Guide](./CONTRIBUTING.md) for detailed instructions on how to:
4352
- Report issues and bugs
4453
- Submit feature requests
4554
- Create pull requests
46-
- Follow our coding style and guidelines
55+
- Follow our [project management guidelines](https://mc-book.ecdysis.xyz/guides/project-management)
4756
- Participate in discussions and decision-making
48-
We appreciate your help in making mc even better!
57+
58+
We appreciate your help in making meta contract even better!
4959

5060
## License
51-
This mc is released under the [MIT License](./LICENSE).
61+
This meta contract is released under the [MIT License](./LICENSE).

0 commit comments

Comments
 (0)