Skip to content

Commit 795b4b3

Browse files
committed
updated version to 0.2.3
1 parent 3d47dd3 commit 795b4b3

24 files changed

Lines changed: 1400 additions & 136 deletions

.eslintrc.json

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
"env": {
3+
"node": true,
4+
"es2022": true
5+
},
6+
"extends": [
7+
"eslint:recommended"
8+
],
9+
"parser": "@typescript-eslint/parser",
10+
"parserOptions": {
11+
"ecmaVersion": 2022,
12+
"sourceType": "module"
13+
},
14+
"plugins": ["@typescript-eslint"],
15+
"rules": {
16+
"@typescript-eslint/no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }],
17+
"no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }],
18+
"prefer-const": "error",
19+
"no-var": "error",
20+
"no-useless-escape": "off",
21+
"no-mixed-spaces-and-tabs": "error"
22+
},
23+
"overrides": [
24+
{
25+
"files": ["src/webview/**/*.{ts,tsx}"],
26+
"env": {
27+
"browser": true,
28+
"es2022": true
29+
},
30+
"globals": {
31+
"acquireVsCodeApi": "readonly",
32+
"document": "readonly",
33+
"window": "readonly",
34+
"SVGSVGElement": "readonly"
35+
}
36+
},
37+
{
38+
"files": ["src/extension/**/*.ts"],
39+
"env": {
40+
"node": true,
41+
"es2022": true
42+
},
43+
"globals": {
44+
"NodeJS": "readonly"
45+
}
46+
}
47+
],
48+
"ignorePatterns": [
49+
"dist/**",
50+
"node_modules/**",
51+
"**/*.js",
52+
"**/*.d.ts"
53+
]
54+
}
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
# ProjectAtlas – Basic Instructions
2+
3+
Welcome to the ProjectAtlas repository! This document provides step-by-step instructions for setting up, developing, and maintaining a clean, well-documented codebase for the ProjectAtlas VS Code extension. Follow these guidelines to ensure consistency, clarity, and ease of contribution.
4+
5+
---
6+
7+
## 1. Repository Structure
8+
9+
The root directory should remain uncluttered. Each major component and resource must reside in its own dedicated folder. The recommended structure is:
10+
11+
```
12+
/ProjectAtlas
13+
14+
├── .vscode/ # VS Code workspace settings
15+
├── src/ # Extension source code (TypeScript)
16+
│ ├── extension/ # Extension activation, commands, API
17+
│ ├── webview/ # React (Vite) SPA for rendering UI
18+
│ └── symbolProviders/ # Language-specific symbol extraction
19+
├── media/ # Static assets (images, icons, CSS)
20+
├── docs/ # Documentation files
21+
│ ├── basic_instructions.md
22+
│ ├── API.md
23+
│ └── architecture.md
24+
├── tests/ # Unit and integration tests
25+
├── CHANGELOG.md # Project changelog
26+
├── VERSION # Current version (e.g., 0.1.0-beta)
27+
├── package.json # Node.js project metadata
28+
├── tsconfig.json # TypeScript configuration
29+
├── vite.config.ts # Vite configuration for webview
30+
├── .gitignore # Files and folders to ignore in Git
31+
├── README.md # Project overview and quick start
32+
└── LICENSE # Open source license (MIT)
33+
```
34+
35+
---
36+
37+
## 2. Setting Up the Project
38+
39+
1. **Clone the Repository:**
40+
```
41+
git clone https://github.com/your-org/ProjectAtlas.git
42+
cd ProjectAtlas
43+
```
44+
45+
2. **Install Dependencies:**
46+
```
47+
npm install
48+
```
49+
50+
3. **Build the Extension:**
51+
```
52+
npm run build
53+
```
54+
55+
4. **Open in VS Code:**
56+
- Launch VS Code in the project directory.
57+
- Press `F5` to open a new Extension Development Host window.
58+
59+
---
60+
61+
## 3. Coding Standards
62+
63+
- **TypeScript Only:** All source code must be written in TypeScript.
64+
- **Component Placement:** Each module/component must be placed in its relevant directory.
65+
- **Commenting:**
66+
- Every file should begin with a brief comment describing its purpose.
67+
- All functions, classes, and significant code blocks must have descriptive comments explaining their logic and usage.
68+
- **Naming:** Use clear, descriptive, and consistent names for files, variables, and functions.
69+
- **Imports:** Prefer absolute imports based on the project root for clarity.
70+
- **Formatting:** Follow Prettier and ESLint rules for formatting and linting.
71+
72+
---
73+
74+
## 4. Documentation
75+
76+
- **README.md:**
77+
- Overview, features, installation, usage, and contribution guidelines.
78+
- **docs/basic_instructions.md:**
79+
- This file, providing setup and contribution basics.
80+
- **docs/API.md:**
81+
- Detailed API documentation for extension commands, settings, and message passing.
82+
- **docs/architecture.md:**
83+
- High-level and low-level architectural diagrams and explanations.
84+
- **CHANGELOG.md:**
85+
- Every release must be documented with version, date, and changes.
86+
- **VERSION:**
87+
- A single line with the current release version (e.g., `0.1.0-beta`).
88+
89+
---
90+
91+
## 5. Extension Accessibility & Usage
92+
93+
- The extension must be discoverable via the VS Code command palette as "ProjectAtlas: Open".
94+
- All features (Markdown/Mermaid/YAML/JSON/symbol graphs) should be accessible from the main UI.
95+
- No feature should require manual configuration beyond initial install.
96+
- The extension must work out of the box on Windows, macOS, and Linux.
97+
98+
---
99+
100+
## 6. Contribution Guidelines
101+
102+
- Fork the repository and create a feature branch for your changes.
103+
- Write clear, well-commented code.
104+
- Update documentation and changelog for every user-facing or internal change.
105+
- Ensure all tests pass before submitting a pull request.
106+
- Reviewers will check for code clarity, documentation, and adherence to the project structure.
107+
108+
---
109+
110+
## 7. Versioning
111+
112+
- Follow [Semantic Versioning](https://semver.org/).
113+
- The initial release is `0.1.0-beta`, as recorded in the VERSION file and CHANGELOG.md.
114+
115+
---
116+
117+
## 8. Changelog Example (CHANGELOG.md)
118+
119+
```
120+
## [0.1.0-beta] - 2025-08-13
121+
### Added
122+
- Initial beta release of ProjectAtlas
123+
- Live preview for Markdown, Mermaid, YAML/JSON workflows
124+
- Directory and dependency graph visualisation
125+
- Symbol and call-graph extraction for TypeScript/JavaScript
126+
- Extensible architecture for future language support
127+
```
128+
129+
---
130+
131+
## 9. Best Practices
132+
133+
- Keep the root directory clean—no stray files or scripts.
134+
- Place all assets, tests, and docs in their respective folders.
135+
- Use meaningful commit messages.
136+
- Maintain up-to-date documentation and changelog.
137+
- Prioritize code readability and maintainability.
138+
139+
---
140+
141+
By following these instructions, you will help ensure that ProjectAtlas remains a robust, accessible, and well-maintained open-source project.

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,8 @@ Thumbs.db
2525
# Misc
2626
*.log
2727

28-
# Temp release notes file (not for commit/package)
28+
# Temp files (not for commit/package)
2929
temp.md
30+
IMPLEMENTATION_SUMMARY.md
31+
PACKAGE_UPDATE_SUMMARY.md
32+
CHANGELOG_UPDATE_SUMMARY.md

.markdownlint.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"default": true,
3+
"MD013": {
4+
"line_length": 120,
5+
"tables": false,
6+
"headings": false,
7+
"code_blocks": false
8+
},
9+
"MD033": false,
10+
"MD041": false,
11+
"MD010": false,
12+
"MD009": false
13+
}

.prettierignore

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Build outputs
2+
dist/
3+
out/
4+
coverage/
5+
6+
# Dependencies
7+
node_modules/
8+
9+
# Generated files
10+
*.min.js
11+
*.min.css
12+
13+
# Package files
14+
packages/
15+
16+
# Logs
17+
*.log
18+
19+
# VS Code generated files
20+
.vscode/settings.json
21+
22+
# Temporary files
23+
temp.md

.prettierrc.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"semi": true,
3+
"trailingComma": "es5",
4+
"singleQuote": true,
5+
"printWidth": 80,
6+
"tabWidth": 2,
7+
"useTabs": false,
8+
"bracketSpacing": true,
9+
"arrowParens": "always",
10+
"endOfLine": "lf",
11+
"overrides": [
12+
{
13+
"files": "*.md",
14+
"options": {
15+
"printWidth": 100,
16+
"proseWrap": "always"
17+
}
18+
}
19+
]
20+
}

.vscode/extensions.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"recommendations": [
3+
"ms-vscode.vscode-typescript-next",
4+
"dbaeumer.vscode-eslint",
5+
"esbenp.prettier-vscode",
6+
"bradlc.vscode-tailwindcss",
7+
"ms-vscode.vscode-json",
8+
"davidanson.vscode-markdownlint",
9+
"streetsidesoftware.code-spell-checker",
10+
"ms-vscode.test-adapter-converter",
11+
"hbenl.vscode-mocha-test-adapter",
12+
"ms-vscode.vscode-js-debug",
13+
"ms-vscode.vscode-typescript-tslint-plugin"
14+
]
15+
}

.vscode/launch.json

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"name": "Run Extension",
6+
"type": "extensionHost",
7+
"request": "launch",
8+
"args": [
9+
"--extensionDevelopmentPath=${workspaceFolder}"
10+
],
11+
"outFiles": [
12+
"${workspaceFolder}/dist/**/*.js"
13+
],
14+
"preLaunchTask": "npm: build"
15+
},
16+
{
17+
"name": "Extension Tests",
18+
"type": "extensionHost",
19+
"request": "launch",
20+
"args": [
21+
"--extensionDevelopmentPath=${workspaceFolder}",
22+
"--extensionTestsPath=${workspaceFolder}/dist/tests"
23+
],
24+
"outFiles": [
25+
"${workspaceFolder}/dist/**/*.js"
26+
],
27+
"preLaunchTask": "npm: test"
28+
}
29+
]
30+
}

.vscode/settings.json

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,31 @@
22
"cSpell.words": [
33
"Mantej",
44
"projectatlas"
5-
]
5+
],
6+
"typescript.preferences.includePackageJsonAutoImports": "on",
7+
"typescript.suggest.autoImports": true,
8+
"typescript.preferences.includeAutoImports": "always",
9+
"editor.formatOnSave": true,
10+
"editor.codeActionsOnSave": {
11+
"source.fixAll.eslint": "explicit"
12+
},
13+
"eslint.validate": [
14+
"typescript",
15+
"typescriptreact"
16+
],
17+
"files.exclude": {
18+
"**/node_modules": true,
19+
"**/dist": true,
20+
"**/.git": true,
21+
"**/.DS_Store": true,
22+
"**/Thumbs.db": true
23+
},
24+
"search.exclude": {
25+
"**/node_modules": true,
26+
"**/dist": true,
27+
"**/*.log": true
28+
},
29+
"editor.rulers": [80, 120],
30+
"markdown.preview.breaks": true,
31+
"markdown.preview.linkify": true
632
}

0 commit comments

Comments
 (0)